Changes

Jump to: navigation, search

EM.Ferma

2,973 bytes added, 23:47, 3 August 2018
/* Variety of Physical Objects in EM.Ferma */
[[Image:Splash-static.jpg|right|720px]]
<strong><font color="#2603c4" size="4">Electrostatic and , Magnetostatic & Thermal Solvers For DC And Low Frequency Simulations</font></strong>
<table>
<tr>
=== EM.Ferma in a Nutshell ===
[[EM.Ferma]] is a 3D static solver. It features two distinct electrostatic and magnetostatic simulation engines and a steady-state thermal simulation engine that can be used to solve a variety of static and low-frequency electromagnetic and thermal problems. The thermal solver includes both conduction and convection heat transfer mechanisms. All the three simulation engines are based on finite difference solutions of Poisson's equation for electric and magnetic potentials and temperature.
With [[EM.Ferma]], you can explore the electric fields due to volume charge distributions or fixed-potential perfect conductors, and magnetic fields due to wire or volume current sources and permanent magnets. Your structure may include dielectric or magnetic (permeable) material blocks. Using the thermal simulator, you can solve for the steady-state temperature distribution of structures that include perfect thermal conductors, insulators and volume heat sources. You can also use [[EM.Ferma]]'s 2D quasi-static mode to compute the characteristic impedance (Z0) and effective permittivity of transmission line structures with complex cross section profiles.
[[Image:Info_icon.png|30px]] Click here to learn more about the '''[[Electrostatic & Magnetostatic Field Analysis | Theory of Electrostatic and Magnetostatic Methods]]'''.
 
[[Image:Info_icon.png|30px]] Click here to learn more about the '''[[Steady-State_Thermal_Analysis | Theory of Steady-State Heat Transfer Methods]]'''.
<table>
=== EM.Ferma as the Static Module of EM.Cube ===
[[EM.Ferma]] is the low-frequency '''Static Module''' of '''[[EM.Cube]]''', a comprehensive, integrated, modular electromagnetic modeling environment. [[EM.Ferma]] 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.
[[Image:Info_icon.png|30px]] Click here to learn more about '''[[Getting_Started_with_EM.Cube | EM.Cube Modeling Environment]]'''.
=== Advantages & Limitations of EM.Ferma's Static Simulator ===
[[EM.Ferma]] computes the electric and magnetic fields independent of each other based on electrostatic and magnetostatic approximations, respectively. As a result, any "electromagnetic" coupling effects or wave retardation effects are ignored in the simulation process. In exchange, static or quasi-static solutions are computationally much more efficient than the full-wave solutions of Maxwell's equations. Therefore, for low-frequency electromagnetic modeling problems or for simulation of sub-wavelength devices, [[EM.Ferma]] offers a faster alternative to [[EM.Cube]]'s full-wave modules like [[EM.Tempo]], [[EM.Picasso]] or [[EM.Libera]]. [[EM.Ferma]] currently provides a fixed-cell brick volume mesh generator. To model highly irregular geometries or curved objects, you may have to use very small cell sizes, which may lead to a large computational problem.
<table>
Electric and magnetic field intensity and vector plots on planes</li>
<li>
Electric and magnetic potential intensity plotson planes</li> <li> Temperature and heat flux intensity and vector plots on planes</li> <li> Electric and magnetic energy density, dissipated power density and thermal energy density plots on planes</li>
<li>
Animation of field and potential plots after parametric sweeps</li>
=== Variety of Physical Objects in EM.Ferma ===
The simplest static problems involve a charge source in the free space that produces an electric field, or a current source in the free space that produces a magnetic field. In such cases, the only applicable boundary conditions are defined at the boundary of the computational domain. As soon as you introduce a dielectric object next to a charge source or a magnetic (permeable) material next to a current source, you have to deal with a complex boundary value problem. In other words, you need to solve the electric or magnetic Poisson equation subject to the domain boundary conditions as well as material interface boundary conditions. The simplest thermal problem involves one or more thermal plates held at fixed temperatures. Once you introduce material blocks, you have to enforce conductive and convective boundary conditions at the interface between different materials and air. [[EM.Ferma]] uses the Finite Difference (FD) technique to find a numerical solution of your static boundary value problem.
[[EM.Ferma]] offers the following types of physical objects:
| style="width:100px;" | Solid objects
| style="width:250px;" | Acts as a thermal source (shares the same navigation tree node as volume charge)
|-
| style="width:30px;" | [[File:Virt_group_icon.png]]
| style="width:200px;" | [[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:100px;" | All types of objects
| style="width:250px;" | None
|}
=== Grouping Objects by Material or Source Type ===
Your physical structure in [[EM.Ferma]] is typically made up of some kind of source object either in the free space or in the presence of one or more material objects. [[EM.Ferma]]'s electrostatic and magnetostatic or thermal simulation engines then discretize the entire computational domain including these source and material objects and solve the Laplace or Poisson equations to find the electric or magnetic fields or temperature everywhere in the computational domain.
All the geometric objects in the project workspace are organized together into object groups which share the same properties including color and electric or magnetic parameters. It is recommended that you first create object groups, and then draw new objects under the active group. To create a new object group, right-click on its category name in the "Physical Structure" section of the navigation tree and select one of the "Insert New Group..." items from the contextual menu. However, if you start a new [[EM.Ferma]] project from scratch, and start drawing a new object without having previously defined any object groups, a new default "Fixed-Potential PEC" object group with a zero voltage is created and added to the navigation tree to hold your new geometric object.
It is important to note that there is a one-to-one correspondence between electrostatic and thermal simulation entities:
=== A Note on Material and Source Types in EM.Ferma ===
In [[EM.Cube]]'s other modules, material types are categorized under the "Physical Structure" section of the navigation tree, and sources are organized under a separate "Sources" section. In those modules, all the geometric objects you draw in your project workspace typically represent material bodies. All of [[EM.Cube]] modules except for [[EM.Ferma]] require at least one excitation source to be selected from the "Sources" section of the navigation tree before you can run a simulation.
In [[EM.Ferma]], materials and sources are all lumped together and listed under the "Physical Structure" section of the navigation tree. In other words, there is no separate "Sources" section. For example, you can define default zero-potential perfect electric conductors (PEC) in your project to model metal objects. You can also define fixed-potential PEC objects with a nonzero voltage, which can effectively act as a voltage source for your boundary value problem. In this case, you will solve the Lapalce equation subject to the specified nonzero potential boundary values. Both types of PEC objects are defined from the same PEC node of the navigation tree by assigning different voltage values. Charge and current sources are also defined as geometric objects, and you have to draw them in the project workspace just like other material objects.
== EM.Ferma's Computational Domain ==
===The Domain Box===
In [[EM.Ferma]], the Poisson or Laplace equations are solved subject to boundary conditions using the Finite Difference technique. As a result, you need to specify a finite computational domain and then specify the domain boundary conditions. [[EM.Ferma]]'s computational domain defines where the domain boundary condition will be specified. A default domain box is always placed in the project workspace as soon as you draw your first object. The domain can be seen as a blue cubic wireframe that surrounds all of the CAD objects in the project workspace.
To modify the domain settings, click the Domain button of the Simulate Toolbar or right-click on "3D Static Domain" entry in the Navigation Tree and select "Domain Settings..." from the contextual menu. In the Domain Settings Dialog, the computational domain can be defined in two different ways: Default and Custom. The default type places an enclosing box with a specified offset from the largest bounding box of your project's CAD objects. The default offset value is 20 project units, but you can change this value arbitrarily. The custom type defines a fixed domain box by specifying the coordinates of its two opposite corners labeled Min and Max in the world coordinate system.
*EM.Ferma provides two options for thermal boundary conditions on the domain box. The Dirichlet boundary condition is the default option and is specified as a fixed temperature value on the surface of the domain walls. By default, this value is 0&deg;C. The Neumann boundary condition specifies the normal derivative of the temperature on the surface of the domain walls. This is equivalent to a constant heat flux passing through the domain walls and its value is specified in W/m<sup>2</sup>. A zero heat flux means a perfectly insulated domain box and is known as the adiabatic boundary condition.
To modify the boundary conditions, right-click on "Boundary Conditions" in the navigation tree, and select "Boundary Conditions..." from the contextual menu to open the Boundary Conditions Dialog. In order to When you switch from the electrostatic -magnetostatic solver to the thermal solver you have to check in EM.Ferma's Run Simulation dialog, it automatically checks the box labeled '''Treat as a Thermal Structure'''in the Boundary Conditions dialog. Conversely, if you check this box in the Boundary Conditions dialog, the solver type is set to the thermal solver in the Simulation Run dialog. In the "Global Thermal Properties" section of the Boundary Conditions dialog, you can set the values of the ambient temperature in &deg;C, thermal conductivity of the environment in W/(m.K) and the convective coefficient in W/(m<sup>2</sup>.K). You can also disable the enforcement of the convective boundary condition on the surface of solid insulator objects.  {{Note|You have to use the boundary conditions dialog to switch between the electrostatic and thermal solvers.}}
<table>
== EM.Ferma's Simulation Data & Observables ==
At the end of an electrostatic simulation, the electric field vector and electric scalar potential values are computed at all the mesh grid points of the entire computational domain. At the end of an magnetostatic simulation, the magnetic field vector and magnetic vector potential values are computed at all the grid nodes. Besides At the electric and magnetic fields, [[EM.Ferma]] can compute end of a number of field integral quantities such as voltage, currentthermal simulation, the temperature and heat flux, energy, etc. The field components, potential values and field integrals vector are written into output data files and can be visualized on computed at all the screen or graphed in EM.Grid only if you define a field sensor or a field integral observable. In the absence mesh grid points of any observable defined in the navigation tree, the static simulation will be carried out and completed, but no output simulation data will be generatedentire computational domain.
[[Besides the electric and magnetic fields and temperature, EM.Ferma can compute a number of field integral quantities such as voltage, current, flux, energy, etc. The field components, potential values and field integrals are written into output data files and can be visualized on the screen or graphed in Data Manager only if you define a field sensor or a field integral observable. In the absence of any observable defined in the navigation tree, the static simulation will be carried out and completed, but no output simulation data will be generated.  EM.Ferma]] offers the following types of output simulation data:
{| class="wikitable"
| style="width:150px;" | Near-Field Distribution Maps
| style="width:150px;" | [[Glossary of EM.Cube's Simulation Observables & Graph Types#Near-Field_Sensor_Observable |Near-Field Sensor]]
| style="width:450px;" | Computing electric and magnetic field components, electri electric scalar potential and magnitude of magnetic vector potential on a planar cross section of the computational domain |-| style="width:30px;" | [[File:fieldsensor_icon.png]]| style="width:150px;" | Electric and Magnetic Energy and Dissipated Power Density Maps | style="width:150px;" | [[Glossary of EM.Cube's Simulation Observables & Graph Types#Near-Field_Sensor_Observable |Near-Field Sensor]] | style="width:450px;" | Computing electric and magnetic energy densities and dissipated power density on a planar cross section of the computational domain |-| style="width:30px;" | [[File:fieldsensor_icon.png]]| style="width:150px;" | Temperature and Heat Flux Distribution Maps| style="width:150px;" | [[Glossary of EM.Cube's Simulation Observables & Graph Types#Near-Field_Sensor_Observable |Near-Field Sensor]] | style="width:450px;" | Computing temperature and heat flux components on a planar cross section of the computational domain |-| style="width:30px;" | [[File:fieldsensor_icon.png]]| style="width:150px;" | Thermal Energy Density Maps | style="width:150px;" | [[Glossary of EM.Cube's Simulation Observables & Graph Types#Near-Field_Sensor_Observable |Near-Field Sensor]] | style="width:450px;" | Computing thermal energy density on a planar cross section of the computational domain
|-
| style="width:30px;" | [[File:field_integ_icon.png]]
===The Static Mesh===
The Finite Difference technique discretizes the computational domain using a 3D rectangular grid. [[EM.Ferma]] generates a fixed-cell mesh. This means that the extents of the mesh cells along the principal axes are fixed: &Delta;x, &Delta;y, &Delta;z. By default, the mesh cell size is set to one unit project along all the three directions (with &Delta;x = &Delta;y = &Delta;z). To modify the cell size, click the Mesh Settings button of the Simulate Toolbar or right-click on "Static Mesh" in the Navigation Tree, and select "Mesh Settings..." from the contextual menu to open the Mesh Settings Dialog.
{{Note|To obtain accurate results, it is highly recommended to use a square mesh as much as possible.}}
|}
=== Running an Electrostatic or , Magnetostatic or Thermal Analysis ===
[[EM.Ferma]] has two three independent but functionally similar static simulation engines: Electrostatic and , Magnetostaticand Thermal. The electrostatic engine solves the electric form of Poisson's equation for electric scalar potential subject to electric field boundary conditions, in the presence of electric sources (volume charges and fixed-potential PEC blocks) and dielectric material media. The magnetostatic engine solves the magnetic form of Poisson's equation for magnetic vector potential subject to magnetic field boundary conditions, in the presence of magnetic sources (wire and volume currents and permanent magnetic blocks) and magnetic material media. The thermal engine solves the thermal form of Poisson's equation for steady-state temperature subject to thermal boundary conditions, in the presence of heat sources (volume sources and fixed-temperature PTC blocks) and insulator material media.
In [[EM.Ferma]] you don't have to select any specific simulation engine. The program looks at the types sources and material objects present in your project workspace and then it determines whether an electrostatic analysis or a magnetostatic analysis or possibly both should be performed. When there are only electric sources present, you will get nonzero electric fields and zero magnetic fields. When there are only magnetic sources present, you will get nonzero magnetic fields and zero electric fields. An "Analysis" is the simplest simulation mode of [[EM.Ferma]]. It is a single-shot finite difference solution of your static problem. The physical structure of your project workspace is first discretized using a fixed-cell mesh and the Poisson equation is solved numerically everywhere in the computational domain. The field and potential values at each mesh node are computed, and the specified observables are written into data files. To run a static simulation, first you have to open the Run Dialog. This is done by clicking the "Run" button of the Simulate Toolbar, or by selecting the "Run" item of the Simulate Menu, or simply using the keyboard shortcut "Ctrl+R". The only There are two available options for the simulation engine is "Static": '''Electrostatic-Magnetostatic Solver''' and '''Steady-State Thermal Solver'''. Clicking the Run button of this dialog starts a static analysis. A separate window pops up which reports the progress of the current simulation.
<table>
<tr>
<td> [[Image:Ferma L1 Fig11.png|thumb|left|480px600px|EM.Ferma's Simulation Run dialog.]] </td>
</tr>
</table>
 
In EM.Ferma you don't have to choose between the electrostatic or magnetostatic simulation engines. The program looks at the types of sources and material objects present in your project workspace and then it determines whether an electrostatic analysis or a magnetostatic analysis or possibly both should be performed. When there are only electric sources present, you will get nonzero electric fields and zero magnetic fields. When there are only magnetic sources present, you will get nonzero magnetic fields and zero electric fields. On the other hand, since the electrostatic and thermal solvers share the same navigation resources, you can run only one of the two engines at a time. By default, the electrostatic solver is enabled.
 
An "Analysis" is the simplest simulation mode of EM.Ferma. It is a single-shot finite difference solution of your static problem. The physical structure of your project workspace is first discretized using a fixed-cell mesh and the Poisson equation is solved numerically everywhere in the computational domain. The field and potential values at each mesh node are computed, and the specified observables are written into data files. The other available simulation modes, parametric sweep and optimization, involve multiple runs of the static solvers.
===Static Simulation Engine Settings===
[[EM.Ferma]] currently uses a single iterative offers two different types of linear system solver for solving the matrix equations that result from discretization of Poisson's equation: an iterative solver based on the stabilized Bi-Conjugate Gradient (BiCG) method to solve the matrix equations which result from the discretization of Poisson's equationand a Gauss-Seidel solver. The default solver type is BiCG. You can specify some numerical parameters related to the Bi-CG BiCG solver. To do that, you need to open the Simulation Engine Settings Dialog by clicking the "Settings" button located next to the "Select Engine" drop-down list. From this dialog you can set the maximum number of BiCG iterations, which has a default value of 10,000. You can also set a value for "Convergence Error". The default value for electrostatic analysis is 0.001. For magnetostatic analysis, the specified value of convergence error is reduced by a factor 1000 automatically. Therefore, the default convergence error in this case is 1e10<sup>-6</sup>.
{{Note|The value of convergence error affect the accuracy of your simulation results. For most practical scenarios, the default values are adequate. You can reduce the convergence error for better accuracy at the expense of longer computation time.}}
== The 2D Quasi-Static Simulation Mode==
[[EM.Ferma]]'s electrostatic simulation engine features a 2D solution mode where your physical model is treated as a longitudinally infinite structure in the direction normal to specified "2D Solution Plane". A 2D solution plane is defined based on a "Field Sensor" definition that already exists in your project. To explore [[EM.Ferma]]'s 2D mode, right-click on '''2D Solution Planes''' in the "Computational Domain" section of the navigation tree and select '''2D Domain Settings...''' from the contextual menu. In the 2D Static Domain dialog, check the checkbox labeled "Reduce the 3D Domain to a 2D Solution Plane". The first field sensor observable in the navigation tree is used for the definition of the 2D solution plane.
At the end of a 2D electrostatic analysis, you can view the electric field and potential results on the field sensor plane. It is assumed that your structure is invariant along the direction normal to the 2D solution plane. Therefore, your computed field and potential profiles must be valid at all the planes perpendicular to the specified longitudinal direction. A 2D structure of this type can be considered to represent a transmission line of infinite length. EM.Ferma also performs a quasi-static analysis of the transmission line structure, and usually provides good results at lower microwave frequencies (f < 10GHz). It computes the characteristics impedance Z<sub>0</sub> and effective permittivity &epsilon;<sub>eff</sub> of the multi-conductor TEM or quasi-TEM transmission line. The results are written to two output data files named "solution_plane_Z0.DAT" and "solution_plane_EpsEff.DAT", respectively.
<table>
</table>
You can also use [[EMImage:Info_icon.Fermapng|30px]] Click here to perform a quasi-static analysis learn more about the theory of multi'''[[Electrostatic_%26_Magnetostatic_Field_Analysis#2D_Quasi-conductor transmission line structures, which usually provides good results at lower microwave frequencies (f < 10GHz)Static_Solution_of_TEM_Transmission_Line_Structures | 2D Quasi-Static Analysis of Transmission Lines]]'''.
<table>
</tr>
</table>
 
[[EM.Ferma]] computes the characteristics impedance Z<sub>0</sub> and effective permittivity &epsilon;<sub>eff</sub> of your TEM or quasi-TEM transmission line. The results are written to two output data files named "solution_plane_Z0.DAT" and "solution_plane_EpsEff.DAT", respectively.
 
[[Image:Info_icon.png|30px]] Click here to learn more about the theory of '''[[Electrostatic_%26_Magnetostatic_Field_Analysis#2D_Quasi-Static_Solution_of_TEM_Transmission_Line_Structures | 2D Quasi-Static Analysis of Transmission Lines]]'''.
<table>
28,333
edits