[[Image:Splash-static.jpg|right|720px]]<strong><font color="#2603c4" size="4">Electrostatic, Magnetostatic & Thermal Solvers For DC And Low Frequency Simulations</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.FermaTempo]] is [[image:prop-ico.png | link=EM.CubeTerrano]] [[image:planar-ico.png |link=EM.CUBEPicasso]]'s 3D static solver[[image:metal-ico. It features two distinct electrostatic and magnetostatic simulation engines that can be used to solve a variety of static and lowpng | link=EM.Libera]] [[image:po-frequency electromagnetic problemsico. Both simulation engines are based on finite difference solutions of Poissonpng | link=EM.Illumina]]</td><tr></table>[[Image:Tutorial_icon.png|30px]] 's equation for electric and magnetic potentials''[[EM. Cube#EM.Ferma_Documentation | EM.Ferma Tutorial Gateway]]'''
With [[Image:Back_icon.png|30px]] '''[[EM.Ferma, you can explore the electric fields due Cube | Back 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. You can also use EM.FermaCube Main Page]]'s 2D quasi-static mode to compute the characteristic impedance (Z0) and effective permittivity of transmission line structures with complex cross section profiles.''==Product Overview==
== Static Modeling Methods= EM.Ferma in a Nutshell ===
=== Electrostatics Analysis===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 solves the Poisson equation for , you can explore the electric scalar fields due to volume charge distributions or fixed-potential subject perfect conductors, and magnetic fields due to specified boundary conditions: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.
<math>\Delta\Phi(\mathbf{r}) = \nabla^2 \Phi(\mathbf{r}) = -\frac{\rho(\mathbf{r})}{\epsilon}</math>[[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]]'''.
where Φ(<btable>r</btr>) is the electric scalar potential, ρ(<btd>r[[Image:Magnet lines1.png|thumb|left|400px| Vector plot of magnetic field distribution in a cylindrical permanent magnet.]]</btd>) is the volume charge density, and ε = ε<sub>r</subtr> ε<sub>0</subtable> is the permittivity of the medium.
=== EM.Ferma as the Static Module of EM.Cube ===
The electric field boundary conditions at EM.Ferma is the low-frequency '''Static Module''' of '''[[EM.Cube]]''', a comprehensive, integrated, modular electromagnetic modeling environment. EM.Ferma shares the visual interface between two material media are:, 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.
<math> \hat{\mathbf{n}} [[Image:Info_icon. png|30px]] Click here to learn more about '''[ \mathbf{D_2(r)} - \mathbf{D_1(r)} [Getting_Started_with_EM.Cube | EM.Cube Modeling Environment] = \rho_s (\mathbf{r}) </math>]'''.
=== Advantages & Limitations of EM.Ferma's Static Simulator ===
<math> \hat{\mathbf{n}} \times 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 [ \mathbf{E_2(r)} [EM.Cube]]'s full- \mathbf{E_1(r)} wave modules like [[EM.Tempo] = 0 </math>], [[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>
<tr>
<td>
[[Image:Ferma L8 Fig title.png|thumb|left|400px| Vector plot of electric field distribution in a coplanar waveguide (CPW) transmission line.]]
</td>
</tr>
</table>
where <math> \hat{\mathbf{n}} </math> is the unit normal vector at the interface pointing from medium 1 towards medium 2,<b>D(r)</b> = ε<b>E(r)</b> is the electric flux density, <b>E(r)</b> is the electric field vector, and ρ<sub>s</sub> is the surface charge density at the interface= EM. Ferma Features at a Glance ==
=== Physical Structure Definition ===
In a source-free region, ρ<ul> <li> Perfect electric conductor(PEC) solids and surfaces (Electrostatics)<b/li>r <li> Dielectric objects (Electrostatics)</bli> <li> Magnetic (permeable) = 0, objects (Magnetostatics)</li> <li> Perfect thermal conductor (PTC) solids and Poisson's equation reduces to the familiar Laplace equation: surfaces (Thermal)</li> <li> Insulator objects (Thermal)</li></ul>
<math>\Delta\Phi(\mathbf{r}) = \nabla^2 \Phi(\mathbf{r}) = 0</math>= Sources ===
<ul>
<li>
Fixed-potential PEC for maintaining equi-potential metal objects (Electrostatics)</li>
<li>
Volume charge sources (Electrostatics)</li>
<li>
Volume current sources (Magnetostatics)</li>
<li>
Wire current sources (Magnetostatics)</li>
<li>
Permanent magnets (Magnetostatics)</li>
<li>
Fixed-temperature PTC for maintaining iso-thermal objects (Thermal)</li>
<li>
Volume heat sources (Thermal)</li>
</ul>
Keep in mind that in the absence of an electric charge source, you need to specify a non-zero potential somewhere in your structure, for example, on a perfect electric conductor (PEC). Otherwise, you will get a trivial zero solution of the Laplace equation. === Mesh generation ===
<ul>
<li>
Fixed-size brick cells</li>
</ul>
Once the electric scalar potential is computed, the electric field can easily be computed via the equation below: === 3D Electrostatic & Magnetostatic Simulation ===
<mathul> \mathbf{E(r)} = - \nabla \Phi(\mathbf{r}) <li> Finite difference solution of Laplace and Poisson equations for the electric scalar potential with Dirichlet and Neumann domain boundary conditions </li> <li> Finite difference solution of Laplace and Poisson equations for the magnetic vector potential with Dirichlet domain boundary conditions </li> <li> Calculation of electric scalar potential and electric field</li> <li> Calculation of magnetic vector potential and magnetic field</li> <li> Calculation of electric flux over user defined flux boxes and capacitance</li> <li> Calculation of magnetic flux over user defined flux surfaces and inductance</li> <li> Calculation of electric and magnetic energies, Ohmic power loss and resistance</li> <li> Parametric sweep with variable object properties or source parameters</li></mathul>
=== 2D Quasi-Static Simulation ===
=== Magnetostatics Analysis===<ul> <li> 2D Finite difference solution of cross section of transmission line structures</li> <li> 3D domain solution as well as 2D solution of a longitudinally infinite version of the structure defined on a 2D plane </li> <li> Calculation of electric potential and electric field distribution</li> <li> Parametric sweep of transmission line's geometric and material parameters</li> <li> Optimization of transmission line's parameters for impedance design</li></ul>
EM.Ferma solves the Poisson equation for the magnetic vector potential subject to specified boundary conditions:=== Steady-State Thermal Simulation ===
<mathul>\Delta \mathbf{A} (\mathbf{r}) = \nabla^2 \mathbf{A}(\mathbf{r}) = - \mu \mathbf{J}(\mathbf{r}) <li> Finite difference solution of Laplace and Poisson equations for the temperature with Dirichlet and Neumann domain boundary conditions </li> <li> Calculation of temperature and heat flux density</li> <li> Calculation of thermal energy density on field sensor planes</li> <li> Calculation of thermal flux over user defined flux boxes</li> <li> Calculation of thermal energy</li></mathul>
=== Data Generation & Visualization ===
where <bul>A(r) </bli> is the Electric and magnetic field intensity and vector plots on planes</li> <li> Electric and magnetic potential, intensity plots on planes<b/li>J(r) <li> Temperature and heat flux intensity and vector plots on planes</bli> is the volume current <li> Electric and magnetic energy density, dissipated power density and μ = μ<sub>rthermal energy density plots on planes</subli> μ <subli>0 Animation of field and potential plots after parametric sweeps</subli> is the permeability <li> Graphs of the medium. The magnetic Poisson equation is vectorial in nature characteristic impedance and involves a system effective permittivity of three scalar differential equations corresponding to the three components transmission line structures vs. sweep variables</li> <li> Custom output parameters defined as mathematical expressions of standard outputs<b/li>A(r)</bul>.
== Building the Physical Structure in EM.Ferma ==
The magnetic field boundary conditions at the interface between two material media are:=== Variety of Physical Objects in EM.Ferma ===
<math> \hat{\mathbf{n}} 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. [ \mathbf{B_2In 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 (rpermeable)} - \mathbf{B_1material 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 (rFD)} ] = 0 </math>technique to find a numerical solution of your static boundary value problem.
[[EM.Ferma]] offers the following types of physical objects:
<math> \hat{\mathbf{n}} \times | class="wikitable"|-! scope="col"| Icon! scope="col"| Physical Object Type! scope="col"| Applications! scope="col"| Geometric Object Types Allowed! scope="col"| Notes & Restrictions|-| style="width:30px;" | [ \mathbf{H_2[File:pec_group_icon.png]]| style="width:200px;" | [[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types#Fixed-Potential PEC |Fixed-Potential Perfect Electric Conductor (rPEC)} ]]| style="width:300px;" | Modeling perfect metals with a fixed voltage| style="width:100px;" | Solid and surface objects| style="width:250px;" | Can be considered an electric source if the fixed voltage is nonzero |- \mathbf{H_1| style="width:30px;" | [[File:diel_group_icon.png]]| style="width:200px;" | [[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types#Dielectric Material |Dielectric/Magnetic Material]]| style="width:300px;" | Modeling any homogeneous or inhomogeneous material| style="width:100px;" | Solid objects| style="width:250px;" | non-source material|-| style="width:30px;" | [[File:aniso_group_icon.png]]| style="width:200px;" | [[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types#Volume Charge |Volume Charge]]| style="width:300px;" | Modeling volume charge sources with a fixed charge density or an expression in the global coordinates (rx,y,z)} | style="width:100px;" | Solid objects| style="width:250px;" | Acts as an electric source|-| style="width:30px;" | [[File:voxel_group_icon.png]] | style= \mathbf{J_s"width:200px;" | [[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types#Volume Current |Volume Current]]| style="width:300px;" | Modeling volume current sources with a fixed volume current density vector or expressions in the global coordinates (rx,y,z)| style="width:100px;" | Solid objects| style="width:250px;" | Acts as a magnetic source|-| style="width:30px;" | [[File:pmc_group_icon.png]]| style="width:200px;" | [[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types#Permanent Magnet |Permanent Magnet]]| style="width:300px;" | Modeling permanent magnet sources with a fixed magnetization vector or expressions in the global coordinates (x,y,z) | style="width:100px;" | Solid objects| style="width:250px;" | Acts as a magnetic source|-| style="width:30px;" | [[File:thin_group_icon.png]]| style="width:200px;" | [[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types#Wire Current |Wire Current]]| style="width:300px;" | Modeling wire current sources| style="width:100px;" | Line and polyline objects| style="width:250px;" | Acts as a magnetic source|-| style="width:30px;" | [[File:pec_group_icon.png]]| style="width:200px;" | [[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types#Fixed-Temperature PTC |Fixed-Temperature Perfect Thermal Conductor (PTC)]]| style="width:300px;" | Modeling isothermal surfaces with a fixed temperature| style="width:100px;" | Solid and surface objects| style="width:250px;" | Can be considered a thermal source if the fixed temperature is different than the ambient temperature (shares the same navigation tree node as PEC object)|-| style="width:30px;" | [[File:diel_group_icon.png]]| style="width:200px;" | [[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types#Dielectric Material |Insulator Material]]| style="width:300px;" | Modeling any homogeneous or inhomogeneous material| style="width:100px;" | Solid objects| style="width:250px;" | non-source material (shares the same navigation tree node as dielectric material)|-| style="width:30px;" | [[File:aniso_group_icon.png]]| style="width:200px;" | [[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types#Volume Heat Source |Volume Heat Source]]| style="width:300px;" | Modeling volume heat sources with a fixed heat density or an expression in the global coordinates (x,y,z) | 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|} </math>
Click on each category to learn more details about it in the [[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types]].
where <math> \hat{\mathbf{n}} </math> is the unit normal vector at the interface pointing from medium 1 towards medium 2,<b>B(r)</b> = μ<b>H(r)</b> is the magnetic flux density, <b>H(r)</b> is the magnetic field vector, and <b>J<sub>s</sub></b> is the surface current density at the interface. == 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.
Once 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 vector potential parameters. It is computedrecommended that you first create object groups, and then draw new objects under the magnetic field can easily be computed via 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 equation below: navigation tree to hold your new geometric object.
<math> \mathbf{H(r)} = \frac{1}{\mu} \nabla \times \mathbf{A} (\mathbf{r})</math>It is important to note that there is a one-to-one correspondence between electrostatic and thermal simulation entities:
{| class="wikitable"|-! scope= Defining the Physical Structure in EM.Ferma "col"| Electrostatic Item! scope="col"| Corresponding Thermal Item|-| style="width:200px;" | Electric Scalar Potential| style="width:200px;" | Temperature|-| style="width:200px;" | Electric Field| style="width:200px;" | Heat Flux Density|-| style="width:200px;" | Perfect Electric Conductor| style="width:200px;" | Perfect Thermal Conductor|-| style="width:200px;" | Dielectric Material| style="width:200px;" | Insulator Material|-| style="width:200px;" | Volume Charge| style="width:200px;" | Volume Heat Source|}
The simplest static problems involve a charge source in {{Note|Electrostatic and thermal solvers share the free space that produces an electric field, or a current source in same material categories on the free space navigation tree. This means that produces a magnetic field. In such cases, the only applicable boundary conditions PEC objects are defined at the computational domain boundary. As soon treated as you introduce a PTC objects, 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's equation subject to the domain boundary conditions objects are treated as well insulator objects and volume charges are treated as material interface boundary conditions. EM.Ferma used volume heat sources when the Finite Difference technique for numerical solution of your static boundary value problemthermal solver is enabled. }}
=== A Note on Material Once a new object group node has been created in the navigation tree, it becomes and Source Types remains the "Active" object group, which is always listed in EMbold letters. When you draw a new geometric object such as a box or a sphere, its name is added under the currently active object group. There is only one object group that is active at any time. Any group can be made active by right-clicking on its name in the navigation tree and selecting the '''Activate''' item of the contextual menu.Ferma ===
In [[EMImage:Info_icon.Cubepng|30px]]Click here to learn more about 's other modules, material types are specified under the "Physical Structure" section of the Navigation Tree, and sources are organized under a separate "Sources" section. In those modules, the physical structure and its various material types typically represent all the CAD objects you draw ''[[Building Geometrical Constructions in your project. Sources are virtual entities that might be associated with certain physical objects and provide the excitation of your boundary value problemCubeCAD#Transferring Objects Among Different Groups or Modules | Moving Objects among Different Groups]]'''.
In <table><tr><td> [[Image:STAT MAN1.png|thumb|left|480px|EM.Cube]]Ferma's Static Module, materials and sources are all listed under the "Physical Structure" section of the Navigation Tree, and 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 defined as CAD objects that you must draw in the project workspacenavigation tree.]] </td></tr></table>
=== Fixed-Potential PEC ObjectsA Note on Material and Source Types in EM.Ferma ===
A perfect electric conductor (PEC) is a material with ε<sub>r</sub> = 1 and σ = ∞In [[EM. Under the static conditionCube]]'s other modules, every point on a PEC object has material types are categorized under the same electric potential. By default"Physical Structure" section of the navigation tree, this is and sources are organized under a zero potential, assuming the PEC object is separate "groundedSources". You can define a nonzero voltage value for a PEC groupsection. In that casethose modules, all the PEC object is effective turned into a voltage sourcegeometric objects you draw in your project workspace typically represent material bodies. All of [[EM.Cube]] modules except for EM. For example, tow parallel PEC plates, Ferma require at least one with a zero potential and excitation source to be selected from the other with a nonzero potential represent "Sources" section of the navigation tree before you can run a simple air-filled capacitorsimulation.
To add a new Fixed-Potential PEC group to a projectIn EM.Ferma, right-click on materials and sources are all lumped together and listed under the "Fixed-Potential PEC ObjectsPhysical Structure" on section of the Navigation Treenavigation tree. In other words, and select there is no separate "Insert New PEC...Sources" From the PEC dialogsection. For example, you can change the define default red color and set zero-potential perfect electric conductors (PEC) in your project to model metal objects. You can also define fixed-potential PEC objects with a value nonzero voltage, which can effectively act as a voltage source for your boundary value problem. In this case, you will solve the "Voltage" 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 Voltsthe project workspace just like other material objects.
{{Note| You can define any solid or surface object as a fixed-potential PEC object== EM.}} Ferma's Computational Domain ==
=== Dielectric/Magnetic Materials The Domain Box===
In electromagnetic analysis, a general dielectric material is represented by four constitutive material [[parameters]]: relative permittivity ε<sub>r</sub>, relative permeability μ<sub>r</sub>, electric conductivity σ and magnetic conductivity σ<sub>m</sub>. In EM.Ferma, you can define dielectric materials for electrostatic analysis and magnetic (permeable) materials for magnetostatic analysis from the same section of Poisson or Laplace equations are solved subject to boundary conditions using the Navigation Tree titled "Dielectric/Magnetic Materials"Finite Difference technique. For As a dielectric materialresult, you need to specify the relative permittivity ε<sub>r</sub> a finite computational domain and electric conductivity σthen specify the domain boundary conditions. For a magnetic material, 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 specify draw your first object. The domain can be seen as a blue cubic wireframe that surrounds all of the CAD objects in the relative permeability μ<sub>r</sub>project workspace.
To add a new dielectric or magnetic material group to a projectmodify the domain settings, click the Domain button of the Simulate Toolbar or right-click on "Dielectric/Magnetic Materials3D Static Domain" on entry in the Navigation Tree, and select "Insert New DielectricDomain Settings..." From from the Dielectric contextual menu. In the Domain Settings Dialog, you can change the computational domain can be defined in two different ways: Default and Custom. The default green color 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 material group or set fixed domain box by specifying the values coordinates of its two opposite corners labeled Min and Max in the material [[parameters]]world coordinate system.
{{Note<table><tr> <td> [[Image:Qsource5.png| You can define any solid object as a dielectric or magnetic material objectthumb|left|480px|EM.Ferma's Domain Settings dialog.}} ]] </td></tr></table>
=== Volume Charge Sources Domain Boundary Conditions===
You can define volume charge sources with a specified charge density in C/m<sup>3</sup> confined to certain region of your project. You use [[*EM.Cube]]'s [[Solid Objects|solid objects]] Ferma allows you to define volume charge sources. All specify the charge sources belonging to the same group have electric potential boundary conditions on the same color and same charge density valuedomain box. The charge density can be positive or negativeTwo options are available. To add The Dirichlet boundary condition is the default option and is specified as a new charge source group to a project, right-click on "Volume Charges" fixed potential value on the Navigation Tree, and select "Insert New Charge Sourcesurface of the domain walls.By default, this value is 0 Volts.." From The Neumann boundary condition specifies the Charge Source Dialog, you can change the default purple color normal derivative of the source group or set electric scalar potential on the values surface of the Charge Densitydomain walls. This is equivalent to a constant normal electric field component on the domain walls and its value is specified in V/m.
=== Volume Current Sources ===*The magnetostatic simulation engine always assumes Dirichlet domain boundary conditions and sets the values of the magnetic vector potential to zero on all the domain walls.
You can define volume current sources with *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°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 current density in AW/m<sup>2</sup> confined to certain region of your project. Note that current density is A zero heat flux means a vectorial quantity perfectly insulated domain box and has a magnitude and unit direction vector. You use [[EM.Cube]]'s [[Solid Objects|solid objects]] to define volume current sources. All is known as the volume current sources belonging to the same group have the same color and same current density magnitude and unit vectoradiabatic boundary condition.
To add a new volume current source group to a projectmodify the boundary conditions, right-click on "Volume CurrentsBoundary Conditions" on in the Navigation Treenavigation tree, and select "Insert New Current SourceBoundary Conditions..." From from the Volume Current Source contextual menu to open the Boundary Conditions Dialog. When you switch from the electrostatic-magnetostatic solver to the thermal solver 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 can change check this box in the default brown color 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 source group or Boundary Conditions dialog, you can set the values of the Current Density magnitude ambient temperature in °C, thermal conductivity of the environment in W/(m.K) and unit direction vector componentsthe convective coefficient in W/(m<sup>2</sup>. The default direction vector is z-directedK). You can also disable the enforcement of the convective boundary condition on the surface of solid insulator objects.
=== Wire Current Sources ===<table><tr> <td> [[Image:fermbc.png|thumb|left|480px|EM.Ferma's Boundary Conditions dialog.]] </td></tr></table>
== EM.Ferma allows you to define idealized wire current sources. You can use this source type to model filament currents or coils. Wire currents are defined using only line and polyline objects. You also need to define a current value I in Amperes and a wire radius r in the project units. The line or polyline object is then approximated as a volume current with a current density of J = I/(πr<sup>2</sup>) flowing along the line or polyline side's direction. All the wire current sources belonging to the same group have the same color, same current value and same wire radius. The direction of the current can be reversed in wire current sources. Simulation Data & Observables ==
To add a new wire current source group to a projectAt the end of an electrostatic simulation, right-click on "Wire Currents" on the Navigation Tree, electric field vector and select "Insert New Current Source..." From electric scalar potential values are computed at all the Wire Current Source Dialog, you can change the default brown color mesh grid points of the source group or set entire computational domain. At the values end of an magnetostatic simulation, the Current magnetic field vector and Wire Radiusmagnetic vector potential values are computed at all the grid nodes. There is also a check box for "Reverse Current Direction". Note that this will reverse At the direction end of all the wire currents belonging to the same group. When you draw a line or polyline object under a wire current group in the Navigation Treethermal simulation, you will notice that direction arrows the temperature and heat flux vector are placed on computed at all the drawn CAD object. You can draw any curve object in mesh grid points of the project workspace and convert it to a polyline using [[EM.Cube]]'s Polygonize Toolentire computational domain.
{{Note| If you draw [[[Curve Objects]]] under Besides the electric and magnetic fields and temperature, EM.Ferma can compute a wire number of field integral quantities such as voltage, current group, they will flux, energy, etc. The field components, potential values and field integrals are written into output data files and can be permanently converted to polyline objects before running 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 enginewill be carried out and completed, but no output simulation data will be generated.}}
=== Permanent Magnets===EM.Ferma offers the following types of output simulation data:
A permanent magnet is typically a ferromagnetic material with a fixed inherent magnetization vector. As a result, it can be used as a source in an magnetostatic problem. When a permeable material has a permanent magnetization, the following relationship holds: Â Â <math> \mathbf{B(r)} = {\mu} (\mathbf{H(r)} + \mathbf{M(r)} ) </math>Â Â where <b>M(r)</b> is the magnetization vector. In SI units system, the magnetic field <b>H</b> and magnetization <b>M</b> both have the same units of A/m. Â It can be shown that for magnetostatic analysis, the effect of the permanent magnetization can be modeled as an equivalent volume current source:Â <math> \mathbf{J_{eq}(r)} = \nabla \times \mathbf{M(r)} </math>Â Â If the magnetization vector is uniform and constant inside the volume, then its curl is zero everywhere inside the volume except on its boundary surface. In this case, the permanent magnetic can be effectively modeled by an equivalent surface current density on the surface of the permanent magnetic object: Â Â <math> \mathbf{J_{s,eq}(r)} = \mathbf{M(r)} \times \hat{\mathbf{n}} </math>Â Â where <math> \hat{\mathbf{n}} </math> is the unit outward normal vector at the surface of the permanent magnet object. Note that the volume of the permanent magnet still acts as a permeable material in the magnetostatic analysis. Â To add a new permanent magnet source group to a project, right-click on "Permanent Magnets" on the Navigation Tree, and select "Insert New Permanent Magnet Source..." From the Permanent Magnet Source Dialog, you can change the default purple color of the source group or set the values of the relative permeability, Magnetization magnitude and unit direction vector components. The default direction vector is z-directed. Â Â {| borderclass="0wikitable"
|-
| valign! scope="topcol"|Icon[[File:vsource.png! scope="col"|thumb|left|250px|EM.Ferma's Voltage Source Dialog]]Simulation Data Type| valign! scope="bottomcol"|Observable Type[[File:qsource.png|thumb|left|250px|EM.Ferma's Charge Source Dialog]]| valign! scope="topcol"|[[File:isource.png|thumb|left|250px|EM.Ferma's Current Source Dialog]]Applications
|-
| 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_Observable |Near-Field Sensor]]
| style="width:450px;" | Computing electric and magnetic field components, 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]]
| style="width:150px;" | Field Integral Quantities
| style="width:150px;" | [[Glossary of EM.Cube's Simulation Observables & Graph Types#Static_Field_Integral_Observable | Static Field Integral]]
| style="width:450px;" | Computing line, surface and volume integrals of the electric and magnetic fields and heat flux
|}
Click on each category to learn more details about it in the [[Glossary of EM.Cube's Simulation Observables & Graph Types]].
== Computational Domain and Discretization==<table><tr> <td> [[Image:fermbcFerma L1 Fig15.png|thumb|200pxleft|Boundary Condition Dialog]] ===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.  [[Image:qsource2.png640px|thumb|200px|The blue wireframe around the CAD objects defines the extents of the computational domain. The specified boundary conditions are applied on the domain walls. ]] 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.  ===Domain Boundary Conditions=== EM.Ferma allows you to specify the electric potential boundary conditions on the domain box. Two options are available. The Dirichlet boundary condition is the default option and is specified as a fixed potential value on the surface of the domain walls. By default, this value is 0 Volts. The Neumann boundary condition specifies the normal derivative of the electric scalar potential on the surface of the domain walls. This is equivalent to the normal electric Electric field component on the domain walls and its value is specified in V/m. The magnetostatic simulation engine always assumes Dirichlet domain boundary conditions and sets the values distribution of the magnetic vector potential to zero on all the domain walls. 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. ===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: Δx, Δy, Δz. By default, the mesh cell size is set to one unit project along all the three directions (with Δx = Δy = Δz). To modify the cell size, click the Mesh Settings button of the Simulate Toolbar or right-click spherical charge 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 Static Simulations in EM.Ferma == ===Two Simulation Engines=== EM.Ferma has two independent but functionally similar static simulation engines: Electrostatic and Magnetostatic. The electrostatic engine solves the electric form of Poisson's equation for electric scalar potential subject to electric horizontal field boundary conditions, in the presence of electric sources (volume charges and fixed-potential PEC blocks) and dielectric material mediasensor plane. 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. 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. 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 available simulation engine is "Static". Clicking the Run button of this dialog starts a static analysis. A separate window pops up which reports the progress of the current simulation.  === Simulation Modes === EM.Ferma currently offers three different simulation modes: Analysis, Parametric Sweep and [[Optimization]]. An "Analysis" is a single-shot finite difference solution of your static structure. The structure is first discretized using a fixed-cell mesh and the Poisson equation is solved numerically everywhere in your computational domain. The field and potential values at each mesh node are computed and the specified observables are written into data files.</td></tr> In a "Parametric Sweep", one ore more [[variables]] are varied at the specified steps(s). This means that you must first define one or more [[variables]] in your projects. [[Variables]] can be associated with CAD object properties like dimensions, coordinates, rotation angles, etc. or with material properties or source properties. For each single variable sample or each combination of variable samples, first all the associated CAD object properties, material properties or source properties are updated in the project workspace. Then is a finite difference solution of your updated static structure is computed and parametric sweep proceeds to the next variable sample or combination.<tr>  The <td> [[optimization]] mode requires definition of one or more objectives based on the standard output quantities. At the present time, the [[optimization]] mode is only available for the 2D Quasi-Static Mode of the EM.Image:Ferma, which will be discussed separately laterL1 Fig16.  ===Static Simulation Engine Settings=== EM.Ferma currently uses a single iterative linear system solver based on the stabilized Bi-Conjugate Gradient (BiCG) method to solve the matrix equations which result from the discretization of Poisson's equation. You can specify some numerical [[parameters]] related to the Bi-CG 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 1e-6.  {{Notepng|thumb|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.}}  === Observables in EM.Ferma === At the end of an electrostatic simulation, the electric field and electric left|640px|Electric scalar potential values are computed at all the mesh grid points distribution of the entire computational domain. At the end of an magnetostatic simulation, the magnetic field and magnetic vector potential values are computed at all the grid nodes. The field and potential values are written into output data files and can be visualized a spherical charge on the screen only if you define a horizontal field sensor observable. In the absence of a defined observable, the static simulation will be carried out and completed, but to action will take place.  === Defining Field Sensors === Just like other [[EM.Cube|EMplane.CUBE]] Modules, EM.Ferma has a Field Sensor observable, which plots 3D visualizations of electric and magnetic field components on a specified plane. However, unlike the other modules, EM.Ferma field sensors have two additional plots for electric scalar potential and magnitude of the magnetic vector potential. These are called the "EPot" and "HPot" nodes on the Navigation Tree. To define a Field Sensor, right-click on "Field Sensors" in the Navigation Tree and select "Insert New Observable..." from the contextual menu. The Field Sensor dialog allows the user to select the direction of the sensor (X, Y, Z), visualization type, and whether E-field output or H-field output will be shown during a sweep analysis. </td></tr>The E-fields and H-fields are computed at each mesh node within the specified 2D Field Sensor plane. In other words, the resolution of the Field Sensor is controlled by the mesh resolution. === Defining Field Integrals ===</table>
It is often needed to compute integrals of the electric or magnetic fields to define other related quantities. The following table shows some below list the different types of widely used field integralsand their definitions:
{| class="wikitable"
|-
! scope="col"| Quantity
! scope="col"| Field Integral
! scope="col"| Definition
! scope="col"| Output Data File
|-
! scope="row"| Voltage
| <math> V = - \int_C \mathbf{E(r)} . \mathbf{dl} </math>| voltage.DAT
|-
! scope="row"| Current
| <math> I = \int_oint_{C_o} \mathbf{H(r)} . \mathbf{dl} </math>| current.DAT|-! scope="row"| Conduction Current| <math> I_{cond} = \int\int_S \mathbf{J(r)} . \mathbf{ds} = \int\int_S \sigma \mathbf{E(r)} . \mathbf{ds} </math>| conduction_current.DAT
|-
! scope="row"| Electric Flux
| <math> \Phi_E = \int\int_{S_o} \mathbf{D(r)} . \mathbf{ds} = \int\int_{S_o} \epsilon \mathbf{E(r)} . \mathbf{ds} </math>
| flux_E.DAT
|-
! scope="row"| Magnetic Flux
| <math> \Phi_H = \int\int_S \mathbf{B(r)} . \mathbf{ds} = \int\int_S \mu \mathbf{H(r)} . \mathbf{ds} </math>
| flux_H.DAT
|-
! scope="row"| Electric Energy
| <math> W_E = \frac{1}{2} \int \int \int_V \epsilon \vert \mathbf{E(r)} \vert ^2 dv </math>| energy_E.DAT
|-
! scope="row"| Magnetic Energy
| <math> W_H = \frac{1}{2} \int\int\int_V \mu \vert \mathbf{H(r)} \vert ^2 dv </math>| energy_H.DAT|-! scope="row"| Ohmic Power Loss| <math> P_{ohmic} = \int\int\int_V \sigma \vert \mathbf{E(r)} \vert ^2 dv </math>| ohmic.DAT
|-
! scope="row"| Capacitance
| <math> C = Q\Phi_E/V = \int\int_{S_o} \epsilon \mathbf{E(r)} . \mathbf{ds} / \int_C \mathbf{E(r)} . \mathbf{dl} </math>| capacitance.DAT
|-
! scope="row"| InductanceCapacitance (Alternative)| <math> L C = \Phi_H2W_E/I V^2 = 2 \int\int_S int \int_V \epsilon \mu vert \mathbf{HE(r)} . \mathbf{ds} vert ^2 dv / \int_{C_o} left( \int_C \mathbf{HE(r)} . \mathbf{dl} \right)^2</math>|}Â Â In the above table, C represents an open curve (path), C<sub>o</sub> represents a closed curve (loop), S represents an open surface like a plane, S<sub>o</sub> represents a closed surface like a box, and V represents a volumecapacitance. Â In EM.Ferma, you can define a path integral along a line segment that is parallel to one of the three principal axes, or a loop integral on a rectangle that is parallel to one of the principal planes. You can also define flux planes or flux boxes. All this is done from the same Field Integral Dialog. To define a Field Integral, right-click on "Field Integrals" in the Navigation Tree and select "Insert New Observable..." from the contextual menu. The Integral Type drop-down list gives five options:Â {| class="wikitable"DAT
|-
! scope="colrow"| Field Integral TypeSelf-Inductance! scope="col"| Output Data File<math> L = \Phi_H/I = \int\int_S \mu \mathbf{H(sr)} . \mathbf{ds} / \oint_{C_o} \mathbf{H(r)} . \mathbf{dl} </math>| inductance.DAT
|-
! scope="row"| Voltage PathSelf-Inductance (Alternative)| voltage<math> L = 2W_M/I^2 = 2 \int \int \int_V \mu \vert \mathbf{H(r)} \vert ^2 dv / \left( \oint_{C_o} \mathbf{H(r)} . \mathbf{dl} \right)^2</math>| inductance.DAT
|-
! scope="row"| Current LoopMutual Inductance| current<math> M = \Phi_H^{\prime}/I = \int\int_{S^{\prime}} \mu \mathbf{H(r)} . \mathbf{ds} / \oint_{C_o} \mathbf{H(r)} . \mathbf{dl} </math>| mutual_inductance.DAT
|-
! scope="row"| Flux PlaneResistance| flux_H<math> R = V/I_{cond} = - \int_C \mathbf{E(r)} . \mathbf{dl} / \int\int_S \sigma \mathbf{E(r)} . \mathbf{ds} </math>| resistance.DAT
|-
! scope="row"| Flux BoxResistance (Alternative 1)| flux_E<math> R = V^2/P_{ohmic} = \left( \int_C \mathbf{E(r)} . \mathbf{dl} \right)^2 / \int\int\int_V \sigma \vert \mathbf{E(r)} \vert ^2 dv </math>| resistance.DAT
|-
! scope="row"| Energy BoxResistance (Alternative 2)| energy_E<math> R = P_{ohmic}/I_{cond}^2 = \int\int\int_V \sigma \vert \mathbf{E(r)} \vert ^2 dv / \left( \int\int_S \sigma \mathbf{E(r)} . \mathbf{ds} \right)^2</math>| resistance.DAT & energy_H|-! scope="row"| Thermal Flux| <math> \Phi_T = \int\int_{S_o} \mathbf{q(r)} . \mathbf{ds} </math>| flux_T.DAT|-! scope="row"| Thermal Energy| <math> W_T = Q = \int \int \int_V \rho_V c_p \left( T\mathbf{(r)} - T_{env} \right) dv </math>| energy_T.DAT
|}
<table>
<tr>
<td>
[[Image:Qsource13.png|thumb|left|480px|Defining the capacitance observable in the field integral dialog.]]
</td>
</tr>
<tr>
<tr>
<td>
[[Image:Qsource11.png|thumb|left|480px|The electric flux box for calculation of charge around a capacitor.]]
</td>
</tr>
<tr>
<td>
[[Image:Qsource12.png|thumb|left|480px|A line defining the voltage path for calculation of voltage between capacitor plates.]]
</td>
</tr>
</table>
The domain of == Discretizing the field integral is set using the "Integration Box Coordinates" section of the Field Integral dialog. Box domains are specified by the coordinates of two opposite corners. Voltage Path requires a line; therefore, two of the coordinates of the two corners must be identical. Otherwise, an error message will pop up. For example, (0, 0, 0) for Corner 1 and (10, 0, 0) for Corner 2 define a Z-directed line segment. Current Loop requires a rectangle; therefore, one of the coordinates of the two corners must be identical. For example, (0, 0, 0) for Corner 1 and (10, 10, 0) for Corner 2 define a rectangle Physical Structure in the XY planeEM. Ferma ==
After the completion of a static simulation, the result of the field integrals are written into ".DAT" data files. These files can be accessed using [[EM.Cube]]'s Data Manager. ===The Static Mesh===
{{Note| If you define a single Flux Box observable and a single Voltage Path observable for your static project, The Finite Difference technique discretizes the Capacitance is calculated and written to "capacitance.DAT" data file.}}  {{Note| If you define computational domain using a single Flux Plane observable and a single Current Loop observable for your static project, the Inductance is calculated and written to "inductance 3D rectangular grid.DAT" data file.}} == Modeling Transmission Lines Using EM.Ferma== [[Image:qstatic.png|thumb|300px|Setting up generates a Transmission Line simulationfixed-cell mesh.]] ===2D Electrostatic Simulation Mode=== EMThis means that the extents of the mesh cells along the principal axes are fixed: Δx, Δy, Δz.Ferma's electrostatic simulation engine features a 2D solution mode where By default, the model mesh cell size is treated as a longitudinally infinite structure in the direction normal set to specified "2D Solution Plane". More than one 2D solution plane may be defined. In that case, multiple 2D solutions are obtained. A 2D solution plane is defined based on a "Field Sensor" definition that already exists in unit project along all the projectthree directions (with Δx = Δy = Δz). To explore EM.Ferma's 2D modemodify the cell size, click the Mesh Settings button of the Simulate Toolbar or right-click on "2D Solution PlanesStatic Mesh" in the Navigation Tree , and select "2D Domain Mesh Settings..." from the contextual menu. In the 2D Static Domain dialog, enable the checkbox labeled "Treat Structure as Longitudinally Infinite across Each 2D Plane Specified Below". The user is then able to Add or Edit 2D Solution Plane definitions to open the solution listMesh Settings Dialog. In the Add/Edit 2D Solution Plane dialog, you can choose a name other than the default name and select one of the available field sensor definitions in your project.  At the end of a 2D electrostatic analysis, you can view the electric field and potential results on the respective field sensor planes. 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.  === 2D Quasi-Static Solution of Transmission Lines === At lower microwave frequencies (f < 10GHz), it is usually possible to perform a 2D electrostatic analysis of a transmission line structure and compute its characteristics impedance Z<sub>0</sub> and effective permittivity ε<sub>eff</sub>. This "quasi-static approach" involves two steps: <ol><li>First, you have remove all the dielectric materials from your structure and replace them with free space (or air). Obtain a 2D electrostatic solution of your "air-filled" transmission line structure and compute its capacitance per unit length C<sub>a</sub>.</li><li>Next, obtain a 2D electrostatic solution of your actual transmission line structure with all of its dielectric parts and compute its true capacitance per unit length C.</li></ol> Then effective permittivity of the transmission line structure is then calculated from the equation:
{{Note|To obtain accurate results, it is highly recommended to use a square mesh as much as possible.}}
<math> \epsilon_{eff} = \frac{C}{C_a} </math>[[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]]'''.
[[Image:Info_icon.png|30px]] Click here to learn more about the properties of '''[[Glossary_of_EM.Cube%27s_Simulation-Related_Operations#Fixed-Cell_Brick_Mesh | EM.Ferma's Fixed-Cell Brick Mesh Generator]]'''.
and its characteristic impedance is given by<table><tr> <td> [[Image:Qsource4.png|thumb|350px|EM.Ferma's Mesh Settings dialog.]] </td></tr></table>
<table><mathtr> Z_0 = \eta_0 \sqrt{ \frac{C_a}{C} } <td> [[Image:Qsource2.png|thumb|360px|Geometry of a spherical charge source and the enclosing domain box.]] </td><td> [[Image:Qsource3.png|thumb|360px|Fixed-cel mesh of the spherical charge object.]] </td></tr></mathtable>
== Running Static Simulations in EM.Ferma ==
where η<sub>0</sub> = 120π Ω is the intrinsic impedance of the free space== EM. Ferma's Simulation Modes ===
[[EM.Ferma]] currently offers three different simulation modes as follows:
The guide wavelength {| class="wikitable"|-! scope="col"| Simulation Mode! scope="col"| Usage! scope="col"| Number of your transmission line at Engine Runs! scope="col"| Frequency ! scope="col"| Restrictions|-| style="width:120px;" | [[#Running an Electrostatic or Magnetostatic Analysis | Analysis]]| style="width:270px;" | Simulates the physical structure "As Is"| style="width:100px;" | Single run| style="width:200px;" | N/A| style="width:150px;" | 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:100px;" | Multiple runs| style="width:200px;" | N/A| style="width:150px;" | 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 given frequency f is then calculated fromdesign goal | style="width:100px;" | Multiple runs | style="width:200px;" | N/A| style="width:150px;" | None|}
<math> \lambda_g = \frac{\lambda_0}{\sqrt{\epsilon_{eff}}} = \frac{c}{f\sqrt{\epsilon_{eff}}} </math>= Running an Electrostatic, Magnetostatic or Thermal Analysis ===
[[EM.Ferma]] has three independent but functionally similar static simulation engines: Electrostatic, Magnetostatic and 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.
and its propagation constant To run a static simulation, first you have to open the Run Dialog. This is given done byclicking 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". There are two available options for the simulation engine:'''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.
<mathtable> \beta = k_0\sqrt{\epsilon_{eff}} = \frac{2\pi f}{c}\sqrt{\epsilon_{eff}} <tr> <td> [[Image:Ferma L1 Fig11.png|thumb|left|600px|EM.Ferma's Simulation Run dialog.]] </td></tr></mathtable>
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.
where c An "Analysis" is the speed simplest simulation mode of light 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 free spacecomputational 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===
=== Setting up EM.Ferma 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 and a Transmission Line Gauss-Seidel solver. The default solver type is BiCG. You can specify some numerical parameters related to the 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 10<sup>-6</sup>.
To perform a transmission line {{Note|The value of convergence error affect the accuracy of your simulationresults. For most practical scenarios, first draw your structure in the project workspace just like a typical 3D structuredefault values are adequate. Define a "Field Sensor" observable in You can reduce the Navigation Tree so as to capture convergence error for better accuracy at the cross section expense of your structure as your desired transmission line profilelonger computation time. }}
Next, define a "2D Solution Plane" in the Navigation Tree based on your existing field sensor<table><tr> <td> [[Image:Qsource7.png|thumb|left|480px|EM. When defining the 2D plane, check the box labeled "Perform 2D Quasi-Ferma's Static Simulation"Engine Settings dialog. If an analysis is run with this option checked, the characteristic impedance Z]]<sub/td>0</subtr>. and effective permittivity ε<sub>eff</subtable> will be computed for the corresponding 2D Solution Plane.
== 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 ε<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.
This output can be found in appropriately-named text files in the project directory upon completion of the simulation. Fields and potentials at the selected 2D plane will still be computed. Many 2D quasistatic solutions can be obtained in the same analysis, if for example, your design contains many types of <table><tr> <td> [[Transmission LinesImage:Qsource14.png|transmission linesthumb|left|450px|The 2D static domain dialog.]]. </td></tr> </table>
Quasistatic analysis can only be performed with a Dirichlet boundary condition with 0V specified on [[Image:Info_icon.png|30px]] Click here to learn more about the boundariestheory of '''[[Electrostatic_%26_Magnetostatic_Field_Analysis#2D_Quasi-Static_Solution_of_TEM_Transmission_Line_Structures | 2D Quasi-Static Analysis of Transmission Lines]]'''.
For <table><tr> <td> [[Image:Qsource16.png|thumb|left|480px|A field sensor and 2D solution plane defined for a step-by-step demonstration (including transmission microstrip line [[optimization.]]), take a look at this video on our YouTube channel: [http:</td></www.youtube.comtr></watch?v=Iiu9rQf1QI4 EM.CUBE Microstrip Optimization]table>
=== Transmission Line Characteristics ===<table><tr> <td> [[Image:Qsource17.png|thumb|left|480px|Electric field distribution of the microstrip line on the 2D solution plane.]] </td></tr> <tr> <td> [[Image:Qsource18.png|thumb|left|480px|Electric scalar potential distribution of the microstrip line on the 2D solution plane.]] </td></tr></table>
In EM.Ferma's quasistatic mode, transmission-line [[parameters]] Z0 and EpsEff are computed, in addition to output due to the Field Sensor, which is required to define the 2D solution plane. Text files corresponding to these observables will be placed in the project's working directory after each analysis. == Simulation Examples <br / Gallery == {| border="0"|-| valign="top"|[[File:ScreenCapture1.png|thumb|left|350px|Classic Example: Two oppositely charged spheres.]]| valign="top"|[[File:iarray.png|thumb|left|350px|H-Field from array of current loops.]]|-|}{| border="0"|-| valign="top"|[[File:ustrip.png|thumb|left|350px|Potential near microstrip conductor from a quasistatic simulation.]]| valign="top"|[[File:ustrip2.png|thumb|left|350px|Electric field near microstrip conductor from a quasistatic simulation. This Field Sensor's view mode has been set to Vector mode.]]|-|}>
== Version History ==<hr>
* First available in [[EMImage:Top_icon.Cubepng|30px]] '''[[EM.CUBEFerma#Product_Overview | Back to the Top of the Page]] 14.2'''
== More Resources ==[[Image:Tutorial_icon.png|30px]] '''[[EM.Cube#EM.Ferma_Documentation | EM.Ferma Tutorial Gateway]]'''
* [http[Image://en.wikipedia.org/wiki/Electrostatics Wikipedia: ElectrostaticsBack_icon.png|30px]]* '''[http://www[EM.youtube.com/watch?v=Iiu9rQf1QI4 YouTube: Cube | Back to EM.Ferma Optimization Example.Cube Main Page]* [http://www.emagtech.com/content/emferma More about EM.Ferma.]'''