# Generalized Impedance Surface
PO Module can only handle surface and [[Solid Objects|solid objects]]. No [[Curve Objects|curve objects ]] are allowed in the project workspace; or else, they will be ignored during the PO simulation. You can define several PEC, PMC or impedance surface groups with different colors and impedance values (for the last type). All the objects created and drawn under a group share the same color and other properties. A new surface group can be defined by simply right clicking on one of the three '''PEC''', '''PMC''' or '''Impedance Surface''' items in the '''Physical Structure''' section of the Navigation Tree and selecting '''Insert New PEC...''', '''Insert New PMC...''', or '''Insert New Impedance Surface...''' from the contextual menu. A dialog for setting up the group properties opens up. In this dialog you can change the name of the group or its color. In the case of a surface impedance group, you can set the values for the real and imaginary parts of the '''Surface Impedance''' in Ohms. 
[[File:PO18(1).png]] [[File:PO19.png]]
The objects that you draw in EM.Cube's project workspace always belong to the "Active" surface group. By default, the last object group that you created remains active until you change it. The current active group is always listed in bold letters in the Navigation Tree. Any surface group can be made active by right clicking on its name in the Navigation Tree and selecting the '''Activate''' item of the contextual menu. If you start a new PO Module project and draw any object without having previously defined a surface group, a default PEC group is automatically created and added to the Navigation Tree to hold your new object. 
You can move one or more selected objects to any material group. Right click on the highlighted selection and select '''Move To > Physical Optics >''' from the contextual menu. This opens another sub-menu with a list of all the available surface groups already defined in PO Module. Select the desired surface group, and all the selected objects will move to that group. The objects can be selected either in the project workspace, or their names can be selected from the Navigation Tree. In the latter case, make sure that you hold the keyboard's '''Shift Key''' or '''Ctrl Key''' down while selecting a material group's name from the contextual menu. You can also move one or more objects from a PO surface group to EM.Cube's other modules, or vice versa. In that case, the sub-menus of the '''Move To >''' item of the contextual menu will indicate all the EM.Cube modules that have valid groups for transfer of the selected objects. '''Note that in EM.Cube, you can import external CAD models (such as STEP, IGES, STL models, etc.) only to [[CubeCAD]]. From [[CubeCAD]], you can then move the imported objects to any other computational module including PO Module. '''
[[File:PO22(1).png|800px]]
"Show Mesh" generates a new mesh and displays it if there is none in the memory, or it simply displays an existing mesh in the memory. This is a useful feature because generating a PO mesh may take a long time depending on the complexity and size of objects. If you change the structure or alter the mesh settings, a new mesh is always generated. You can ignore the mesh in the memory and force EM.Cube to generate a mesh from the ground up by selecting '''Menu > Simulate > Discretization > Regenerate Mesh''' or by right clicking on the '''3-D Mesh''' item of the Navigation Tree and selecting '''Regenerate''' from the contextual menu.
To set the PO mesh properties, click on the [[File:mesh_settings.png]] button of the '''Simulate Toolbar''' or select '''Menu > Simulate > Discretization > Mesh Settings... '''or right click on the '''3-D Mesh''' item in the '''Discretization''' section of the Navigation Tree and select '''Mesh Settings...''' from the contextual menu, or use the keyboard shortcut '''Ctrl+G'''. You can change the value of '''Mesh Density''' to generate a triangular mesh with a higher or lower resolutions. PO Module offers two algorithms for triangular mesh generation. The default algorithm is '''Regular Surface Mesh''', which creates triangular elements that have almost equal edge lengths. The other algorithm is '''Structured Surface Mesh''', which usually creates a very structured mesh with a large number of aligned triangular elements. You can change the mesh generation algorithm from the dropdown list labeled '''Mesh Type'''. Another parameter that can affect the shape of the mesh especially in the case of [[Solid Objects|solid objects ]] is the '''Curvature Angle Tolerance''' expressed in degrees. This parameter determines the apex angle of the triangular cells of the structured mesh. Lower values of the angle tolerance will results in more pointed triangular cells.
[[File:PO23.png]]
=== More On Triangular Surface Mesh ===
The physical optics method assumes an unbounded, open-boundary computational domain, wherein the physical structure is placed against a free space background medium. As such, only finite-extent surfaces are discretized. EM.Cube's PO Module uses a triangular surface mesh to discretize all the surface and [[Solid Objects|solid objects ]] in the project workspace. As mentioned earlier, [[Curve Objects|curve objects ]] (or wires) are not allowed in PO Module. In the case of solids, only the surface of the object or its faces are discretized, as the interior volume is not taken into account in a PO analysis. In general, triangular cells are placed on the exterior surface of [[Solid Objects|solid objects]]. In contrast, [[Surface Objects|surface objects ]] are assumed to be double-sided by default. The means that the PO mesh of a surface object indeed consists of coinciding double cells, one representing the upper or positive side and the other representing the lower or negative side. This may lead to a very large number of cells. EM.Cube's PO mesh has some more settings that allow you to treat all mesh cells as double-sided or all single-sided. This can be done in the Mesh Settings dialog by checking the boxes labeled '''All Double-Sided Cells''' and '''All Single-Sided Cells'''. This is useful when your project workspace contains well-organized and well-oriented [[Surface Objects|surface objects ]] only. In the single-sided case, it is very important that all the normals to the cells point towards the source. Otherwise, the [[Surface Objects|surface objects ]] will be assumed to lie in the shadow region and no currents will be computed on them. By checking the box labeled '''Reverse Normal''', you instruct EM.Cube to reverse the direction of the normal vectors at the surface of all the cells.
[[File:PO24.png]]
Figure: Forcing mesh cells to be single-sided in a PO simulation.
'''As a general rule, EM.Cube's PO mesh generator merges all the objects that belong to the same surface group using the Boolean Union operation.''' As a result, overlapping objects are transformed into a single consolidated object. This is particularly important for generating a contiguous and consistent mesh in the transition and junction areas between connected objects. In general, objects of the same CAD category can be "unioned". For example, [[Surface Objects|surface objects ]] can be merged together, and so can [[Solid Objects|solid objects]]. However, a surface object and a solid in general do not merge. Objects that belong to different groups on the Navigation Tree are not merged during mesh generation even if they are all of PEC type and physically overlap.
[[File:PO25.png|400px]] [[File:PO26.png|400px]]
=== Importing Short Dipoles From MoM3D Module ===
The solution of a problem in one of EM.Cube's computational modules can serve as the excitation source for another problem in another computational module. An example of this is analyzing a wire antenna in the [[MoM3D Module]] and importing the wire current solution to PO Module to excite a large scatterer. Remember that you cannot define wires or [[Curve Objects|curve objects ]] in PO Module. However, you can have short dipole sources that act like differential wire elements carrying fixed currents. Using this concept, you can realize a complex wire antenna or radiator array as the source of your PO project.   
When you simulate a wire structure in the [[MoM3D Module]], you can define a '''Current Distribution Observable''' in your project. This is used not only to visualize the current distribution in the project workspace, but also to save the current solution into an ASCII data file. This data file is called "MoM.IDI" by default and has a '''.IDI''' file extension. The current data are saved as line segments representing each of the wire cells together with the complex-valued, vectorial current at the center of each cell. You can import the current data from an existing '''.IDI''' file to PO Module, To import a wire current solution, right click on '''Short Dipoles''' item in the '''Sources''' section of the Navigation Tree and select '''Import Dipole Source...''' from the contextual menu. This opens up the standard Windows Open dialog with the file type set to '''.IDI'''. Browse your folders to find the right current data file. Once you find it, select it and click the '''Open''' button of the dialog. This will create as many short dipole sources on the PO Module's Navigation Tree as the total number of mesh cells in the Wire MoM solution. From this point on, each of the imported dipoles behave like a regular short dipole source. You can open the property dialog of each individual source and modify its parameters, if necessary.
=== Radar Cross Section ===
 
[[File:PO47.png|thumb|300px|PO Module's RCS dialog]]
When the physical structure is excited by a plane wave source, the calculated far field data indeed represent the scattered fields. EM.Cube calculates the radar cross section (RCS) of a target, which is defined in the following manner:
At the end of a PO simulation, the thee RCS plots σ<sub>θ</sub>, σ<sub>φ</sub>, and σ<sub>tot</sub> are added under the far field section of the Navigation Tree. These plots are very similar to the three 3D radiation pattern plots. You can view them by clicking on their names in the navigation tree. The RCS values are expressed in m<sup>2</sup>. For visualization purposes, the 3D plots are normalized to the maximum RCS value, which is also displayed in the legend box. Keep in mind that computing the 3D mono-static RCS may take an enormous amount of computation time.
 
[[File:PO47.png]]
 
Figure: PO Module's RCS dialog.
[[File:PO48.png|800px]]