Difference between revisions of "EM.Libera"

From Emagtech Wiki
Jump to: navigation, search
(Excitation Sources)
(Mesh of Connected Objects)
 
(172 intermediate revisions by 2 users not shown)
Line 1: Line 1:
== An EM.Libera Primer ==
+
[[Image:Splash-mom.jpg|right|720px]]
 +
<strong><font color="#06569f" size="4">3D Wire MoM And Surface MoM Solvers For Simulating Free-Space Structures</font></strong>
 +
<table>
 +
<tr>
 +
<td>[[image:Cube-icon.png | link=Getting_Started_with_EM.Cube]] [[image:cad-ico.png | link=Building_Geometrical_Constructions_in_CubeCAD]] [[image:fdtd-ico.png | link=EM.Tempo]] [[image:prop-ico.png | link=EM.Terrano]]  [[image:static-ico.png | link=EM.Ferma]] [[image:planar-ico.png | link=EM.Picasso]] [[image:po-ico.png | link=EM.Illumina]]</td>
 +
<tr>
 +
</table>
 +
[[Image:Tutorial_icon.png|30px]] '''[[EM.Cube#EM.Libera_Documentation | EM.Libera Tutorial Gateway]]'''
 +
 
 +
[[Image:Back_icon.png|30px]] '''[[EM.Cube | Back to EM.Cube Main Page]]'''
 +
==Product Overview==
  
 
=== EM.Libera in a Nutshell ===
 
=== EM.Libera in a Nutshell ===
  
EM.Libera is a 3D electromagnetic simulator for modeling free-space metallic and dielectric structures. It features two full-wave Method of Moments (MoM) simulation engines, one based on a Wire MoM formulation and the other based on a Surface MoM formulation. In general, the surface MoM solver is used to simulate your physical structure, which can be made of metallic and dielectric objects of arbitrary shapes as well as composite structures that contain joined metal and dielectric regions. If your project workspace contains at least one line or curve object, EM.Libera then invokes its Wire MoM solver. In that case, only metallic structures can be modeled, and all the surface and solid PEC objects are meshed as wireframes.  
+
[[EM.Libera]] is a full-wave 3D electromagnetic simulator based on the Method of Moments (MoM) for frequency domain modeling of free-space structures made up of metal and dielectric regions or a combination of them. It features two separate simulation engines, a Surface MoM solver and a Wire MoM solver, that work independently and provide different types of solutions to your numerical problem. The Surface MoM solver utilizes a surface integration equation formulation of the metal and dielectric objects in your physical structure. The Wire MoM solver can only handle metallic wireframe structures. [[EM.Libera]] selects the simulation engine automatically based on the types of objects present in your project workspace.
  
{{Note|You can use EM.Libera either for modeling metallic wire objects and wireframe structures or for modeling metallic, dielectric ad composite structures that do not contain lines or curves.}}
+
[[EM.Libera]] offers two distinct 3D MoM simulation engines. The Wire MoM solver is based on Pocklington's integral equation. The Surface MoM solver uses a number of surface integral equation formulations of Maxwell's equations. In particular, it uses an electric field integral equation (EFIE), magnetic field integral equation (MFIE), or combined field integral equation (CFIE) for modeling PEC regions. On the other hand, the so-called Poggio-Miller-Chang-Harrington-Wu-Tsai (PMCHWT) technique is utilized for modeling dielectric regions. Equivalent electric and magnetic currents are assumed on the surface of the dielectric objects to formulate their assocaited interior and exterior boundary value problems.
  
=== An Overview of 3D Method Of Moments ===
+
{{Note|In general, [[EM.Libera]] uses the surface MoM solver to analyze your physical structure. If your project workspace contains at least one line or curve object, [[EM.Libera]] switches to the Wire MoM solver.}}
 +
 +
[[Image:Info_icon.png|30px]] Click here to learn more about the theory of the '''[[Basic Principles of The Method of Moments | 3D Method of Moments]]'''.
  
The Method of Moments (MoM) is a rigorous, full-wave, numerical technique for solving open boundary electromagnetic problems. Using this technique, you can analyze electromagnetic radiation, scattering and wave propagation problems with relatively short computation times and modest computing resources. The method of moments is an integral equation technique; it solves the integral form of Maxwell’s equations as opposed to their differential forms used in the finite element or finite difference time domain methods.
+
<table>
 
+
<tr>
In a 3D MoM simulation, the currents or fields on the surface of a structure are the unknowns of the problem. The given structure is immersed in the free space. The unknown currents or fields are discretized as a collection of elementary currents or fields with small finite spatial extents. Such elementary currents or fields are called basis functions. They obviously have a vectorial nature and must satisfy [[Maxwell's Equations|Maxwell's equations]] and relevant boundary conditions individually. The actual currents or fields on the surface of the given structure (the solution of the problem) are expressed as a superposition of these elementary currents or fields with initially unknown amplitudes. Through the MoM solution, you find these unknown amplitudes, from which you can then calculate the currents or fields everywhere in the structure.
+
<td>
 
+
[[Image:Yagi Pattern.png|thumb|500px|3D far-field radiation pattern of the expanded Yagi-Uda antenna array with 13 directors.]]  
EM.Libera offers two distinct 3D MoM simulation engines. The first one is a Wire MoM solver, which is based on Pocklington's integral equation. This solver can be used to simulate wireframe models of metallic structures and is particularly useful for modeling wire-type antennas and arrays. The second engine features a powerful Surface MoM solver. It can model metallic surfaces and solids as well as solid dielectric objects. The Surface MoM solver uses a surface integral equation formulation of [[Maxwell's Equations|Maxwell's equations]]. In particular, it uses an electric field integral equation (EFIE), magnetic field integral equation (MFIE), or combined field integral equation (CFIE) for modeling PEC regions. For modeling dielectric regions of the physical structure , the so-called Poggio-Miller-Chang-Harrington-Wu-Tsai (PMCHWT) technique is utilized, in which equivalent electric and magnetic currents are assumed on the surface of the dielectric object to formulate the interior and exterior boundary value problems.
+
</td>
 
+
</tr>
[[Image:MORE.png|40px]] Click here to learn more about the theory of '''[[3D Method of Moments]]'''.
+
</table>
 
+
== Constructing the Physical Structure ==
+
 
+
===  Defining Groups Of PEC Objects ===
+
  
[[Image:wire_pic1.png|thumb|350px|EM.Libera's Navigation Tree.]]   
+
=== EM.Libera as the MoM3D Module of EM.Cube ===
EM.Libera features two different simulation engines: Wire MoM and Surface MoM. Both simulation engines can handle metallic structures. The Wire MoM engine models metallic objects as perfect electric conductor (PEC) wireframe structures, while the Surface MoM engine treats them as PEC surfaces. The PEC objects can be lines, curves, surfaces or solids. All the PEC objects are created under the '''PEC''' node in the '''Physical Structure''' section of the Navigation Tree. Objects are grouped together by their color. You can insert different PEC groups with different colors. A new PEC group can be defined by simply right clicking on the '''PEC''' item in the Navigation Tree and selecting '''Insert New PEC...''' from the contextual menu. A dialog for setting up the PEC properties opens up. From this dialog you can change the name of the group or its color. In EM.Libera, PEC objects have an additional property, which is '''Wire Radius''' expressed in project units. This parameter is used in conjunction with Pocklington's integral equation for wire objects only. The line and [[Curve Objects|curve objects]] you draw in the project workspace are not displayed as cylinders with the specified radius.
+
  
===  Defining Dielectric Objects ===
+
You can use [[EM.Libera]] either for simulating arbitrary 3D metallic, dielectric and composite surfaces and volumetric structures or for modeling wire objects and metallic wireframe structures. [[EM.Libera]] also serves as the frequency-domain, full-wave '''MoM3D Module''' of '''[[EM.Cube]]''', a comprehensive, integrated, modular electromagnetic modeling environment. [[EM.Libera]] shares the visual interface, 3D parametric CAD modeler, data visualization tools, and many more utilities and features collectively known as [[Building Geometrical Constructions in CubeCAD | CubeCAD]] with all of [[EM.Cube]]'s other computational modules.
  
Of EM.Libera's two simulation engines, only the Surface MoM solver can handle dielectric objects. Dielectric objects are created under the '''Dielectric''' node in the '''Physical Structure''' section of the Navigation Tree. They are grouped together by their color and material properties. You can insert different dielectric groups with different colors and different permittivity e<sub>r</sub> and electric conductivity s. Note that a PEC object is the limiting cases of a lossy dielectric material when &sigma; &rarr; &infin;.
+
[[Image:Info_icon.png|30px]] Click here to learn more about '''[[Getting_Started_with_EM.Cube | EM.Cube Modeling Environment]]'''.
  
To define a new Dielectric group, follow these steps:
+
=== Advantages & Limitations of EM.Libera's Surface MoM & Wire MoM Solvers ===
  
* Right click on the '''Dielectric''' item of the Navigation Tree and select '''Insert New Dielectric...''' from the contextual menu.
+
The method of moments uses an open-boundary formulation of Maxwell's equations which does not require a discretization of the entire computational domain, but only the finite-sized objects within it. As a result, [[EM.Libera]]'s typical mesh size is typically much smaller that that of a finite-domain technique like [[EM.Tempo]]'s FDTD. In addition, [[EM.Libera]]'s triangular surface mesh provides a more accurate representation of your physical structure than [[EM.Tempo]]'s staircase brick volume mesh, which often requires a fairly high mesh density to capture the geometric details of curved surfaces. These can be  serious advantages when deciding on which solver to use for analyzing highly resonant structures. In that respect, [[EM.Libera]] and [[EM.Picasso]] are similar as both utilize MoM solvers and surface mesh generators. Whereas [[EM.Picasso]] is optimized for modeling multilayer planar structures, [[EM.Libera]] can handle arbitrarily complex 3D structures with high geometrical fidelity.  
* Specify a '''Label''', '''Color''' (and optional Texture) and the electromagnetic properties of the dielectric material to be created: '''Relative Permittivity''' (e<sub>r</sub>) and '''Electric Conductivity''' (s).
+
* You may also choose from a list of preloaded material types. Click the button labeled '''Material''' to open [[EM.Cube]]'s Materials dialog. Select the desired material from the list or type the first letter of a material to find it. For example, typing '''V''' selects '''Vacuum''' in the list. Once you close the dialog by clicking '''OK''', the selected material properties fill the parameter fields automatically.
+
* Click the '''OK''' button of the dielectric material dialog to accept the changes and close it.
+
  
{{Note|Under dielectric material groups, you cannot draw [[Surface Objects|surface objects]] or [[Curve Objects|[[Curve Objects|[[Curve Objects|[[Curve Objects|[[Curve Objects|[[Curve Objects|[[Curve Objects|[[Curve Objects|[[Curve Objects|[[Curve Objects|[[Curve Objects|[[Curve Objects|[[Curve Objects|[[Curve Objects|[[Curve Objects|[[Curve Objects|[[Curve Objects|[[Curve Objects|[[Curve Objects|[[Curve Objects|[[Curve Objects|[[Curve Objects|[[Curve Objects|[[Curve Objects|[[Curve Objects|[[Curve Objects|[[Curve Objects|[[Curve Objects|curve objects]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]].}}
+
[[EM.Libera]]'s Wire MoM solver can be used to simulate thin wires and wireframe structures very fast and accurately. This is particularly useful for modeling wire-type antennas and arrays. One of the current limitations of [[EM.Libera]], however, is its inability to mix wire structures with dielectric objects. If your physical structure contains one ore more wire objects, then all the PEC surface and solid CAD objects of the project workspace are reduced to wireframe models in order to perform a Wire MoM simulation. Also note that Surface MoM simulation of composite structures containing conjoined metal and dielectric parts may take long computation times due to the slow convergence of the iterative linear solver for such types of numerical problems. Since [[EM.Libera]] uses a surface integral equation formulation of dielectric objects, it can only handle homogeneous dielectric regions. For structures that involve multiple interconnected dielectric and metal regions such as planar circuits, it is highly recommended that you use either [[EM.Tempo]] or [[EM.Picasso]] instead.
  
 
<table>
 
<table>
 
<tr>
 
<tr>
<td> [[Image:wire_pic2.png|thumb|350px|EM.Libera's PEC dialog.]] </td>
+
<td>
<td> [[Image:wire_pic3.png|thumb|350px|EM.Libera's Dielectric dialog.]] </td>
+
[[Image:Hemi current.png|thumb|500px|The computed surface current distribution on a metallic dome structure excited by a plane wave source.]]  
 +
</td>
 
</tr>
 
</tr>
 
</table>
 
</table>
  
===  Moving Objects Between Groups &amp; Modules ===  
+
== EM.Libera Features at a Glance ==
  
By default, the last object group that was defined n the navigation tree is active. The current active group is always listed in bold letters in the navigation tree. All the new objects are inserted under the current active group. A group can be activated by right-clicking on its entry in the navigation tree and then selecting the '''Active''' item of the contextual menu. You can move one or more selected objects to any desired PEC group. Right click on the highlighted selection and select '''Move To > MoM3D >''' from the contextual menu. This opens another sub-menu with a list of all the available PEC groups already defined in the [[PO Module]]. Select the desired PEC 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 PEC group's name from the contextual menu. In a similar way, you can move one or more objects from a Physical Optics PEC group to [[EM.Cube|EM.CUBE]]'s other modules. In this case, the sub-[[menus]] of the''' Move To >''' item of the contextual menu will indicate all the [[EM.Cube|EM.CUBE]] modules that have valid groups for transfer of the select objects.
+
=== Physical Structure Definition ===
  
== 3D Mesh Generation ==
+
<ul>
 +
<li>
 +
Metal wires and curves in free space</li>
 +
<li>
 +
Metal surfaces and solids in free space</li>
 +
<li>
 +
Homogeneous dielectric solid objects in free space</li>
 +
<li>
 +
Import STL CAD files as native polymesh structures</li>
 +
<li>
 +
Export wireframe structures as STL CAD files</li>
 +
</ul>
  
=== A Note on EM.Libera's Mesh Types ===
+
=== Sources, Loads &amp; Ports ===
  
EM.Libera features two simulation engines, Wire MoM and Surface MoM, which require different mesh types. The Wire MoM simulator handles only wire objects and wireframe structures. These objects are discretized as elementary linear elements (filaments). A wire is simply subdivided into smaller segments according to a mesh density criterion. Curved wires are first converted to multi-segment polylines and then subdivided further if necessary. At the connection points between two or more wires, junction basis functions are generated to ensure current continuity.       
+
<ul>
 +
<li>
 +
Gap sources on wires (for Wire MoM) and gap sources on long, narrow, metal strips (for Surface MoM)</li>
 +
<li>
 +
Gap arrays with amplitude distribution and phase progression</li>
 +
<li>
 +
Multi-port port definition for gap sources</li>
 +
<li>
 +
Short dipole sources</li>
 +
<li>
 +
Import previously generated wire mesh solution as collection of short dipoles</li>
 +
<li>
 +
RLC lumped elements on wires and narrow strips with series-parallel combinations</li>
 +
<li>
 +
Plane wave excitation with linear and circular polarizations</li>
 +
<li>
 +
Multi-Ray excitation capability (ray data imported from [[EM.Terrano]] or external files)</li>
 +
<li>
 +
Huygens sources imported from FDTD or other modules with arbitrary rotation and array configuration</li>
 +
</ul>
  
On the other hands, EM.Libera's Surface MoM solver requires a triangular surface mesh of surface and [[Solid Objects|solid objects]].The mesh generating algorithm tries to generate regularized triangular cells with almost equal surface areas across the entire structure. You can control the cell size using the "Mesh Density" parameter. By default, the mesh density is expressed in terms of the free-space wavelength. The default mesh density is 10 cells per wavelength. For meshing surfaces, a mesh density of 7 cells per wavelength roughly translates to 100 triangular cells per squared wavelength. Alternatively, you can base the definition of the mesh density on "Cell Edge Length" expressed in project units.
+
=== Mesh Generation ===
  
===  Creating &amp; Viewing the Mesh ===
+
<ul>
 +
<li>
 +
Polygonized mesh of curves and wireframe mesh of surfaces and solids for Wire MoM simulation</li>
 +
<li>
 +
User defined wire radius</li>
 +
<li>
 +
Connection of wires/lines to wireframe surfaces and solids using polymesh objects</li>
 +
<li>
 +
Surface triangular mesh of surfaces and solids for Surface MoM simulation</li>
 +
<li>
 +
Local mesh editing of polymesh objects</li>
 +
</ul>
  
The mesh generation process in EM.Libera involves three steps:
+
=== 3D Wire MoM &amp; Surface MoM Simulations ===
  
# Setting the mesh properties.
+
<ul>
# Generating the mesh.
+
<li>
# Verifying the mesh.
+
3D Pocklington integral equation formulation of wire structures</li>
 +
<li>
 +
3D electric field integral equation (EFIE), magnetic field integral equation (MFIE) and combined field integral equation (CFIE) formulation of PEC structures</li>
 +
<li>
 +
PMCHWT formulation of homogeneous dielectric objects</li>
 +
<li>
 +
AIM acceleration of Surface MoM solver</li>
 +
<li>
 +
Uniform and fast adaptive frequency sweep</li>
 +
<li>
 +
Parametric sweep with variable object properties or source parameters</li>
 +
<li>
 +
Multi-variable and multi-goal optimization of scene</li>
 +
<li>
 +
Fully parallelized Surface MoM solver using MPI</li>
 +
<li>
 +
Both Windows and Linux versions of Wire MoM simulation engine available</li>
 +
</ul>
  
The objects of your physical structure are meshed based on a specified mesh density expressed in cells/&lambda;<sub>0</sub>. The default mesh density is 10 cells/&lambda;<sub>0</sub>. To view the PO mesh, click on the [[File:mesh_tool_tn.png]] button of the '''Simulate Toolbar''' or select '''Menu > Simulate > Discretization > Show Mesh''' or use the keyboard shortcut '''Ctrl+M'''. When the PO mesh is displayed in the project workspace, [[EM.Cube]]'s mesh view mode is enabled. In this mode, you can perform view operations like rotate view, pan, zoom, etc. However, you cannot select or move or edit objects. While the mesh view is enabled, the '''Show Mesh''' [[File:mesh_tool.png]] button remains depressed. To get back to the normal view or select mode, click this button one more time, or deselect '''Menu &gt; Simulate &gt; Discretization &gt; Show Mesh''' to remove its check mark or simply click the '''Esc Key''' of the keyboard.
+
=== Data Generation &amp; Visualization ===
  
&quot;Show Mesh&quot; 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.
+
<ul>
 +
<li>
 +
Wireframe and electric and magnetic current distributions</li>
 +
<li>
 +
Near Field intensity plots (vectorial - amplitude &amp; phase)</li>
 +
<li>
 +
Huygens surface data generation for use in MoM3D or other [[EM.Cube]] modules</li>
 +
<li>
 +
Far field radiation patterns: 3D pattern visualization and 2D Cartesian and polar graphs</li>
 +
<li>
 +
Far field characteristics such as directivity, beam width, axial ratio, side lobe levels and null parameters, etc.</li>
 +
<li>
 +
Radiation pattern of an arbitrary array configuraition of the wire structure</li>
 +
<li>
 +
Bi-static and mono-static radar cross section: 3D visualization and 2D graphs</li>
 +
<li>
 +
Port characteristics: S/Y/Z parameters, VSWR and Smith chart</li>
 +
<li>
 +
Touchstone-style S parameter text files for direct export to RF.Spice or its Device Editor</li>
 +
<li>
 +
Custom output parameters defined as mathematical expressions of standard outputs</li>
 +
</ul>
  
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. Some additional mesh [[parameters]] can be access by clicking the {{key|Tessellation Options}} button of the dialog. In the Tessellation Options dialog, you can change '''Curvature Angle Tolerance''' expressed in degrees, which as a default value of 15&deg;. This parameter can affect the shape of the mesh especially in the case of [[Solid Objects|[[Solid Objects|[[Solid Objects|[[Solid Objects|[[Solid Objects|[[Solid Objects|[[Solid Objects|[[Solid Objects|[[Solid Objects|[[Solid Objects|[[Solid Objects|[[Solid Objects|[[Solid Objects|[[Solid Objects|[[Solid Objects|[[Solid Objects|[[Solid Objects|[[Solid Objects|[[Solid Objects|[[Solid Objects|[[Solid Objects|[[Solid Objects|[[Solid Objects|[[Solid Objects|[[Solid Objects|[[Solid Objects|solid objects]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]. It determines the apex angle of the triangular cells of the primary tessellation mesh which is generated initially before cell regularization. Lower values of the angle tolerance result in a less smooth and more pointed mesh of curved surface like a sphere.
+
== Building the Physical Structure in EM.Libera ==
+
<table>
+
<tr>
+
<td> [[Image:PO2.png|thumb|450px|Two ellipsoids of different (PEC and dielectric) compositions.]] </td>
+
<td> [[Image:PO3.png|thumb|450px|Trinagular surface mesh of the two ellipsoids.]] </td>
+
</tr>
+
</table>
+
  
=== Mesh of Connected Objects ===  
+
All the objects in your project workspace are organized into object groups based on their material composition and geometry type in the "Physical Structure" section of the navigation tree. In [[EM.Libera]], you can create three different types of objects:
 +
 
 +
{| class="wikitable"
 +
|-
 +
! scope="col"| Icon
 +
! scope="col"| Material Type
 +
! scope="col"| Applications
 +
! scope="col"| Geometric Object Types Allowed
 +
! scope="col"| Restrictions
 +
|-
 +
| style="width:30px;" | [[File:pec_group_icon.png]]
 +
| style="width:150px;" | [[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types#Perfect Electric Conductor (PEC) |Perfect Electric Conductor (PEC)]]
 +
| style="width:300px;" | Modeling perfect metals
 +
| style="width:250px;" | Solid, surface and curve objects
 +
| None
 +
|-
 +
| style="width:30px;" | [[File:thin_group_icon.png]]
 +
| style="width:150px;" | [[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types#Thin Wire |Thin Wire]]
 +
| style="width:300px;" | Modeling wire radiators
 +
| style="width:250px;" | Curve objects
 +
| Wire MoM solver only
 +
|-
 +
| style="width:30px;" | [[File:diel_group_icon.png]]
 +
| style="width:150px;" | [[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types#Dielectric Material |Dielectric Material]]
 +
| style="width:300px;" | Modeling any homogeneous material
 +
| style="width:250px;" | Solid objects
 +
| Surface MoM solver only
 +
|-
 +
| style="width:30px;" | [[File:Virt_group_icon.png]]
 +
| style="width:150px;" | [[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types#Virtual_Object_Group | Virtual Object]]
 +
| style="width:300px;" | Used for representing non-physical items 
 +
| style="width:250px;" | All types of objects
 +
| None
 +
|}
  
[[Image:MOM3.png|thumb|320px|EM.Libera's Mesh Hierarchy dialog.]]
+
Click on each category to learn more details about it in the [[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types]].
All the objects belonging to the same PEC or dielectric group are merged together using the Boolean union operation before meshing. If your structure contains attached, interconnected or overlapping [[Solid Objects|solid objects]], their internal common faces are removed and only the surface of the external faces is meshed. Similarly, all the [[Surface Objects|surface objects]] belonging to the same PEC group are merged together and their internal edges are removed before meshing. Note that a solid and a surface object belonging to the same PEC group might not always be merged properly.  
+
  
When two objects belonging to two different material groups overlap or intersect each other, EM.Libera has to determine how to designate the overlap or common volume or surface. As an example, the figure below shows a dielectric cylinder sitting on top of a PEC plate. The two object share a circular area at the base of the cylinder. Are the cells on this circle metallic or do they belong to the dielectric material group? Note that the cells of the junction are displayed in a different color then those of either groups. To address problems of this kind, EM.Libera does provide a "Material Hierarchy" table, which you can modify. To access this table, select '''Menu > Simulate < discretization < Mesh Hierarchy...'''. The PEC groups by default have the highest priority and reside at the top of the table. You can select an group from the table and change its hierarch using the {{key|Move Up}} or {{key|Move Down}} buttons of the dialog. You can also change the color of junction cells that belong to each group.     
+
Both of [[EM.Libera]]'s two simulation engines, Wire MoM and Surface MoM, can handle metallic structures. You define wires under '''Thin Wire''' groups and surface and volumetric metal objects under '''PEC Objects'''. In other words, you can draw lines, polylines and other curve objects as thin wires, which have a radius parameters expressed in project units. All types of solid and surface CAD objects can be drawn in a PEC group. Only solid CAD objects can be drawn under '''Dielectric Objects'''.     
  
 
<table>
 
<table>
 
<tr>
 
<tr>
<td> [[Image:MOM1.png|thumb|450px|A dielectric cylinder attached to a PEC plate.]] </td>
+
<td>
<td> [[Image:MOM2.png|thumb|450px|The surface mesh of the dielectric cylinder and PEC plate.]] </td>
+
[[Image:wire_pic1.png|thumb|350px|EM.Libera's Navigation Tree.]]
 +
</td>
 
</tr>
 
</tr>
 
</table>
 
</table>
  
=== Using Polymesh Objects to Connect Wires to Wireframe Surfaces ===
+
Once a new object group node has been created on the navigation tree, it becomes the "Active" group of the project workspace, which is always listed in bold letters. When you draw a new CAD object such as a Box or a Sphere, it is inserted under the currently active group. There is only one object group that is active at any time. Any object type can be made active by right clicking on its name in the navigation tree and selecting the '''Activate''' item of the contextual menu. It is recommended that you first create object groups, and then draw new CAD objects under the active object group. However, if you start a new [[EM.Libera]] project from scratch, and start drawing a new object without having previously defined any object groups, a new default PEC object group is created and added to the navigation tree to hold your new CAD object.
  
If the project workspace contains a line object, the wireframe mesh generator is used to discretize your physical structure. From the point of view of this mesh generator, all PEC [[Surface Objects|surface objects]] and PEC [[Solid Objects|solid objects]] are treated as wireframe objects. If you want to model a wire radiator connected to a metal surface, you have to make sure that the resulting wireframe mesh of the surface has a node exactly at the location where you want to connect your wire. This is not guaranteed automatically. However, you can use [[EM.Cube]]'s polymesh objects to accomplish this objective.  
+
[[Image:Info_icon.png|30px]] Click here to learn more about '''[[Building Geometrical Constructions in CubeCAD#Transferring Objects Among Different Groups or Modules | Moving Objects among Different Groups]]'''.
  
{{Note|In [[EM.Cube]], polymesh objects are regards as already-meshed objects and are not re-meshed again during a simulation.}}  
+
{{Note|In [[EM.Cube]], you can import external CAD models (such as STEP, IGES, STL models, etc.) only to [[Building_Geometrical_Constructions_in_CubeCAD | CubeCAD]]. From [[Building_Geometrical_Constructions_in_CubeCAD | CubeCAD]], you can then move the imported objects to [[EM.Libera]].}}
  
You can convert any surface object or solid object to a polymesh using [[CubeCAD]]'s '''Polymesh Tool'''. 
+
== EM.Libera's Excitation Sources ==
  
[[Image:MORE.png|40px]] Click here to learn more about '''[[Discretizing_Objects#Converting_Objects_to_Polymesh | Converting Object to Polymesh]]''' in [[EM.Cube]].
+
Your 3D physical structure must be excited by some sort of signal source that induces electric linear currents on thin wires, electric surface currents on metal surface and both electric magnetic surface currents on the surface of dielectric objects. The excitation source you choose depends on the observables you seek in your project. [[EM.Libera]] provides the following source types for exciting your physical structure:
  
Once an object is converted to a polymesh, you can place your wire at any of its nodes. In that case, EM.Libera's Wire MoM engine will sense the coincident nodes between line segments and will create a junction basis function to ensure current continuity.  
+
{| class="wikitable"
 +
|-
 +
! scope="col"| Icon
 +
! scope="col"| Source Type
 +
! scope="col"| Applications
 +
! scope="col"| Restrictions
 +
|-
 +
| style="width:30px;" | [[File:gap_src_icon.png]]
 +
| [[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types#Strip Gap Circuit Source |Strip Gap Circuit Source]]
 +
| style="width:300px;" | General-purpose point voltage source
 +
| style="width:300px;" | Associated with a PEC rectangle strip, works only with SMOM solver
 +
|-
 +
| style="width:30px;" | [[File:gap_src_icon.png]]
 +
| [[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types#Wire Gap Circuit Source |Wire Gap Circuit Source]]
 +
| style="width:300px;" | General-purpose point voltage source
 +
| style="width:300px;" | Associated with an PEC or thin wire line or polyline, works only with WMOM solver
 +
|-
 +
| style="width:30px;" | [[File:hertz_src_icon.png]]
 +
| [[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types#Hertzian Short Dipole Source |Hertzian Short Dipole Source]]
 +
| style="width:300px;" | Almost omni-directional physical radiator
 +
| style="width:300px;" | None, stand-alone source
 +
|-
 +
| style="width:30px;" | [[File:plane_wave_icon.png]]
 +
| [[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types#Plane Wave |Plane Wave Source]]
 +
| style="width:300px;" | Used for modeling scattering
 +
| style="width:300px;" | None, stand-alone source
 +
|-
 +
| style="width:30px;" | [[File:huyg_src_icon.png]]
 +
| [[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types#Huygens Source |Huygens Source]]
 +
| style="width:300px;" | Used for modeling equivalent sources imported from other [[EM.Cube]] modules
 +
| style="width:300px;" | Imported from a Huygens surface data file
 +
|}
  
<table>
+
Click on each category to learn more details about it in the [[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types]].
<tr>
+
<td> [[Image:MOM4.png|thumb|450px|Geometry of a monopole wire connected to a PEC plate.]] </td>
+
<td> [[Image:MOM5.png|thumb|450px|Placing the wire on the polymesh version of the PEC plate.]] </td>
+
</tr>
+
</table>
+
  
== Excitation Sources ==
+
For antennas and planar circuits, where you typically define one or more ports, you usually use lumped sources. [[EM.Libera]] provides two types of lumped sources: strip gap and wire gap. A Gap is an infinitesimally narrow discontinuity that is placed on the path of the current and is used to define an ideal voltage source. Wire gap sources must be placed on '''Thin Wire Line''' and '''Thin Polyline''' objects to provide excitation for the Wire MoM solver. The gap splits the wire into two lines with a an infinitesimally small spacing between them, across which the ideal voltage source is connected.
 +
Strip gap sources must be placed on long, narrow, '''PEC Rectangle Strip''' objects to provide excitation for the Surface MoM solver. The gap splits the strip into two strips with a an infinitesimally small spacing between them, across which the ideal voltage source is connected. Only narrow rectangle strip object that have a single mesh cell across their width can be used to host a gap source. 
  
===  Gaps Sources on PEC Wires and Strips ===
+
{{Note|If you want to excite a curved wire antenna such as a circular loop or helix with a wire gap source, first you have to convert the curve object into a polyline using [[CubeCAD]]'s Polygonize Tool.}}
  
A Gap is an infinitesimally narrow discontinuity that is placed on the path of the current. In EM.Libera, a gap is used to define an excitation source in the form of an ideal voltage source. Gap sources can be placed on PEC '''Line''' and '''Polyline''' objects to provide excitation for the Wire MoM solver. The gap splits the wire into two lines with a an infinitesimally small spacing between them, across which the ideal voltage source is connected.
+
A short dipole provides another simple way of exciting a 3D structure in [[EM.Libera]]. A short dipole source acts like an infinitesimally small ideal current source. You can also use an incident plane wave to excite your physical structure in [[EM.Libera]]. In particular, you need a plane wave source to compute the radar cross section of a target. The direction of incidence is defined by the &theta; and &phi; angles of the unit propagation vector in the spherical coordinate system. The default values of the incidence angles are &theta; = 180° and &phi; = 0° corresponding to a normally incident plane wave propagating along the -Z direction with a +X-polarized E-vector. Huygens sources are virtual equivalent sources that capture the radiated electric and magnetic fields from another structure that was previously analyzed in another [[EM.Cube]] computational module.  
 
+
{{Note|If you want to excite a curved wire antenna such as a circular loop or helix with a gap source, first you have to convert the curve object into a polyline using [[CubeCAD]]'s Polygonize Tool.}}
+
 
+
Gap sources can also be placed on long, narrow, PEC '''Rectangle Strip''' objects to provide excitation for the Surface MoM solver. The gap splits the strip into two strips with a an infinitesimally small spacing between them, across which the ideal voltage source is connected. Only narrow rectangle strip object that have a single mesh cell across their width can be used to host a gap source.
+
+
To define a new gap source, follow these steps:
+
  
* Right click on the '''Gap Sources''' item in the '''Sources''' section of the Navigation Tree and select '''Insert New Source...''' from the contextual menu. The Gap Source Dialog opens up.
+
[[Image:Info_icon.png|40px]] Click here to learn more about '''[[Preparing_Physical_Structures_for_Electromagnetic_Simulation#Modeling_Finite-Sized_Source_Arrays | Using Source Arrays in Antenna Arrays]]'''.
* In the '''Source Location''' section of the dialog, you will find a list of all the line and polyline objects in the Project Workspace. Select the desired line or polyline object. A gap symbol is immediately placed on the selected object.
+
* The box labeled '''Direction''' shows the polarity of the voltage source placed on the selected object. You have the option to select either the positive or negative direction for the source. This parameter is obviously relevant only for lumped elements of active type.
+
* In the case of a gap on a line object, in the box labeled '''Offset''', enter the distance of the source from the start point of the line. This value by default is initially set to the center of the line object.
+
* In the case of a gap on a polyline object, first choose the '''Side''' of the polyline where you want to place the source. Then, in the box labeled '''Offset''', enter the distance of the source from the start point of that side. By default, a gap source is placed at the center of the first side of the polyline object. You can also change the offset value using the spin buttons. If you keep pushing the spin buttons, the gap source moves from one side to the next, and its side index and offset value are adjusted automatically.
+
* In the '''Source Properties''' section, you can specify the '''Source Amplitude''' in Volts and the '''Phase''' in Degrees.
+
  
 
<table>
 
<table>
 
<tr>
 
<tr>
<td> [[Image:MOM6.png|thumb|360px|EM.Libera's Wire Gap Source dialog.]] </td>
+
<td> [[Image:wire_pic14_tn.png|thumb|left|640px|A wire gap source placed on one side of a polyline representing a polygonized circular loop.]] </td>
<td> [[Image:MOM6B.png|thumb|360px|EM.Libera's Strip Gap Source dialog.]] </td>
+
 
</tr>
 
</tr>
 
<tr>
 
<tr>
 
</table>
 
</table>
  
[[File:wire_pic14_tn.png]]
+
<table>
 
+
<tr>
A gap source placed on one side of a polyline representing a polygonized circular loop.
+
<td> [[Image:po_phys16_tn.png|thumb|left|420px|Illuminating a metallic sphere with an obliquely incident plane wave source.]] </td>
 
+
</tr>
[[Image:MORE.png|40px]] Click here to learn more about '''[[Using Sources & Loads in Antenna Arrays]]'''.
+
</table>
  
 
===  Modeling Lumped Circuits ===  
 
===  Modeling Lumped Circuits ===  
  
In EM.Libera, you can define simple lumped elements in a similar manner as gap sources. In fact, a lumped element is equivalent to an infinitesimally narrow gap that is placed in the path of the current, across which Ohm's law is enforced as a boundary condition. You can define passive RLC lumped elements or active lumped elements containing a voltage gap source. The latter case can be used to excite a wire structure or metallic strip and model a non-ideal voltage source with an internal resistance. EM.Libera's lumped circuit represent a series-parallel combination of resistor, inductor and capacitor elements. This is shown in the figure below:
+
In [[EM.Libera]], you can define simple lumped elements in a similar manner as gap sources. In fact, a lumped element is equivalent to an infinitesimally narrow gap that is placed in the path of the current, across which Ohm's law is enforced as a boundary condition. You can define passive RLC lumped elements or active lumped elements containing a voltage gap source. The latter case can be used to excite a wire structure or metallic strip and model a non-ideal voltage source with an internal resistance. [[EM.Libera]]'s lumped circuit represent a series-parallel combination of resistor, inductor and capacitor elements. This is shown in the figure below:
  
[[File:image106.png]]
+
[[Image:Info_icon.png|40px]] Click here to learn more about '''[[Preparing_Physical_Structures_for_Electromagnetic_Simulation#Modeling_Lumped_Elements_in_the_MoM_Solvers | Defining Lumped Elements]]'''.
  
[[File:wire_pic16_tn.png|thumb|200px|Active lumped element with a voltage gap in series with an RC circuit placed on a dipole wire]]
+
[[Image:Info_icon.png|40px]] Click here for a general discussion of '''[[Preparing_Physical_Structures_for_Electromagnetic_Simulation#A_Review_of_Linear_.26_Nonlinear_Passive_.26_Active_Devices | Linear Passive Devices]]'''.
  
To define a new lumped element, follow these steps:
+
===  Defining Ports ===
  
* Right click on the '''Lumped Elements''' item in the '''Sources''' section of the Navigation Tree and select '''Insert New Source...''' from the contextual menu. The Lumped Element Dialog opens up.
+
Ports are used to order and index gap sources for S parameter calculation. They are defined in the '''Observables''' section of the navigation tree. By default, as many ports as the total number of sources are created. You can define any number of ports equal to or less than the total number of sources. All port impedances are 50&Omega; by default.
* In the '''Lumped Circuit Type''' select one of the two options: '''Passive RLC''' or '''Active with Gap Source'''. Choosing the latter option enables the '''Source Properties''' section of the dialog.
+
 
* In the '''Source Location''' section of the dialog, you will find a list of all the line and polyline objects in the Project Workspace. Select the desired line or polyline object. A lumped element symbol is immediately placed on the selected object.
+
[[Image:Info_icon.png|40px]] Click here to learn more about the '''[[Glossary_of_EM.Cube%27s_Simulation_Observables_%26_Graph_Types#Port_Definition_Observable | Port Definition Observable]]'''.
* The box labeled '''Direction''' shows the polarity of the voltage source placed on the selected object. You have the option to select either the positive or negative direction for the source.
+
* In the case of a gap on a line object, in the box labeled '''Offset''', enter the distance of the source from the start point of the line. This value by default is initially set to the center of the line object.
+
* In the case of a gap on a polyline object, first choose the '''Side''' of the polyline where you want to place the source. Then, in the box labeled '''Offset''', enter the distance of the source from the start point of that side. By default, a gap source is placed at the center of the first side of the polyline object. You can also change the offset value using the spin buttons. If you keep pushing the spin buttons, the gap source moves from one side to the next, and its side index and offset value are adjusted automatically.
+
* In the '''Load Properties''' section, the series and shunt resistance values Rs and Rp are specified in Ohms, the series and shunt inductance values Ls and Lp are specified in nH (nanohenry), and the series and shunt capacitance values Cs and Cp are specified in pF (picofarad). The impedance of the circuit is calculated at the operating frequency of the project. Only the elements that have been checked are taken into account. By default, only the series resistor has a value of 50&Sigma; and all other circuit elements are initially grayed out.
+
* If the lumped element is active and contains a gap source, the '''Source Properties''' section of the dialog becomes enabled. Here you can specify the '''Source Amplitude''' in Volts (or in Amperes in the case of PMC traces) and the '''Phase''' in degrees.
+
* If the workspace contains an array of line or polyline objects, the array object will be listed as an eligible object for gap source placement. A lumped element will be placed on each element of the array. All the lumped elements will have identical direction, offset, resistance, inductance and capacitance values. If you define an active lumped element, you can prescribe certain amplitude and/or phase distribution to the gap sources. The available amplitude distributions include '''Uniform''', '''Binomial''' and '''Chebyshev'''. In the last case, you need to set a value for minimum side lobe level ('''SLL''') in dB. You can also define '''Phase Progression''' in degrees along all three principal axes.
+
  
 
<table>
 
<table>
 
<tr>
 
<tr>
<td> [[Image:MOM6A.png|thumb|480px|EM.Libera's Wire Lumped Element dialog.]] </td>
+
<td> [[Image:MOM7A.png|thumb|360px|Two metallic strips hosting a gap source and a lumped element.]] </td>
<td> [[Image:MOM6C.png|thumb|480px|EM.Libera's Strip Lumped Element dialog.]] </td>
+
<td> [[Image:MOM7B.png|thumb|360px|The surface mesh of the two strips with a gap source and a lumped element.]] </td>
 
</tr>
 
</tr>
 
</table>
 
</table>
  
[[Image:port-definition.png|thumb|450px|EM.Libera's Port Definition dialog.]]
+
== EM.Libera's Simulation Data & Observables ==
  
=== Defining Ports ===  
+
At the end of a 3D MoM simulation, [[EM.Libera]] generates a number of output data files that contain all the computed simulation data. The primary solution of the Wire MoM simulation engine consists of the linear electric currents on the wires and wireframe structures. The primary solution of the Surface MoM simulation engine consists of the electric and magnetic surface currents on the PEC and dielectric objects. [[EM.Libera]] currently offers the following types of observables:
 +
 +
{| class="wikitable"
 +
|-
 +
! scope="col"| Icon
 +
! scope="col"| Simulation Data Type
 +
! scope="col"| Observable Type
 +
! scope="col"| Applications
 +
! scope="col"| Restrictions
 +
|-
 +
| style="width:30px;" | [[File:currdistr_icon.png]]
 +
| style="width:150px;" | Current Distribution Maps
 +
| style="width:150px;" | [[Glossary of EM.Cube's Simulation Observables & Graph Types#Current Distribution |Current Distribution]]
 +
| style="width:300px;" | Computing electric surface current distribution on metal and dielectric objects, magnetic surface current distribution on dielectric objects and linear current distribution on wires
 +
| style="width:250px;" | None
 +
|-
 +
| style="width:30px;" | [[File:fieldsensor_icon.png]]
 +
| style="width:150px;" | Near-Field Distribution Maps
 +
| style="width:150px;" | [[Glossary of EM.Cube's Simulation Observables & Graph Types#Near-Field Sensor |Near-Field Sensor]]
 +
| style="width:300px;" | Computing electric and magnetic field components on a specified plane in the frequency domain
 +
| style="width:250px;" | None
 +
|-
 +
| style="width:30px;" | [[File:farfield_icon.png]]
 +
| style="width:150px;" | Far-Field Radiation Characteristics
 +
| style="width:150px;" | [[Glossary of EM.Cube's Simulation Observables & Graph Types#Far-Field Radiation Pattern |Far-Field Radiation Pattern]]
 +
| style="width:300px;" | Computing the radiation pattern and additional radiation characteristics such as directivity, axial ratio, side lobe levels, etc.
 +
| style="width:250px;" | None
 +
|-
 +
| style="width:30px;" | [[File:rcs_icon.png]]
 +
| style="width:150px;" | Far-Field Scattering Characteristics
 +
| style="width:150px;" | [[Glossary of EM.Cube's Simulation Observables & Graph Types#Radar Cross Section (RCS) |Radar Cross Section (RCS)]]
 +
| style="width:300px;" | Computing the bistatic and monostatic RCS of a target
 +
| style="width:250px;" | Requires a plane wave source
 +
|-
 +
| style="width:30px;" | [[File:port_icon.png]]
 +
| style="width:150px;" | Port Characteristics
 +
| style="width:150px;" | [[Glossary of EM.Cube's Simulation Observables & Graph Types#Port Definition |Port Definition]]
 +
| style="width:300px;" | Computing the S/Y/Z parameters and voltage standing wave ratio (VSWR)
 +
| style="width:250px;" | Requires one of these source types: lumped, distributed, microstrip, CPW, coaxial or waveguide port
 +
|-
 +
| style="width:30px;" | [[File:huyg_surf_icon.png]]
 +
| style="width:150px;" | Equivalent electric and magnetic surface current data
 +
| style="width:150px;" | [[Glossary of EM.Cube's Simulation Observables & Graph Types#Huygens Surface |Huygens Surface]]
 +
| style="width:300px;" | Collecting tangential field data on a box to be used later as a Huygens source in other [[EM.Cube]] modules
 +
| style="width:250px;" | None
 +
|}
  
Ports are used to order and index gap sources for S parameter calculation. They are defined in the '''Observables''' section of the Navigation Tree. Right click on the '''Port Definition''' item of the Navigation Tree and select '''Insert New Port Definition...''' from the contextual menu. The Port Definition Dialog opens up, showing the total number of existing sources in the workspace. By default, as many ports as the total number of sources are created. You can define any number of ports equal to or less than the total number of sources. This includes both gap sources and active lumped elements (which contain gap sources). In the '''Port Association''' section of this dialog, you can go over each one of the sources and associate them with a desired port. Note that you can associate more than one source with same given port. In this case, you will have a coupled port. All the coupled sources are listed as associated with a single port. However, you cannot associate the same source with more than one port. Finally, you can assign '''Port Impedance''' in Ohms. By default, all port impedances are 50&Sigma;. The table titled '''Port Configuration''' lists all the ports and their associated sources and port impedances.
+
Click on each category to learn more details about it in the [[Glossary of EM.Cube's Simulation Observables & Graph Types]].
  
[[Image:MOM7.png|thumb|360px|EM.Libera's short dipole source dialog.]]
+
Depending on the types of objects present in your project workspace, [[EM.Libera]] performs either a Surface MoM simulation or a Wire MoM simulation. In the former case, the electric and magnetic surface current distributions on the surface of PEC and dielectric objects can be visualized. In the latter case, the linear electric currents on all the wires and wireframe objects can be plotted.   
  
===  Hertzian Dipole Sources ===
+
<table>
 +
<tr>
 +
<td> [[Image:wire_pic26_tn.png|thumb|360px|A monopole antenna connected above a PEC plate.]] </td>
 +
<td> [[Image:wire_pic27_tn.png|thumb|360px|Current distribution plot of the monopole antenna connected above the PEC plate.]] </td>
 +
</tr>
 +
</table>
  
A short dipole provides a simple way of exciting a structure in EM.Libera. A short dipole source acts like an infinitesimally small ideal current source. To define a short dipole source, follow these steps:
+
{{Note|Keep in mind that since [[EM.Libera]] uses MoM solvers, the calculated field value at the source point is infinite. As a result, the field sensors must be placed at adequate distances (at least one or few wavelengths) away from the scatterers to produce acceptable results.}}
  
* Right click on the '''Short Dipoles''' item in the '''Sources''' section of the Navigation Tree and select '''Insert New Source...''' from the contextual menu. The Short Dipole dialog opens up.
 
* In the '''Source Location''' section of the dialog, you can set the coordinate of the center of the short dipole. By default, the source is placed at the origin of the world coordinate system at (0,0,0).You can type in new coordinates or use the spin buttons to move the dipole around.
 
* In the '''Source Properties''' section, you can specify the '''Amplitude''' in Volts, the '''Phase''' in degrees as well as the '''Length''' of the dipole in project units.
 
* In the '''Direction Unit Vector''' section, you can specify the orientation of the short dipole by setting values for the components '''uX''', '''uY''', and '''uZ''' of the dipole's unit vector. The default values correspond to a vertical (Z-directed) short dipole. The dialog normalizes the vector components upon closure even if your component values do not satisfy a unit magnitude.
 
 
[[Image:MOM8.png|thumb|360px|EM.Libera's Plane Wave dialog.]]
 
===  Plane Wave Sources ===
 
 
The wire-frame structure in the [[MoM3D Module]] can be excited by an incident plane wave. In particular, a plane wave source can be used to compute the radar cross section of a metallic target. A plane wave is defined by its propagation vector indicating the direction of incidence and its polarization. [[EM.Cube|EM.CUBE]]'s [[MoM3D Module]] provides the following polarization options:
 
 
* TMz
 
* TEz
 
* Custom Linear
 
* LCPz
 
* RCPz
 
 
The direction of incidence is defined through the &theta; and &phi; angles of the unit propagation vector in the spherical coordinate system. The values of these angles are set in degrees in the boxes labeled '''Theta''' and '''Phi'''. The default values are &theta; = 180° and &phi; = 0° representing a normally incident plane wave propagating along the -Z direction with a +X-polarized E-vector. In the TM<sub>z</sub> and TE<sub>z</sub> polarization cases, the magnetic and electric fields are parallel to the XY plane, respectively. The components of the unit propagation vector and normalized E- and H-field vectors are displayed in the dialog. In the more general case of custom linear polarization, besides the incidence angles, you have to enter the components of the unit electric '''Field Vector'''. However, two requirements must be satisfied: '''ê . ê''' = 1 and '''ê × k''' = 0 . This can be enforced using the '''Validate''' button at the bottom of the dialog. If these conditions are not met, an error message is generated. The left-hand (LCP) and right-hand (RCP) circular polarization cases are restricted to normal incidences only (&theta; = 180°).
 
 
To define a plane wave source follow these steps:
 
 
* Right click on the '''Plane Waves''' item in the '''Sources''' section of the Navigation Tree and select '''Insert New Source...''' The Plane wave Dialog opens up.
 
* In the Field Definition section of the dialog, you can enter the '''Amplitude''' of the incident electric field in V/m and its '''Phase''' in degrees. The default field Amplitude is 1 V/m with a zero Phase.
 
* The direction of the Plane Wave is determined by the incident '''Theta''' and '''Phi''' angles in degrees. You can also set the '''Polarization''' of the plane wave and choose from the five options described earlier. When the '''Custom Linear''' option is selected, you also need to enter the X, Y, Z components of the '''E-Field Vector'''.
 
 
{{Note|In the spherical coordinate system, normal plane wave incidence from the top of the domain downward corresponds to &theta; of 180&deg;. }}
 
 
[[File:po_phys16_tn.png]]
 
 
Figure: Illuminating a metallic sphere with an obliquely incident plane wave source.
 
 
== Running 3D MoM Simulations ==
 
 
===  Running A Wire MoM Analysis ===
 
 
Once you have set up your structure in EM.Libera, have defined sources and observables and have examined the quality of the structure's mesh, you are ready to run a MoM simulation. To open the Run Simulation Dialog, click the '''Run''' [[File:run_icon.png]] button of the '''Simulate Toolbar''' or select '''Menu > Simulate > Run...''' or use the keyboard shortcut {{key|Ctrl+R}}. By default, the Surface MoM solver is selected as your simulation engine. If your project workspace contains at least one line or curve object, the Wire MoM solver is rather selected as your simulation engine. In either case, the engine type is set automatically. To start the simulation, click the {{key|Run}} button of this dialog. Once the 3D MoM simulation starts, a new dialog called '''Output Window''' opens up that reports the various stages of MoM simulation, displays the running time and shows the percentage of completion for certain tasks during the MoM simulation process. A prompt announces the completion of the MoM simulation.
 
 
You have the choice to run a '''Single-Frequency Analysis''' simulation, which is the default choice, or run a '''Frequency Sweep'''. In the former case, the simulation will be carried out at the '''Center Frequency''' of the project. This frequency can be changed from the Frequency Dialog of the project or you can click the Frequency Settings button of the Run Dialog to open up the Frequency Settings dialog. You can change the value of Center Frequency from this dialog, too.
 
 
In case you choose Frequency Sweep, the Frequency Settings dialog gives two options for '''Sweep Type: Adaptive''' or '''Uniform'''. In a uniform sweep, equally spaced samples of the frequency are used between the Start and End frequencies. These are initially set by the project Bandwidth, but you can change their values from the Frequency Settings dialog. The default '''Number of Samples''' is 10.In the case of adaptive sweep, you have to specify the '''Maximum Number of Iterations''' as well as the '''Error'''. An adaptive sweep simulation starts with a few initial frequency samples, where the Wire MoM engine is run. Then, the intermediary samples are calculated in a progressive manner. At each iteration, the frequency samples are used to calculate a rational approximation of the S parameter response over the specified frequency range. The process stops when the error criterion is met.
 
 
<table>
 
<table>
 
 
<tr>
 
<tr>
<td> [[Image:MOM9C.png|thumb|450px|EM.Libera's Simulation Run dialog showing Wire MoM engine as the solver.]] </td>
+
<td> [[Image:wire_pic32_tn.png|thumb|360px|Electric field plot of the circular loop antenna.]] </td>
<td> [[Image:MOM9A.png|thumb|450px|EM.Libera's Simulation Run dialog showing Surface MoM engine as the solver.]] </td>
+
<td> [[Image:wire_pic33_tn.png|thumb|360px|Magnetic field plot of the circular loop antenna.]] </td>
 
</tr>
 
</tr>
 
</table>
 
</table>
  
===  Setting MoM Numerical Parameters ===
+
You need to define a far field observable if you want to plot radiation patterns of your physical structure in [[EM.Libera]]. After a 3D MoM simulation is finished, three radiation patterns plots are added to the far field entry in the Navigation Tree. These are the far field component in Theta direction, the far field component in Phi direction and the total far field.
  
A Wire MoM simulation involves a number of numerical [[parameters]] that normally take default values unless you change them. You can access these [[parameters]] and change their values by clicking on the '''Settings''' button next to the &quot;Select Engine&quot; drop-down list in the '''Run Dialog'''. This opens up the Wire MoM Engine Settings Dialog. In the '''Solver''' section of the dialog, you can choose the type of linear solver. The current options are '''LU''' and '''Bi-Conjugate Gradient (BiCG)'''. The LU solver is a direct solver and is the default option of the [[MoM3D Module]]. The BiCG solver is iterative. Once selected, you have to set a '''Tolerance''' for its convergence. You can also change the maximum number of BiCG iterations by setting a new value for '''Max. No. of Solver Iterations / System Size'''. The Wire MoM simulator is based on Pocklington's integral equation method. In this method, the wires are assumed to have a very small radius. The basis functions are placed on the axis of the &quot;wire cylinder&quot;, while the Galerkin testing is carried out on its surface to avoid the singularity of the Green's functions. In the &quot;Source Singularity&quot; section of the dialog, you can specify the '''Wire Radius''' . [[EM.Cube|EM.CUBE]]'s [[MoM3D Module]] assumes an identical wire radius for all wires and wireframe structures. This radius is expressed in free space wavelengths and its default value is 0.001&lambda;<sub>0</sub>. The value of the wire radius has a direct influence on the wire's computed reactance.
+
[[Image:Info_icon.png|30px]] Click here to learn more about the theory of '''[[Defining_Project_Observables_%26_Visualizing_Output_Data#Using_Array_Factor_to_Model_Antenna_Arrays | Using Array Factors to Model Antenna Arrays ]]'''.
  
 
<table>
 
<table>
 
<tr>
 
<tr>
<td> [[Image:MOM9B.png|thumb|420px|EM.Libera's Wire MoM Engine Settings dialog.]] </td>
+
<td> [[Image:wire_pic38_tn.png|thumb|230px|The 3D radiation pattern of the circular loop antenna: Theta component.]] </td>
<td> [[Image:MOM9.png|thumb|480px|EM.Libera's Surface MoM Engine Settings dialog.]] </td>
+
<td> [[Image:wire_pic39_tn.png|thumb|230px|The 3D radiation pattern of the circular loop antenna: Phi component.]]  </td>
 +
<td> [[Image:wire_pic40_tn.png|thumb|230px|The total radiation pattern of the circular loop antenna.]] </td>
 
</tr>
 
</tr>
 
</table>
 
</table>
  
===  3D MoM Sweep Simulations ===
+
When the physical structure is excited by a plane wave source, the calculated far field data indeed represent the scattered fields. [[EM.Libera]] calculates the radar cross section (RCS) of a target. Three RCS quantities are computed: the &theta; and &phi; components of the radar cross section as well as the total radar cross section, which are dented by &sigma;<sub>&theta;</sub>, &sigma;<sub>&phi;</sub>, and &sigma;<sub>tot</sub>. In addition, [[EM.Libera]] calculates two types of RCS for each structure: '''Bi-Static RCS''' and '''Mono-Static RCS'''. In bi-static RCS, the structure is illuminated by a plane wave at incidence angles &theta;<sub>0</sub> and &phi;<sub>0</sub>, and the RCS is measured and plotted at all &theta; and &phi; angles. In mono-static RCS, the structure is illuminated by a plane wave at incidence angles &theta;<sub>0</sub> and &phi;<sub>0</sub>, and the RCS is measured and plotted at the echo angles 180°-&theta;<sub>0</sub>; and &phi;<sub>0</sub>. It is clear that in the case of mono-static RCS, the PO simulation engine runs an internal angular sweep, whereby the values of the plane wave incidence angles &theta; and &phi; are varied over the entire intervals [0°, 180°] and [0°, 360°], respectively, and the backscatter RCS is recorded.
  
You can run EM.Libera's MoM simulation engine in the sweep mode, whereby a parameter like frequency, plane wave angles of incidence or a user defined variable is varied over a specified range at predetermined samples. The output data are saved into data file for visualization and plotting. EM.Libera currently offers three types of sweep:
+
To calculate RCS, first you have to define an RCS observable instead of a radiation pattern. At the end of a PO simulation, the thee RCS plots &sigma;<sub>&theta;</sub>, &sigma;<sub>&phi;</sub>, and &sigma;<sub>tot</sub> are added under the far field section of the navigation tree.
  
# Frequency Sweep
+
{{Note| The 3D RCS plot is always displayed at the origin of the spherical coordinate system, (0,0,0), with respect to which the far radiation zone is defined. Oftentimes, this might not be the scattering center of your physical structure.}}
# Parametric Sweep
+
  
To run a MoM3D sweep, open the '''Run Simulation Dialog''' and select one of the above sweep types from the '''Simulation Mode''' drop-down list in this dialog. If you select either frequency or angular sweep, the '''Settings''' button located next to the simulation mode drop-down list becomes enabled. If you click this button, the Frequency Settings Dialog or Angle Settings Dialog opens up, respectively. In the frequency settings dialog, you can set the start and end frequencies as well as the number of frequency samples. The start and end frequency values are initially set based on the project's center frequency and bandwidth. During a frequency sweep, as the project's frequency changes, so does the wavelength. As a result, the mesh of the structure also changes at each frequency sample. The frequency settings dialog gives you three choices regarding the mesh of the project structure during a frequency sweep:
+
{{Note|Computing the 3D mono-static RCS may take an enormous amount of computation time.}}
  
# Fix mesh at the highest frequency.
+
<table>
# Fix mesh at the center frequency.
+
<tr>
# Re-mesh at each frequency.
+
<td> [[Image:wire_pic51_tn.png|thumb|230px|The RCS of a metal plate structure: &sigma;<sub>&theta;</sub>.]] </td>
 +
<td> [[Image:wire_pic52_tn.png|thumb|230px|The RCS of a metal plate structure: &sigma;<sub>&phi;</sub>.]]  </td>
 +
<td> [[Image:wire_pic53_tn.png|thumb|230px|The total RCS of a metal plate structure: &sigma;<sub>tot</sub>.]] </td>
 +
</tr>
 +
</table>
  
The [[MoM3D Module]] offers two types of frequency sweep: adaptive or uniform. In a uniform sweep, equally spaced frequency samples are generated between the start and end frequencies. In the case of an adaptive sweep, you must specify the '''Maximum Number of Iterations''' as well as the '''Error'''. An adaptive sweep simulation starts with a few initial frequency samples, where the Wire MoM engine is initially run. Then, the intermediary frequency samples are calculated and inserted in a progressive manner. At each iteration, the frequency samples are used to calculate a rational approximation of the scattering parameter response over the specified frequency range. The process stops when the specified error criterion is met in a mean-square sense. The adaptive sweep simulation results are always continuous and smooth. This is due to the fact that a rational function curve is fitted through the discrete frequency data points. This usually captures frequency response characteristics such as resonances with much fewer calculated data points. However, you have to make sure that the process converges. Otherwise, you might get an entirely wrong, but still perfectly smooth, curve at the end of the simulation.
+
== 3D Mesh Generation in EM.Libera ==
  
[[File:wire_pic22.png]]    [[File:wire_pic24.png]]
+
=== A Note on EM.Libera's Mesh Types ===
  
The [[MoM3D Module]]'s run simulation dialog with frequency sweep selected and the frequency settings dialog.
+
[[EM.Libera]] features two simulation engines, Wire MoM and Surface MoM, which require different mesh types. The Wire MoM simulator handles only wire objects and wireframe structures. These objects are discretized as elementary linear elements (filaments). A wire is simply subdivided into smaller segments according to a mesh density criterion. Curved wires are first converted to multi-segment polylines and then subdivided further if necessary. At the connection points between two or more wires, junction basis functions are generated to ensure current continuity.      
  
In a parametric sweep, one or more user defined [[variables]] are varied at the same time over their specified ranges. This creates a parametric space with the total number of samples equal to the product of the number of samples for each variable. The user defined [[variables]] are defined using [[EM.Cube|EM.CUBE]]'s '''[[Variables]] Dialog'''. For a description of [[EM.Cube|EM.CUBE]] [[variables]], please refer to the [[CubeCAD|CUBECAD]] manual or the &quot;Parametric Sweep&quot; sections of the FDTD or [[Planar Module]] manuals.
+
On the other hands, [[EM.Libera]]'s Surface MoM solver requires a triangular surface mesh of surface and solid objects.The mesh generating algorithm tries to generate regularized triangular cells with almost equal surface areas across the entire structure. You can control the cell size using the "Mesh Density" parameter. By default, the mesh density is expressed in terms of the free-space wavelength. The default mesh density is 10 cells per wavelength. For meshing surfaces, a mesh density of 7 cells per wavelength roughly translates to 100 triangular cells per squared wavelength. Alternatively, you can base the definition of the mesh density on "Cell Edge Length" expressed in project units.
  
== Working with 3D MoM Simulation Data ==
+
[[Image:Info_icon.png|30px]] Click here to learn more about '''[[Preparing_Physical_Structures_for_Electromagnetic_Simulation#Working_with_EM.Cube.27s_Mesh_Generators | Working with Mesh Generator]]'''.
  
At the end of a 3D MoM simualtion, EM.Libera generates a number of output data files that contain all the computed simulation data. The primary solution of the Wire MoM simulation engine consists of the linear electric currents on the wires and wireframe structures. The primary solution of the Surface MoM simulation engine consists of the electric and magnetic surface currents on the PEC and dielectric objects. EM.Libera currently offers the following types of observables:
+
[[Image:Info_icon.png|30px]] Click here to learn more about '''[[Preparing_Physical_Structures_for_Electromagnetic_Simulation#The_Triangular_Surface_Mesh_Generator | EM.Libera's Triangular Surface Mesh Generator ]]'''.
+
* '''Port Characteristics''': S, Z and Y [[Parameters]] and Voltage Standing Wave Ratio (VSWR)
+
* '''Radiation Characteristics''': Radiation Patterns, Directivity, Total Radiated Power, Axial Ratio, Main Beam Theta and Phi, Radiation Efficiency, Half Power Beam Width (HPBW), Maximum Side Lobe Level (SLL), First Null Level (FNL), Front-to-Back Ratio (FBR), etc.
+
* '''Scattering Characteristics''': Bi-static and Mono-static Radar Cross Section (RCS)
+
* '''Current Distributions''': Electric and magnetic surface current amplitude and phase on all metal and dielectric surfaces and electric current amplitude and phase on all wires 
+
* '''Near-Field Distributions''': Electric and magnetic field amplitude and phase on specified planes and their central axes
+
  
===  Scattering Parameters and Port Characteristics ===
+
<table>
 +
<tr>
 +
<td> [[Image:Mesh5.png|thumb|400px|EM.Libera's Mesh Settings dialog showing the parameters of the linear wireframe mesh generator.]] </td>
 +
</tr>
 +
</table>
  
If the project structure is excited by gap sources, and one or more ports have been defined, the Wire MoM engine calculates the scattering (S) [[parameters]] of the selected ports, all based on the port impedances specified in the project's &quot;Port Definition&quot;. If more than one port has been defined in the project, the scattering matrix of the multiport network is calculated. The S [[parameters]] are written into output ASCII data files. Since these data are complex, they are stored as '''.CPX''' files. Every file begins with a header starting with &quot;#&quot;. The admittance (Y) and impedance (Z) [[parameters]] are also calculated and saved in complex data files with '''.CPX''' file extensions. The voltage standing wave ratio of the structure at the first port is also computed and saved to a real data '''.DAT''' file.
+
=== The Linear Wireframe Mesh Generator ===
  
You can plot the port characteristics from the Navigation Tree. Right click on the '''Port Definition''' item in the '''Observables''' section of the Navigation Tree and select one of the items: '''Plot S [[Parameters]]''', '''Plot Y [[Parameters]]''', '''Plot Z [[Parameters]]''', or '''Plot VSWR'''.  
+
You can analyze metallic wire structures very accurately with utmost computational efficiency using [[EM.Libera]]'s Wire MoM simulator. When you structure contains at least one PEC line, polyline or any curve CAD object, [[EM.Libera]] will automatically invoke its linear wireframe mesh generator. This mesh generator subdivides straight lines and linear segments of polyline objects into or linear elements according to the specified mesh density. It also polygonizes rounded [[Curve Objects|curve objects]] into polylines with side lengths that are determined by the specified mesh density. Note that polygonizing operation is temporary and solely for he purpose of mesh generation. As for surface and solid CAD objects, a wireframe mesh of these objects is created which consists of a large number of interconnected linear (wire) elements.
  
[[Image:MORE.png|40px]] Click here to learn more about '''[[Data_Visualization_and_Processing#Graphing_Port_Characteristics | Graphing Port Characteristics]]'''.
+
{{Note| The linear wireframe mesh generator discretizes rounded curves temporarily using CubeCAD's Polygonize tool. It also discretizes surface and solid CAD objects temporarily using CubeCAD's Polymesh tool.}}
  
===  Visualizing Current Distributions ===
+
<table>
 +
<tr>
 +
<td> [[Image:Mesh6.png|thumb|200px|The geometry of an expanding helix with a circular ground.]] </td>
 +
<td> [[Image:Mesh7.png|thumb|200px|Wireframe mesh of the helix with the default mesh density of 10 cells/&lambda;<sub>0</sub>.]] </td>
 +
<td> [[Image:Mesh8.png|thumb|200px|Wireframe mesh of the helix with a mesh density of 25 cells/&lambda;<sub>0</sub>.]] </td>
 +
<td> [[Image:Mesh9.png|thumb|200px|Wireframe mesh of the helix with a mesh density of 50 cells/&lambda;<sub>0</sub>.]] </td>
 +
</tr>
 +
</table>
  
[[Image:MOM10.png|thumb|350px|EM.Libera's Current Distribution dialog.]]
+
===  Mesh of Connected Objects ===
  
At the end of a MoM3D simulation, [[EM.Cube|EM.CUBE]]'s Wire MoM engine generates a number of output data files that contain all the computed simulation data. The main output data are the current distributions and far fields. You can easily examine the 3-D color-coded intensity plots of current distributions in the Project Workspace. Current distributions are visualized on all the wires and the magnitude and phase of the electric currents are plotted for all the PEC objects. In order to view these currents, you must first define current sensors before running the Wire MoM simulation. To do this, right click on the '''Current Distributions''' item in the '''Observables''' section of the Navigation Tree and select '''Insert New Observable...'''. The Current Distribution Dialog opens up. Accept the default settings and close the dialog. A new current distribution node is added to the Navigation Tree. Unlike the [[Planar Module]], in the [[MoM3D Module]] you can define only one current distribution node in the Navigation Tree, which covers all the PEC object in the Project Workspace. After a Wire MoM simulation is completed, new plots are added under the current distribution node of the Navigation Tree. Separate plots are produced for the magnitude and phase of the linear wire currents. The magnitude maps are plotted on a normalized scale with the minimum and maximum values displayed in the legend box. The phase maps are plotted in radians between -&pi; and &pi;.
+
All the objects belonging to the same PEC or dielectric group are merged together using the Boolean union operation before meshing. If your structure contains attached, interconnected or overlapping solid objects, their internal common faces are removed and only the surface of the external faces is meshed. Similarly, all the surface objects belonging to the same PEC group are merged together and their internal edges are removed before meshing. Note that a solid and a surface object belonging to the same PEC group might not always be merged properly.  
  
[[Image:MORE.png|40px]] Click here to learn more about '''[[Data_Visualization_and_Processing#Visualizing_3D_Current_Distribution_Maps | Visualizing 3D Current Distribution Maps]]'''.
+
When two objects belonging to two different material groups overlap or intersect each other, [[EM.Libera]] has to determine how to designate the overlap or common volume or surface. As an example, the figure below shows a dielectric cylinder sitting on top of a PEC plate. The two object share a circular area at the base of the cylinder. Are the cells on this circle metallic or do they belong to the dielectric material group? Note that the cells of the junction are displayed in a different color then those of either groups. To address problems of this kind, [[EM.Libera]] does provide a "Material Hierarchy" table, which you can modify. To access this table, select '''Menu > Simulate > discretization > Mesh Hierarchy...'''. The PEC groups by default have the highest priority and reside at the top of the table. You can select an group from the table and change its hierarchy using the {{key|Move Up}} or {{key|Move Down}} buttons of the dialog. You can also change the color of junction cells that belong to each group.    
  
[[File:wire_pic26_tn.png|400px]] [[File:wire_pic27_tn.png|400px]]
+
<table>
 +
<tr>
 +
<td> [[Image:MOM3.png|thumb|300px|EM.Libera's Mesh Hierarchy dialog.]] </td>
 +
</tr>
 +
</table>
  
Figure: A monopole antenna connected above a PEC plate and its current distribution with the default plot settings.
+
<table>
 +
<tr>
 +
<td> [[Image:MOM1.png|thumb|360px|A dielectric cylinder attached to a PEC plate.]] </td>
 +
<td> [[Image:MOM2.png|thumb|360px|The surface mesh of the dielectric cylinder and PEC plate.]] </td>
 +
</tr>
 +
</table>
  
[[File:wire_pic28.png|360px]] [[File:wire_pic29_tn.png|440px]]
+
=== Using Polymesh Objects to Connect Wires to Wireframe Surfaces ===
  
Figure: The output plot settings dialog, and the current distribution of the monopole-plate structure with a user defined upper limit.
+
If the project workspace contains a line object, the wireframe mesh generator is used to discretize your physical structure. From the point of view of this mesh generator, all PEC surface objects and PEC solid objects are treated as wireframe objects. If you want to model a wire radiator connected to a metal surface, you have to make sure that the resulting wireframe mesh of the surface has a node exactly at the location where you want to connect your wire. This is not guaranteed automatically. However, you can use [[EM.Cube]]'s polymesh objects to accomplish this objective.  
  
===  Near Field Visualization ===
+
{{Note|In [[EM.Cube]], polymesh objects are regarded as already-meshed objects and are not re-meshed again during a simulation.}} 
  
[[Image:MOM11.png|thumb|350px|EM.Libera's Field Sensor dialog.]]
+
You can convert any surface object or solid object to a polymesh using CubeCAD's '''Polymesh Tool'''.
  
[[EM.Cube|EM.CUBE]] allows you to visualize the near fields at a specific field sensor plane. Calculation of near fields is a post-processing process and may take a considerable amount of time depending on the resolution that you specify. To define a new Field Sensor, follow these steps:
+
[[Image:Info_icon.png|30px]] Click here to learn more about '''[[Glossary_of_EM.Cube%27s_CAD_Tools#Polymesh_Tool | Converting Object to Polymesh]]''' in [[EM.Cube]].
  
* Right click on the '''Field Sensors''' item in the '''Observables''' section of the Navigation Tree and select '''Insert New Observable...'''
+
Once an object is converted to a polymesh, you can place your wire at any of its nodes. In that case, [[EM.Libera]]'s Wire MoM engine will sense the coincident nodes between line segments and will create a junction basis function to ensure current continuity.  
* The '''Label''' box allows you to change the sensor’s name. you can also change the color of the field sensor plane using the '''Color''' button.
+
* Set the '''Direction''' of the field sensor. This is specified by the normal vector of the sensor plane. The available options are '''X''', '''Y''' and '''Z''', with the last being the default option.
+
* By default [[EM.Cube|EM.CUBE]] creates a field sensor plane passing through the origin of coordinates (0,0,0) and coinciding with the XY plane. You can change the location of the sensor plane to any point by typing in new values for the X, Y and Z '''Center Coordinates'''. You can also changes these coordinates using the spin buttons. Keep in mind that you can move a sensor plane only along the specified direction of the sensor. Therefore, only one coordinate can effectively be changed. As you increment or decrement this coordinate, you can observe the sensor plane moving along that direction in the Project Workspace.
+
* The initial size of the sensor plane is 100 × 100 project units. You can change the dimensions of the sensor plane to any desired size. You can also set the '''Number of Samples''' along the different directions. These determine the resolution of near field calculations. Keep in mind that large numbers of samples may result in long computation times.
+
  
After closing the Field Sensor Dialog, the a new field sensor item immediately appears under the '''Observables''' section in the Navigation Tree and can be right clicked for additional editing. Once a Wire MoM simulation is finished, a total of 14 plots are added to every field sensor node in the Navigation Tree. These include the magnitude and phase of all three components of E and H fields and the total electric and magnetic field values. Click on any of these items and a color-coded intensity plot of it will be visualized on the Project Workspace. A legend box appears in the upper right corner of the field plot, which can be dragged around using the left mouse button. The values of the magnitude plots are normalized between 0 and 1. The legend box contains the minimum field value corresponding to 0 of the color map, maximum field value corresponding to 1 of the color map, and the unit of the field quantity, which is V/m for E-field and A/m for H-field. The values of phase plots are always shown in Radians between -&pi; and &pi;. You can change the view of the field plot with the available view operations such as rotating, panning, zooming, etc.
+
<table>
 +
<tr>
 +
<td> [[Image:MOM4.png|thumb|360px|Geometry of a monopole wire connected to a PEC plate.]] </td>
 +
<td> [[Image:MOM5.png|thumb|360px|Placing the wire on the polymesh version of the PEC plate.]] </td>
 +
</tr>
 +
</table>
  
[[Image:MORE.png|40px]] Click here to learn more about '''[[Data_Visualization_and_Processing#Visualizing_3D_Near-Field_Maps | Visualizing 3D Near Field Maps]]'''.
+
== Running 3D MoM Simulations in EM.Libera ==
  
[[File:wire_pic31_tn.png]]
+
=== EM.Libera's Simulation Modes ===
  
Figure: A circular loop antenna fed by a gap source.
+
Once you have set up your structure in [[EM.Libera]], have defined sources and observables and have examined the quality of the structure's mesh, you are ready to run a 3D MoM simulation. [[EM.Libera]] offers five simulation modes:
  
[[File:wire_pic32_tn.png|400px]] [[File:wire_pic33_tn.png|400px]]
+
{| class="wikitable"
 +
|-
 +
! scope="col"| Simulation Mode
 +
! scope="col"| Usage
 +
! scope="col"| Number of Engine Runs
 +
! scope="col"| Frequency
 +
! scope="col"| Restrictions
 +
|-
 +
| style="width:120px;" | [[#Running a Single-Frequency MoM Analysis| Single-Frequency Analysis]]
 +
| style="width:270px;" | Simulates the planar structure "As Is"
 +
| style="width:80px;" | Single run
 +
| style="width:250px;" | Runs at the center frequency fc
 +
| style="width:80px;" | None
 +
|-
 +
| style="width:120px;" | [[Parametric_Modeling_%26_Simulation_Modes_in_EM.Cube#Running_Frequency_Sweep_Simulations_in_EM.Cube | Frequency Sweep]]
 +
| style="width:270px;" | Varies the operating frequency of the surface MoM or wire MoM solvers 
 +
| style="width:80px;" | Multiple runs
 +
| style="width:250px;" | Runs at a specified set of frequency samples or adds more frequency samples in an adaptive way
 +
| style="width:80px;" | None
 +
|-
 +
| style="width:120px;" | [[Parametric_Modeling_%26_Simulation_Modes_in_EM.Cube#Running_Parametric_Sweep_Simulations_in_EM.Cube | Parametric Sweep]]
 +
| style="width:270px;" | Varies the value(s) of one or more project variables
 +
| style="width:80px;" | Multiple runs
 +
| style="width:250px;" | Runs at the center frequency fc
 +
| style="width:80px;" | None
 +
|-
 +
| style="width:120px;" | [[Parametric_Modeling_%26_Simulation_Modes_in_EM.Cube#Performing_Optimization_in_EM.Cube | Optimization]]
 +
| style="width:270px;" | Optimizes the value(s) of one or more project variables to achieve a design goal
 +
| style="width:80px;" | Multiple runs
 +
| style="width:250px;" | Runs at the center frequency fc
 +
| style="width:80px;" | None
 +
|-
 +
| style="width:120px;" | [[Parametric_Modeling_%26_Simulation_Modes_in_EM.Cube#Generating_Surrogate_Models | HDMR Sweep]]
 +
| style="width:270px;" | Varies the value(s) of one or more project variables to generate a compact model
 +
| style="width:80px;" | Multiple runs
 +
| style="width:250px;" | Runs at the center frequency fc
 +
| style="width:80px;" | None
 +
|}
  
Electric and magnetic field plots of the circular loop antenna.
+
You can set the simulation mode from [[EM.Libera]]'s "Simulation Run Dialog". A single-frequency analysis is a single-run simulation. All the other simulation modes in the above list are considered multi-run simulations. If you run a simulation without having defined any observables, no data will be generated at the end of the simulation. In multi-run simulation modes, certain parameters are varied and a collection of simulation data files are generated. At the end of a sweep simulation, you can graph the simulation results in EM.Grid or you can animate the 3D simulation data from the navigation tree.
  
=== Visualizing 3D Radiation Patterns ===
+
=== Running a Single-Frequency MoM Analysis ===  
  
[[Image:MOM12.png|thumb|380px|EM.Libera's Radiation Pattern dialog.]]
+
In a single-frequency analysis, the structure of your project workspace is meshed at the center frequency of the project and analyzed by one of [[EM.Libera]]'s two MoM solvers. If your project contains at least one line or curve object, the Wire MoM solver is automatically selected. Otherwise, the Surface MoM solver will always be used to simulate your numerical problem. In either case, the engine type is set automatically.  
  
Unlike the FDTD method, the method of moments does not need a far field box to perform near-to-far-field transformations. But you still need to define a far field observable if you want to plot radiation patterns in EM.Libera. A far field can be defined by right clicking on the '''Far Fields''' item in the '''Observables''' section of the Navigation Tree and selecting '''Insert New Radiation Pattern...''' from the contextual menu. The Radiation Pattern dialog opens up. You can accept most of the default settings in this dialog. The Output Settings section allows you to change the '''Angle Increment''' for both Theta and Phi observation angles in the degrees. These [[parameters]] indeed set the resolution of far field calculations. The default values are 5 degrees. After closing the radiation pattern dialog, a far field entry immediately appears with its given name under the '''Far Fields''' item of the Navigation Tree and can be right clicked for further editing. After a 3D MoM simulation is finished, three radiation patterns plots are added to the far field entry in the Navigation Tree. These are the far field component in Theta direction, the far field component in Phi direction and the total far field.  
+
To open the Run Simulation Dialog, click the '''Run''' [[File:run_icon.png]] button of the '''Simulate Toolbar''' or select '''Menu > Simulate > Run...''' or use the keyboard shortcut {{key|Ctrl+R}}. By default, the Surface MoM solver is selected as your simulation engine. To start the simulation, click the {{key|Run}} button of this dialog. Once the 3D MoM simulation starts, a new dialog called '''Output Window''' opens up that reports the various stages of MoM simulation, displays the running time and shows the percentage of completion for certain tasks during the MoM simulation process. A prompt announces the completion of the MoM simulation.  
  
[[Image:MORE.png|40px]] Click here to learn more about the theory of '''[[Computing_the_Far_Fields_%26_Radiation_Characteristics| Far Field Computations]]'''.
+
<table>
 +
<tr>
 +
<td> [[Image:Libera L1 Fig13.png|thumb|left|480px|EM.Libera's Simulation Run dialog showing Wire MoM engine as the solver.]] </td>
 +
</tr>
 +
<tr>
 +
<td> [[Image:MOM3D MAN10.png|thumb|left|480px|EM.Libera's Simulation Run dialog showing Surface MoM engine as the solver.]] </td>
 +
</tr>
 +
</table>
  
[[Image:MORE.png|40px]] Click here to learn more about the theory of '''[[Data_Visualization_and_Processing#Using_Array_Factors_to_Model_Antenna_Arrays | Using Array Factors to Model Antenna Arrays ]]'''.
+
===  Setting MoM Numerical Parameters ===
  
[[Image:MORE.png|40px]] Click here to learn more about '''[[Data_Visualization_and_Processing#Visualizing_3D_Radiation_Patterns | Visualizing 3D Radiation Patterns]]'''.
+
MoM simulations involve a number of numerical parameters that normally take default values unless you change them. You can access these parameters and change their values by clicking on the '''Settings''' button next to the &quot;Select Engine&quot; dropdown list in the '''Run Dialog'''. Depending on which MoM solver has been chosen for solving your problem, the corresponding Engine Settings dialog opens up.
  
[[Image:MORE.png|40px]] Click here to learn more about '''[[Data_Visualization_and_Processing#2D_Radiation_and_RCS_Graphs | Plotting 2D Radiation Graphs]]'''.
+
First we discuss the Wire MoM Engine Settings dialog. In the '''Solver''' section of this dialog, you can choose the type of '''Linear Solver'''. The current options are '''LU''' and '''Bi-Conjugate Gradient (BiCG)'''. The LU solver is a direct solver and is the default option of the Wire MoM solver. The BiCG solver is iterative. If BiCG is selected, you have to set a '''Tolerance''' for its convergence. You can also change the maximum number of BiCG iterations by setting a new value for '''Max. No. of Solver Iterations / System Size'''.  
  
 
<table>
 
<table>
 
<tr>
 
<tr>
<td> [[Image:wire_pic38_tn.png|thumb|280px|The 3D radiation pattern of the circular loop antenna: Theta component.]] </td>
+
<td>  
<td> [[Image:wire_pic39_tn.png|thumb|280px|The 3D radiation pattern of the circular loop antenna: Phi component.]] </td>
+
[[Image:MOM9B.png|thumb|left|480px|EM.Libera's Wire MoM Engine Settings dialog.]]  
<td> [[Image:wire_pic40_tn.png|thumb|280px|The total radiation pattern of the circular loop antenna.]] </td>
+
</td>
 
</tr>
 
</tr>
 
</table>
 
</table>
  
=== Computing Radar Cross Section ===
+
The Surface MoM Engine Settings dialog is bit more extensive and provides more options. In the "Integral Equation" section of the dialog, you can choose among the three PEC formulations: EFIE, MFIE and CFIE. The EFIE formulation is the default option. In the case of the CFIE formulation, you can set a value for the "Alpha" parameter, which determines the weights for the EFIE and MFIE terms of the combine field formulation. The default value of this parameter is &alpha; = 0.4. The Surface MoM solver provides two types of linear solver: iterative TFQMR and direct LU. The former is the default option and asks for additional parameters: '''Error Tolerance''' and '''Max. No. of Solver Iterations'''. When the system size is large, typically above 3000, [[EM.Libera]] uses an acceleration technique called the Adaptive Integral Method (AIM) to speed up the linear system inversion. You can set the "AIM Grid Spacing" parameter in wavelength, which has a default value of 0.05&lambda;<sub>0</sub>. [[EM.Libera]]'s Surface MoM solver has been highly parallelized using MPI framework. When you install [[EM.Cube]] on your computer, the installer program also installs the Windows MPI package on your computer. If you are using a multicore CPU, taking advantage of the MPI-parallelized solver can speed up your simulations significantly. In the "MPI Settings" of the dialog, you can set the "Number of CPU's Used", which has a default value of 4 cores.   
  
[[Image:MOM13.png|thumb|380px|EM.Libera's Radar Cross Section dialog.]]  
+
For both Wire MoM and Surface MoM solvers, you can instruct [[EM.Libera]] to write the contents of the MoM matrix and excitation and solutions vectors into data files with '''.DAT1''' file extensions. These files can be accessed from the '''Input/Output Files''' tab of the Data Manager. In both case, you have the option to uncheck the check box labeled "Superpose Incident plane Wave Fields". This option applies when your structure is excited by a plane wave source. When checked, the field sensors plot the total electric and magnetic field distributions including the incident field. Otherwise, only the scattered electric and magnetic field distributions are visualized.
 
+
When your structure is excited by a plane wave source, the calculated far field data indeed represent the scattered fields. EM.Libera can calculate the radar cross section (RCS) of a target. Three RCS quantities are computed: the &phi; and &theta; components of the radar cross section as well as the total radar cross section: &sigma;<sub>&theta;</sub>, &sigma;<sub>&phi;</sub>, and &sigma;<sub>tot</sub>. In addition, EM.Libera calculates two types of RCS for each structure: '''Bi-Static RCS''' and '''Mono-Static RCS'''. In bi-static RCS, the structure is illuminated by a plane wave at incidence angles &theta;<sub>0</sub> and &phi;<sub>0</sub> and the RCS is measured and plotted at all &theta; and &phi; angles. In mono-static RCS, the structure is illuminated by a plane wave at incidence angles &theta;<sub>0</sub> and &phi;<sub>0</sub> and the RCS is measured and plotted at the echo angles 180°-&theta;<sub>0</sub> and &phi;<sub>0</sub>.It is clear that in the case of mono-static RCS, the Wire MoM simulation engine runs an internal angular sweep, whereby the values of the plane wave incidence angles &theta;<sub>0</sub> and &phi;<sub>0</sub> are varied over the intervals [0°, 180°] and [0°, 360°], respectively, and the backscatter RCS is recorded.
+
 
+
To calculate RCS, first you have to define an RCS observable instead of a radiation pattern. Right click on the '''Far Fields''' item in the '''Observables''' section of the Navigation Tree and select '''Insert New RCS...''' to open the Radar Cross Section Dialog. Use the '''Label''' box to change the name of the far field or change the color of the far field box using the '''Color''' button. Select the type of RCS from the two radio buttons labeled '''Bi-Static RCS''' and '''Mono-Static RCS'''. The former is the default choice. The resolution of RCS calculation is specified by '''Angle Increment''' expressed in degrees. By default, the &theta; and &phi; angles are incremented by 5 degrees. At the end of a Wire MoM simulation, besides calculating the RCS data over the entire (spherical) 3-D space, a number of 2-D RCS graphs are also generated. These are RCS cuts at certain planes, which include the three principal XY, YZ and ZX planes plus one additional constant &phi;-cut. This latter cut is at &phi;=45° by default. You can assign another phi angle in degrees in the box labeled '''Non-Principal Phi Plane'''.
+
 
+
At the end of a Wire MoM simulation, the thee RCS plots &sigma;<sub>&theta;</sub>, &sigma;<sub>&phi;</sub>, and &sigma;<sub>tot</sub>are added under the far field section of the navigation tree. The 2D RCS graphs can be plotted from the data manager exactly in the same way that you plot 2D radiation pattern graphs. A total of eight 2D RCS graphs are available: 4 polar and 4 Cartesian graphs for the XY, YZ, ZX and user defined plane cuts. At the end of a sweep simulation, EM.Libera calculates some other quantities including the backscatter RCS (BRCS), forward-scatter RCS (FRCS) and the maximum RCS (MRCS) as functions of the sweep variable (frequency, angle, or any user defined variable). In this case, the RCS needs to be computed at a fixed pair of phi and theta angles. These angles are specified in degrees as '''User Defined Azimuth &amp; Elevation''' in the &quot;Output Settings&quot; section of the '''Radar Cross Section Dialog'''. The default values of the user defined azimuth and elevation are both zero corresponding to the zenith.
+
 
+
{{Note|Computing the 3D mono-static RCS may take an enormous amount of computation time.}}
+
 
+
[[Image:MORE.png|40px]] Click here to learn more about '''[[Data_Visualization_and_Processing#Visualizing_3D_RCS | Visualizing 3D RCS]]'''.
+
 
+
[[Image:MORE.png|40px]] Click here to learn more about '''[[Data_Visualization_and_Processing#2D_Radiation_and_RCS_Graphs | Plotting 2D RCS Graphs]]'''.
+
  
 
<table>
 
<table>
 
<tr>
 
<tr>
<td> [[Image:wire_pic51_tn.png|thumb|300px|The RCS of a metal plate structure: &sigma;<sub>&theta;</sub>.]] </td>
+
<td> [[Image:MOM9.png|thumb|left|640px|EM.Libera's Surface MoM Engine Settings dialog.]] </td>
<td> [[Image:wire_pic52_tn.png|thumb|300px|The RCS of a metal plate structure: &sigma;<sub>&phi;</sub>.]]  </td>
+
<td> [[Image:wire_pic53_tn.png|thumb|300px|The total RCS of a metal plate structure: &sigma;<sub>tot</sub>.]] </td>
+
 
</tr>
 
</tr>
 
</table>
 
</table>
  
<p>&nbsp;</p>
+
<br />
[[Image:BACK.png|40px]] '''[[EM.Cube | Back to EM.Cube Main Page]]'''
+
 
 +
<hr>
 +
 
 +
[[Image:Top_icon.png|30px]] '''[[EM.Libera#Product_Overview | Back to the Top of the Page]]'''
 +
 
 +
[[Image:Tutorial_icon.png|30px]] '''[[EM.Cube#EM.Libera_Documentation | EM.Libera Tutorial Gateway]]'''
 +
 
 +
[[Image:Back_icon.png|30px]] '''[[EM.Cube | Back to EM.Cube Main Page]]'''

Latest revision as of 21:16, 23 April 2021

Splash-mom.jpg

3D Wire MoM And Surface MoM Solvers For Simulating Free-Space Structures

Cube-icon.png Cad-ico.png Fdtd-ico.png Prop-ico.png Static-ico.png Planar-ico.png Po-ico.png

Tutorial icon.png EM.Libera Tutorial Gateway

Back icon.png Back to EM.Cube Main Page

Product Overview

EM.Libera in a Nutshell

EM.Libera is a full-wave 3D electromagnetic simulator based on the Method of Moments (MoM) for frequency domain modeling of free-space structures made up of metal and dielectric regions or a combination of them. It features two separate simulation engines, a Surface MoM solver and a Wire MoM solver, that work independently and provide different types of solutions to your numerical problem. The Surface MoM solver utilizes a surface integration equation formulation of the metal and dielectric objects in your physical structure. The Wire MoM solver can only handle metallic wireframe structures. EM.Libera selects the simulation engine automatically based on the types of objects present in your project workspace.

EM.Libera offers two distinct 3D MoM simulation engines. The Wire MoM solver is based on Pocklington's integral equation. The Surface MoM solver uses a number of surface integral equation formulations of Maxwell's equations. In particular, it uses an electric field integral equation (EFIE), magnetic field integral equation (MFIE), or combined field integral equation (CFIE) for modeling PEC regions. On the other hand, the so-called Poggio-Miller-Chang-Harrington-Wu-Tsai (PMCHWT) technique is utilized for modeling dielectric regions. Equivalent electric and magnetic currents are assumed on the surface of the dielectric objects to formulate their assocaited interior and exterior boundary value problems.

Attention icon.png In general, EM.Libera uses the surface MoM solver to analyze your physical structure. If your project workspace contains at least one line or curve object, EM.Libera switches to the Wire MoM solver.

Info icon.png Click here to learn more about the theory of the 3D Method of Moments.

3D far-field radiation pattern of the expanded Yagi-Uda antenna array with 13 directors.

EM.Libera as the MoM3D Module of EM.Cube

You can use EM.Libera either for simulating arbitrary 3D metallic, dielectric and composite surfaces and volumetric structures or for modeling wire objects and metallic wireframe structures. EM.Libera also serves as the frequency-domain, full-wave MoM3D Module of EM.Cube, a comprehensive, integrated, modular electromagnetic modeling environment. EM.Libera shares the visual interface, 3D parametric CAD modeler, data visualization tools, and many more utilities and features collectively known as CubeCAD with all of EM.Cube's other computational modules.

Info icon.png Click here to learn more about EM.Cube Modeling Environment.

Advantages & Limitations of EM.Libera's Surface MoM & Wire MoM Solvers

The method of moments uses an open-boundary formulation of Maxwell's equations which does not require a discretization of the entire computational domain, but only the finite-sized objects within it. As a result, EM.Libera's typical mesh size is typically much smaller that that of a finite-domain technique like EM.Tempo's FDTD. In addition, EM.Libera's triangular surface mesh provides a more accurate representation of your physical structure than EM.Tempo's staircase brick volume mesh, which often requires a fairly high mesh density to capture the geometric details of curved surfaces. These can be serious advantages when deciding on which solver to use for analyzing highly resonant structures. In that respect, EM.Libera and EM.Picasso are similar as both utilize MoM solvers and surface mesh generators. Whereas EM.Picasso is optimized for modeling multilayer planar structures, EM.Libera can handle arbitrarily complex 3D structures with high geometrical fidelity.

EM.Libera's Wire MoM solver can be used to simulate thin wires and wireframe structures very fast and accurately. This is particularly useful for modeling wire-type antennas and arrays. One of the current limitations of EM.Libera, however, is its inability to mix wire structures with dielectric objects. If your physical structure contains one ore more wire objects, then all the PEC surface and solid CAD objects of the project workspace are reduced to wireframe models in order to perform a Wire MoM simulation. Also note that Surface MoM simulation of composite structures containing conjoined metal and dielectric parts may take long computation times due to the slow convergence of the iterative linear solver for such types of numerical problems. Since EM.Libera uses a surface integral equation formulation of dielectric objects, it can only handle homogeneous dielectric regions. For structures that involve multiple interconnected dielectric and metal regions such as planar circuits, it is highly recommended that you use either EM.Tempo or EM.Picasso instead.

The computed surface current distribution on a metallic dome structure excited by a plane wave source.

EM.Libera Features at a Glance

Physical Structure Definition

  • Metal wires and curves in free space
  • Metal surfaces and solids in free space
  • Homogeneous dielectric solid objects in free space
  • Import STL CAD files as native polymesh structures
  • Export wireframe structures as STL CAD files

Sources, Loads & Ports

  • Gap sources on wires (for Wire MoM) and gap sources on long, narrow, metal strips (for Surface MoM)
  • Gap arrays with amplitude distribution and phase progression
  • Multi-port port definition for gap sources
  • Short dipole sources
  • Import previously generated wire mesh solution as collection of short dipoles
  • RLC lumped elements on wires and narrow strips with series-parallel combinations
  • Plane wave excitation with linear and circular polarizations
  • Multi-Ray excitation capability (ray data imported from EM.Terrano or external files)
  • Huygens sources imported from FDTD or other modules with arbitrary rotation and array configuration

Mesh Generation

  • Polygonized mesh of curves and wireframe mesh of surfaces and solids for Wire MoM simulation
  • User defined wire radius
  • Connection of wires/lines to wireframe surfaces and solids using polymesh objects
  • Surface triangular mesh of surfaces and solids for Surface MoM simulation
  • Local mesh editing of polymesh objects

3D Wire MoM & Surface MoM Simulations

  • 3D Pocklington integral equation formulation of wire structures
  • 3D electric field integral equation (EFIE), magnetic field integral equation (MFIE) and combined field integral equation (CFIE) formulation of PEC structures
  • PMCHWT formulation of homogeneous dielectric objects
  • AIM acceleration of Surface MoM solver
  • Uniform and fast adaptive frequency sweep
  • Parametric sweep with variable object properties or source parameters
  • Multi-variable and multi-goal optimization of scene
  • Fully parallelized Surface MoM solver using MPI
  • Both Windows and Linux versions of Wire MoM simulation engine available

Data Generation & Visualization

  • Wireframe and electric and magnetic current distributions
  • Near Field intensity plots (vectorial - amplitude & phase)
  • Huygens surface data generation for use in MoM3D or other EM.Cube modules
  • Far field radiation patterns: 3D pattern visualization and 2D Cartesian and polar graphs
  • Far field characteristics such as directivity, beam width, axial ratio, side lobe levels and null parameters, etc.
  • Radiation pattern of an arbitrary array configuraition of the wire structure
  • Bi-static and mono-static radar cross section: 3D visualization and 2D graphs
  • Port characteristics: S/Y/Z parameters, VSWR and Smith chart
  • Touchstone-style S parameter text files for direct export to RF.Spice or its Device Editor
  • Custom output parameters defined as mathematical expressions of standard outputs

Building the Physical Structure in EM.Libera

All the objects in your project workspace are organized into object groups based on their material composition and geometry type in the "Physical Structure" section of the navigation tree. In EM.Libera, you can create three different types of objects:

Icon Material Type Applications Geometric Object Types Allowed Restrictions
Pec group icon.png Perfect Electric Conductor (PEC) Modeling perfect metals Solid, surface and curve objects None
Thin group icon.png Thin Wire Modeling wire radiators Curve objects Wire MoM solver only
Diel group icon.png Dielectric Material Modeling any homogeneous material Solid objects Surface MoM solver only
Virt group icon.png Virtual Object Used for representing non-physical items All types of objects None

Click on each category to learn more details about it in the Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types.

Both of EM.Libera's two simulation engines, Wire MoM and Surface MoM, can handle metallic structures. You define wires under Thin Wire groups and surface and volumetric metal objects under PEC Objects. In other words, you can draw lines, polylines and other curve objects as thin wires, which have a radius parameters expressed in project units. All types of solid and surface CAD objects can be drawn in a PEC group. Only solid CAD objects can be drawn under Dielectric Objects.

EM.Libera's Navigation Tree.

Once a new object group node has been created on the navigation tree, it becomes the "Active" group of the project workspace, which is always listed in bold letters. When you draw a new CAD object such as a Box or a Sphere, it is inserted under the currently active group. There is only one object group that is active at any time. Any object type can be made active by right clicking on its name in the navigation tree and selecting the Activate item of the contextual menu. It is recommended that you first create object groups, and then draw new CAD objects under the active object group. However, if you start a new EM.Libera project from scratch, and start drawing a new object without having previously defined any object groups, a new default PEC object group is created and added to the navigation tree to hold your new CAD object.

Info icon.png Click here to learn more about Moving Objects among Different Groups.

Attention icon.png 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 EM.Libera.

EM.Libera's Excitation Sources

Your 3D physical structure must be excited by some sort of signal source that induces electric linear currents on thin wires, electric surface currents on metal surface and both electric magnetic surface currents on the surface of dielectric objects. The excitation source you choose depends on the observables you seek in your project. EM.Libera provides the following source types for exciting your physical structure:

Icon Source Type Applications Restrictions
Gap src icon.png Strip Gap Circuit Source General-purpose point voltage source Associated with a PEC rectangle strip, works only with SMOM solver
Gap src icon.png Wire Gap Circuit Source General-purpose point voltage source Associated with an PEC or thin wire line or polyline, works only with WMOM solver
Hertz src icon.png Hertzian Short Dipole Source Almost omni-directional physical radiator None, stand-alone source
Plane wave icon.png Plane Wave Source Used for modeling scattering None, stand-alone source
Huyg src icon.png Huygens Source Used for modeling equivalent sources imported from other EM.Cube modules Imported from a Huygens surface data file

Click on each category to learn more details about it in the Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types.

For antennas and planar circuits, where you typically define one or more ports, you usually use lumped sources. EM.Libera provides two types of lumped sources: strip gap and wire gap. A Gap is an infinitesimally narrow discontinuity that is placed on the path of the current and is used to define an ideal voltage source. Wire gap sources must be placed on Thin Wire Line and Thin Polyline objects to provide excitation for the Wire MoM solver. The gap splits the wire into two lines with a an infinitesimally small spacing between them, across which the ideal voltage source is connected. Strip gap sources must be placed on long, narrow, PEC Rectangle Strip objects to provide excitation for the Surface MoM solver. The gap splits the strip into two strips with a an infinitesimally small spacing between them, across which the ideal voltage source is connected. Only narrow rectangle strip object that have a single mesh cell across their width can be used to host a gap source.

Attention icon.png If you want to excite a curved wire antenna such as a circular loop or helix with a wire gap source, first you have to convert the curve object into a polyline using CubeCAD's Polygonize Tool.

A short dipole provides another simple way of exciting a 3D structure in EM.Libera. A short dipole source acts like an infinitesimally small ideal current source. You can also use an incident plane wave to excite your physical structure in EM.Libera. In particular, you need a plane wave source to compute the radar cross section of a target. The direction of incidence is defined by the θ and φ angles of the unit propagation vector in the spherical coordinate system. The default values of the incidence angles are θ = 180° and φ = 0° corresponding to a normally incident plane wave propagating along the -Z direction with a +X-polarized E-vector. Huygens sources are virtual equivalent sources that capture the radiated electric and magnetic fields from another structure that was previously analyzed in another EM.Cube computational module.

Info icon.png Click here to learn more about Using Source Arrays in Antenna Arrays.

A wire gap source placed on one side of a polyline representing a polygonized circular loop.
Illuminating a metallic sphere with an obliquely incident plane wave source.

Modeling Lumped Circuits

In EM.Libera, you can define simple lumped elements in a similar manner as gap sources. In fact, a lumped element is equivalent to an infinitesimally narrow gap that is placed in the path of the current, across which Ohm's law is enforced as a boundary condition. You can define passive RLC lumped elements or active lumped elements containing a voltage gap source. The latter case can be used to excite a wire structure or metallic strip and model a non-ideal voltage source with an internal resistance. EM.Libera's lumped circuit represent a series-parallel combination of resistor, inductor and capacitor elements. This is shown in the figure below:

Info icon.png Click here to learn more about Defining Lumped Elements.

Info icon.png Click here for a general discussion of Linear Passive Devices.

Defining Ports

Ports are used to order and index gap sources for S parameter calculation. They are defined in the Observables section of the navigation tree. By default, as many ports as the total number of sources are created. You can define any number of ports equal to or less than the total number of sources. All port impedances are 50Ω by default.

Info icon.png Click here to learn more about the Port Definition Observable.

Two metallic strips hosting a gap source and a lumped element.
The surface mesh of the two strips with a gap source and a lumped element.

EM.Libera's Simulation Data & Observables

At the end of a 3D MoM simulation, EM.Libera generates a number of output data files that contain all the computed simulation data. The primary solution of the Wire MoM simulation engine consists of the linear electric currents on the wires and wireframe structures. The primary solution of the Surface MoM simulation engine consists of the electric and magnetic surface currents on the PEC and dielectric objects. EM.Libera currently offers the following types of observables:

Icon Simulation Data Type Observable Type Applications Restrictions
Currdistr icon.png Current Distribution Maps Current Distribution Computing electric surface current distribution on metal and dielectric objects, magnetic surface current distribution on dielectric objects and linear current distribution on wires None
Fieldsensor icon.png Near-Field Distribution Maps Near-Field Sensor Computing electric and magnetic field components on a specified plane in the frequency domain None
Farfield icon.png Far-Field Radiation Characteristics Far-Field Radiation Pattern Computing the radiation pattern and additional radiation characteristics such as directivity, axial ratio, side lobe levels, etc. None
Rcs icon.png Far-Field Scattering Characteristics Radar Cross Section (RCS) Computing the bistatic and monostatic RCS of a target Requires a plane wave source
Port icon.png Port Characteristics Port Definition Computing the S/Y/Z parameters and voltage standing wave ratio (VSWR) Requires one of these source types: lumped, distributed, microstrip, CPW, coaxial or waveguide port
Huyg surf icon.png Equivalent electric and magnetic surface current data Huygens Surface Collecting tangential field data on a box to be used later as a Huygens source in other EM.Cube modules None

Click on each category to learn more details about it in the Glossary of EM.Cube's Simulation Observables & Graph Types.

Depending on the types of objects present in your project workspace, EM.Libera performs either a Surface MoM simulation or a Wire MoM simulation. In the former case, the electric and magnetic surface current distributions on the surface of PEC and dielectric objects can be visualized. In the latter case, the linear electric currents on all the wires and wireframe objects can be plotted.

A monopole antenna connected above a PEC plate.
Current distribution plot of the monopole antenna connected above the PEC plate.
Attention icon.png Keep in mind that since EM.Libera uses MoM solvers, the calculated field value at the source point is infinite. As a result, the field sensors must be placed at adequate distances (at least one or few wavelengths) away from the scatterers to produce acceptable results.
Electric field plot of the circular loop antenna.
Magnetic field plot of the circular loop antenna.

You need to define a far field observable if you want to plot radiation patterns of your physical structure in EM.Libera. After a 3D MoM simulation is finished, three radiation patterns plots are added to the far field entry in the Navigation Tree. These are the far field component in Theta direction, the far field component in Phi direction and the total far field.

Info icon.png Click here to learn more about the theory of Using Array Factors to Model Antenna Arrays .

The 3D radiation pattern of the circular loop antenna: Theta component.
The 3D radiation pattern of the circular loop antenna: Phi component.
The total radiation pattern of the circular loop antenna.

When the physical structure is excited by a plane wave source, the calculated far field data indeed represent the scattered fields. EM.Libera calculates the radar cross section (RCS) of a target. Three RCS quantities are computed: the θ and φ components of the radar cross section as well as the total radar cross section, which are dented by σθ, σφ, and σtot. In addition, EM.Libera calculates two types of RCS for each structure: Bi-Static RCS and Mono-Static RCS. In bi-static RCS, the structure is illuminated by a plane wave at incidence angles θ0 and φ0, and the RCS is measured and plotted at all θ and φ angles. In mono-static RCS, the structure is illuminated by a plane wave at incidence angles θ0 and φ0, and the RCS is measured and plotted at the echo angles 180°-θ0; and φ0. It is clear that in the case of mono-static RCS, the PO simulation engine runs an internal angular sweep, whereby the values of the plane wave incidence angles θ and φ are varied over the entire intervals [0°, 180°] and [0°, 360°], respectively, and the backscatter RCS is recorded.

To calculate RCS, first you have to define an RCS observable instead of a radiation pattern. At the end of a PO simulation, the thee RCS plots σθ, σφ, and σtot are added under the far field section of the navigation tree.

Attention icon.png The 3D RCS plot is always displayed at the origin of the spherical coordinate system, (0,0,0), with respect to which the far radiation zone is defined. Oftentimes, this might not be the scattering center of your physical structure.
Attention icon.png Computing the 3D mono-static RCS may take an enormous amount of computation time.
The RCS of a metal plate structure: σθ.
The RCS of a metal plate structure: σφ.
The total RCS of a metal plate structure: σtot.

3D Mesh Generation in EM.Libera

A Note on EM.Libera's Mesh Types

EM.Libera features two simulation engines, Wire MoM and Surface MoM, which require different mesh types. The Wire MoM simulator handles only wire objects and wireframe structures. These objects are discretized as elementary linear elements (filaments). A wire is simply subdivided into smaller segments according to a mesh density criterion. Curved wires are first converted to multi-segment polylines and then subdivided further if necessary. At the connection points between two or more wires, junction basis functions are generated to ensure current continuity.

On the other hands, EM.Libera's Surface MoM solver requires a triangular surface mesh of surface and solid objects.The mesh generating algorithm tries to generate regularized triangular cells with almost equal surface areas across the entire structure. You can control the cell size using the "Mesh Density" parameter. By default, the mesh density is expressed in terms of the free-space wavelength. The default mesh density is 10 cells per wavelength. For meshing surfaces, a mesh density of 7 cells per wavelength roughly translates to 100 triangular cells per squared wavelength. Alternatively, you can base the definition of the mesh density on "Cell Edge Length" expressed in project units.

Info icon.png Click here to learn more about Working with Mesh Generator.

Info icon.png Click here to learn more about EM.Libera's Triangular Surface Mesh Generator .

EM.Libera's Mesh Settings dialog showing the parameters of the linear wireframe mesh generator.

The Linear Wireframe Mesh Generator

You can analyze metallic wire structures very accurately with utmost computational efficiency using EM.Libera's Wire MoM simulator. When you structure contains at least one PEC line, polyline or any curve CAD object, EM.Libera will automatically invoke its linear wireframe mesh generator. This mesh generator subdivides straight lines and linear segments of polyline objects into or linear elements according to the specified mesh density. It also polygonizes rounded curve objects into polylines with side lengths that are determined by the specified mesh density. Note that polygonizing operation is temporary and solely for he purpose of mesh generation. As for surface and solid CAD objects, a wireframe mesh of these objects is created which consists of a large number of interconnected linear (wire) elements.

Attention icon.png The linear wireframe mesh generator discretizes rounded curves temporarily using CubeCAD's Polygonize tool. It also discretizes surface and solid CAD objects temporarily using CubeCAD's Polymesh tool.
The geometry of an expanding helix with a circular ground.
Wireframe mesh of the helix with the default mesh density of 10 cells/λ0.
Wireframe mesh of the helix with a mesh density of 25 cells/λ0.
Wireframe mesh of the helix with a mesh density of 50 cells/λ0.

Mesh of Connected Objects

All the objects belonging to the same PEC or dielectric group are merged together using the Boolean union operation before meshing. If your structure contains attached, interconnected or overlapping solid objects, their internal common faces are removed and only the surface of the external faces is meshed. Similarly, all the surface objects belonging to the same PEC group are merged together and their internal edges are removed before meshing. Note that a solid and a surface object belonging to the same PEC group might not always be merged properly.

When two objects belonging to two different material groups overlap or intersect each other, EM.Libera has to determine how to designate the overlap or common volume or surface. As an example, the figure below shows a dielectric cylinder sitting on top of a PEC plate. The two object share a circular area at the base of the cylinder. Are the cells on this circle metallic or do they belong to the dielectric material group? Note that the cells of the junction are displayed in a different color then those of either groups. To address problems of this kind, EM.Libera does provide a "Material Hierarchy" table, which you can modify. To access this table, select Menu > Simulate > discretization > Mesh Hierarchy.... The PEC groups by default have the highest priority and reside at the top of the table. You can select an group from the table and change its hierarchy using the Move Up or Move Down buttons of the dialog. You can also change the color of junction cells that belong to each group.

EM.Libera's Mesh Hierarchy dialog.
A dielectric cylinder attached to a PEC plate.
The surface mesh of the dielectric cylinder and PEC plate.

Using Polymesh Objects to Connect Wires to Wireframe Surfaces

If the project workspace contains a line object, the wireframe mesh generator is used to discretize your physical structure. From the point of view of this mesh generator, all PEC surface objects and PEC solid objects are treated as wireframe objects. If you want to model a wire radiator connected to a metal surface, you have to make sure that the resulting wireframe mesh of the surface has a node exactly at the location where you want to connect your wire. This is not guaranteed automatically. However, you can use EM.Cube's polymesh objects to accomplish this objective.

Attention icon.png In EM.Cube, polymesh objects are regarded as already-meshed objects and are not re-meshed again during a simulation.

You can convert any surface object or solid object to a polymesh using CubeCAD's Polymesh Tool.

Info icon.png Click here to learn more about Converting Object to Polymesh in EM.Cube.

Once an object is converted to a polymesh, you can place your wire at any of its nodes. In that case, EM.Libera's Wire MoM engine will sense the coincident nodes between line segments and will create a junction basis function to ensure current continuity.

Geometry of a monopole wire connected to a PEC plate.
Placing the wire on the polymesh version of the PEC plate.

Running 3D MoM Simulations in EM.Libera

EM.Libera's Simulation Modes

Once you have set up your structure in EM.Libera, have defined sources and observables and have examined the quality of the structure's mesh, you are ready to run a 3D MoM simulation. EM.Libera offers five simulation modes:

Simulation Mode Usage Number of Engine Runs Frequency Restrictions
Single-Frequency Analysis Simulates the planar structure "As Is" Single run Runs at the center frequency fc None
Frequency Sweep Varies the operating frequency of the surface MoM or wire MoM solvers Multiple runs Runs at a specified set of frequency samples or adds more frequency samples in an adaptive way None
Parametric Sweep Varies the value(s) of one or more project variables Multiple runs Runs at the center frequency fc None
Optimization Optimizes the value(s) of one or more project variables to achieve a design goal Multiple runs Runs at the center frequency fc None
HDMR Sweep Varies the value(s) of one or more project variables to generate a compact model Multiple runs Runs at the center frequency fc None

You can set the simulation mode from EM.Libera's "Simulation Run Dialog". A single-frequency analysis is a single-run simulation. All the other simulation modes in the above list are considered multi-run simulations. If you run a simulation without having defined any observables, no data will be generated at the end of the simulation. In multi-run simulation modes, certain parameters are varied and a collection of simulation data files are generated. At the end of a sweep simulation, you can graph the simulation results in EM.Grid or you can animate the 3D simulation data from the navigation tree.

Running a Single-Frequency MoM Analysis

In a single-frequency analysis, the structure of your project workspace is meshed at the center frequency of the project and analyzed by one of EM.Libera's two MoM solvers. If your project contains at least one line or curve object, the Wire MoM solver is automatically selected. Otherwise, the Surface MoM solver will always be used to simulate your numerical problem. In either case, the engine type is set automatically.

To open the Run Simulation Dialog, click the Run Run icon.png button of the Simulate Toolbar or select Menu > Simulate > Run... or use the keyboard shortcut Ctrl+R. By default, the Surface MoM solver is selected as your simulation engine. To start the simulation, click the Run button of this dialog. Once the 3D MoM simulation starts, a new dialog called Output Window opens up that reports the various stages of MoM simulation, displays the running time and shows the percentage of completion for certain tasks during the MoM simulation process. A prompt announces the completion of the MoM simulation.

EM.Libera's Simulation Run dialog showing Wire MoM engine as the solver.
EM.Libera's Simulation Run dialog showing Surface MoM engine as the solver.

Setting MoM Numerical Parameters

MoM simulations involve a number of numerical parameters that normally take default values unless you change them. You can access these parameters and change their values by clicking on the Settings button next to the "Select Engine" dropdown list in the Run Dialog. Depending on which MoM solver has been chosen for solving your problem, the corresponding Engine Settings dialog opens up.

First we discuss the Wire MoM Engine Settings dialog. In the Solver section of this dialog, you can choose the type of Linear Solver. The current options are LU and Bi-Conjugate Gradient (BiCG). The LU solver is a direct solver and is the default option of the Wire MoM solver. The BiCG solver is iterative. If BiCG is selected, you have to set a Tolerance for its convergence. You can also change the maximum number of BiCG iterations by setting a new value for Max. No. of Solver Iterations / System Size.

EM.Libera's Wire MoM Engine Settings dialog.

The Surface MoM Engine Settings dialog is bit more extensive and provides more options. In the "Integral Equation" section of the dialog, you can choose among the three PEC formulations: EFIE, MFIE and CFIE. The EFIE formulation is the default option. In the case of the CFIE formulation, you can set a value for the "Alpha" parameter, which determines the weights for the EFIE and MFIE terms of the combine field formulation. The default value of this parameter is α = 0.4. The Surface MoM solver provides two types of linear solver: iterative TFQMR and direct LU. The former is the default option and asks for additional parameters: Error Tolerance and Max. No. of Solver Iterations. When the system size is large, typically above 3000, EM.Libera uses an acceleration technique called the Adaptive Integral Method (AIM) to speed up the linear system inversion. You can set the "AIM Grid Spacing" parameter in wavelength, which has a default value of 0.05λ0. EM.Libera's Surface MoM solver has been highly parallelized using MPI framework. When you install EM.Cube on your computer, the installer program also installs the Windows MPI package on your computer. If you are using a multicore CPU, taking advantage of the MPI-parallelized solver can speed up your simulations significantly. In the "MPI Settings" of the dialog, you can set the "Number of CPU's Used", which has a default value of 4 cores.

For both Wire MoM and Surface MoM solvers, you can instruct EM.Libera to write the contents of the MoM matrix and excitation and solutions vectors into data files with .DAT1 file extensions. These files can be accessed from the Input/Output Files tab of the Data Manager. In both case, you have the option to uncheck the check box labeled "Superpose Incident plane Wave Fields". This option applies when your structure is excited by a plane wave source. When checked, the field sensors plot the total electric and magnetic field distributions including the incident field. Otherwise, only the scattered electric and magnetic field distributions are visualized.

EM.Libera's Surface MoM Engine Settings dialog.



Top icon.png Back to the Top of the Page

Tutorial icon.png EM.Libera Tutorial Gateway

Back icon.png Back to EM.Cube Main Page