Numerical Modeling of Electromagnetic Problems Using EM.Cube
Contents
- 1 Computational Electromagnetics
- 2 An Overview of EM.Cube's Numerical Solvers
- 3 The Geometrical Construction of the Physical Structure
- 4 The Material Composition of the Physical Structure
- 5 Defining the Computational Domain & Boundary Conditions in EM.Cube
- 6 Exciting a Physical Structure Using Sources or Devices in EM.Cube
- 7 Defining Simulation Observables in EM.Cube
- 8 Discretizing a Physical Structure Using a Mesh Generator in EM.Cube
Computational Electromagnetics
Mathematically speaking, all electromagnetic modeling problems require solving some form of Maxwell's equations in conjunction with certain initial and boundary conditions. Radiation and scattering problems are defined over an unbounded domain. Circuit and device problems are often formulated as shielded structures within finite domains. Aside from a few well-known canonical problems, there are no closed-form solutions available for most electromagnetic problems due to the complexity of their domains and boundaries. Numerical analysis, therefore, is the only way to solve such problems.
Click here for a brief review of Maxwell's Equations.
Using a numerical method to solve a certain electromagnetic modeling problem typically involves a recurring sequence of steps:
- Geometrical construction of the physical structure
- Material assignment to geometric objects
- Definition of the computational domain and boundary conditions
- Definition of excitation sources
- Definition of simulation observables
- Geometrical reduction and mesh generation
The above steps reduce your original physical problem to a numerical problem, which must be solved using an appropriate numerical solver. Verifying and benchmarking different techniques in the same simulation environment helps you better strategize, formulate and validate a definitive solution.
A ubiquitous question surfaces very often in electromagnetic modeling: "Does one really need more than one simulation engine? A true challenge of electromagnetic modeling is the right choice of numerical technique for any given problem. Depending on the electrical length scales and physical nature of your problem, some modeling techniques may provide more accurate or computationally more efficient solutions than the others. Full-wave techniques provide the most accurate solution of Maxwell's equations in general. In the case of very large-scale problems, asymptotic methods sometimes offer the only practical solution. On the other hand, static or quasi-static methods may provide more stable solutions for extremely small-scale problems. Having access to multiple simulation engines in a unified modeling environment provides many advantages beyond getting the best solver for your particular problem. Some complex problems involve dissimilar length scales which cannot be compromised in favor of one or another. In such cases, a hybrid simulation using different techniques for different parts of the larger problem can lead to a reasonable solution.
An Overview of EM.Cube's Numerical Solvers
EM.Cube uses a number of computational electromagnetic (CEM) techniques to solve your modeling problems. All of these techniques are based on a fine discretization of your physical structure into a set of elementary cells or elements. A discretized form of Maxwell's equations or some variations of them are then solved numerically over these smaller cells. From the resulting numerical solution, the quantities of interest are derived and computed.
The numerical techniques used by EM.Cube are:
- Finite Different Time Domain (FDTD) method
- Shoot-and-Bounce-Rays (SBR) method
- Physical Optics (PO) method: Geometrical Optics - Physical Optics (GO-PO) method and Iterative Physical Optics (IPO) emthod
- Mixed Potential Integral Equation (MPIE) method for multilayer planar structures also known as Planar method of Moments (PMOM)
- Wire Method of Moments (WMOM) based on Pocklington integral equation
- Surface Method of Moments (SMOM) with Adaptive Integration Equation (AIM) accelerator
- Finite Difference (FD) method solution of electrostatic and magnetostatic Laplace/Poisson equations
The table below compares EM.Cube's computational modules and its simulation engines with regards to modeling accuracy, frequency limitations and the type of numerical solution they offer:
Module Name | Simulation Engine(s) | Modeling Accuracy | Solver Type | Frequency Range | Fundamental Solution | Applications |
---|---|---|---|---|---|---|
EM.Tempo | FDTD | Full-wave | 3D volumetric solver | Ultra-wideband time-domain | Electric and magnetic fields in the entire domain | General-purpose field simulator capable of handling complex geometrical and material variations |
EM.Terrano | SBR | Asymptotic | 3D ray tracer | High-frequency harmonic | Electric field ray tubes & power received at receiver locations | Radio wave propagation in very large scenes |
EM.Illumina | GO-PO & IPO | Asymptotic | 3D surface solver | High-frequency harmonic | Electric and magnetic currents on surfaces | Scattering from very large surface structures & antenna-platform combinations |
EM.Ferma | FD | Static or quasi-static | 3D volumetric solver | DC or low-frequency | Electric or magnetic fields in the entire domain | Small-scale devices and structures |
EM.Picasso | MPIE (PMOM) | Full-wave | 2.5D planar solver | Arbitrary harmonic | Electric and magnetic currents on traces | Multilayer planar circuits, antennas & arrays, FSS, homogeneous substrates |
EM.Libera | WMOM & SMOM | Full-wave | 3D wire & surface solvers | Arbitrary harmonic | Electric and magnetic currents on surfaces or wires | Radiation and scattering problems involving metals and homogeneous dielectric materials |
The Geometrical Construction of the Physical Structure
A physical structure in EM.Cube in typically made up of one or more geometric objects, which you either draw in its project workspace or import from an external CAD model file. In EM.Cube, geometric objects are generally categorized into solids, surfaces, curves and special objects, which include points and fractal trees.
When you start the EM.Cube application, you land in its CubeCAD module by default. CubeCAD is a comprehensive, parametric, 3D CAD modeler along with integrated mesh generation, data processing and visualization capabilities and a powerful Python scripting environment. With the click of a few buttons, you can build complex 3D models and structures in seconds using a large variety of intuitive mouse-based object creation and transformation tools. Import of standard CAD formats allows you to fly in external CAD models with utmost ease. Imported structures can easily be augmented with your own geometrical constructions created using the native standard objects.
All of EM.Cube's computational modules use CubeCAD together with individually customized navigation trees as their graphical user interface and geometry definition utility. Once you have mastered the basics of CubeCAD, using the other modules will be very straightforward.
Click here to learn more about CubeCAD.
The table below compares EM.Cube's computational modules with regards to their geometrical variety:
Module Name | Geometry Types |
---|---|
EM.Tempo | General solid, surface & curve objects |
EM.Terrano | General solid & surface objects - no curve objects |
EM.Illumina | General solid & surface objects - no curve objects |
EM.Ferma | General solid, surface & curve objects |
EM.Picasso | Planar surface objects only - no solid or curve objects (vias are automatically constructed from cross-sectional planar objects as vertical prisms) |
EM.Libera | General solid & surface objects for Surface MoM solver, general curve objects and wireframe structures for Wire MoM solver |
The Material Composition of the Physical Structure
A physical structure in EM.Cube in made up of a number of geometric objects you either draw in the project workspace or import from an external CAD model file. In CubeCAD, geometric objects are simply grouped together by their color. They do not have any physical properties. However, in all of EM.Cube's computational modules, you need to assign physical properties to each geometric object. In these modules, geometric objects are grouped together by their common physical properties as well as their color. The types of physical properties may differ in different computational modules, but they are typically related to the material properties or boundary conditions.
From an electromagnetic modeling point of view, materials are categorized by the constitutive relations or boundary conditions that relate electric and magnetic fields. In general, an isotropic material medium is macroscopically characterized by four constitutive parameters:
- Permittivity (ε) having units of F/m
- Permeability (μ) having units of H/m
- Electric conductivity (σ) having units of S/m
- Magnetic conductivity (σm) having units of Ω/m
The permittivity and permeability of a material are typically related to the permittivity and permeability of the free space as follows:
- [math] \epsilon = \epsilon_r \epsilon_0 [/math]
- [math] \mu = \mu_r \mu_0, \quad \quad [/math]
where ε0 = 8.854e-12 F/m, μr = 1.257e-6 H/m, and εr and μr are called relative permittivity and permeability of the material, respectively.
The constitutive parameters relate the field quantities in the material medium:
- [math] \mathbf{D} = \epsilon \mathbf{E}, \quad \quad \mathbf{J} = \sigma \mathbf{E} [/math]
- [math] \mathbf{B} = \epsilon \mathbf{H}, \quad \quad \mathbf{M} = \sigma_m \mathbf{H} [/math]
where E and H are the electric and magnetic fields, respectively, D is the electric flux density, also known as the electric displacement vector, B is the magnetic flux density, also known as the magnetic induction vector, and J and M are the electric and magnetic current densities, respectively.
The electric conductivity and magnetic conductivity parameters represent the material losses. In frequency-domain simulations under a time-harmonic (ejωt) field assumption, it is often convenient to define a complex relative permittivity and a complex relative permeability in the following manner:
- [math] \epsilon_r = \epsilon^{\prime}_r -j\epsilon^{\prime\prime}_r = \epsilon^{\prime}_r -j\frac{\sigma}{\omega \epsilon_0} = \epsilon^{\prime}_r (1 - j \tan \delta ) [/math]
- [math] \mu_r = \mu^{\prime}_r -j\mu^{\prime\prime}_r = \mu^{\prime}_r - j\frac{\sigma_m}{\omega \mu_0} = \mu^{\prime}_r (1 - j \tan \delta_m)[/math]
where ω = 2πf, and f is the operational frequency, and the electric and magnetic loss tangents are defined as follows:
- [math] \tan \delta = \epsilon^{\prime\prime}_r / \epsilon^{\prime}_r [/math]
- [math] \tan \delta_m = \mu^{\prime\prime}_r / \mu^{\prime}_r [/math]
Three special media are frequently encountered in electromagnetic problems:
Medium | εr | μr | σ | σm |
---|---|---|---|---|
Free Space | 1.0 | 1.0 | 0.0 | 0.0 |
Perfect Electric Conductor (PEC) | 1.0 | 1.0 | ∞ | 0.0 |
Perfect Magnetic Conductor (PMC) | 1.0 | 1.0 | 0.0 | ∞ |
EM.Cube offers a large variety of material types listed in the table below:
Material Type | Supporting Module(s) |
---|---|
Perfect Electric Conductor (PEC) | EM.Tempo, EM.Illumina, EM.Ferma, EM.Picasso, EM.Libera |
Thin Wire | EM.Tempo, EM.Libera |
Perfect Magnetic Conductor (PMC) | EM.Tempo, EM.Illumina, EM.Picasso |
Dielectric | EM.Tempo, EM.Ferma, EM.Picasso, EM.Libera, EM.Terrano |
Impedance Surface | EM.Illumina |
Conductive Sheet | EM.Picasso |
Anisotropic Material | EM.Tempo |
Dispersive Material | EM.Tempo |
Inhomogeneous Material | EM.Tempo |
Click here to access Glossary of EM.Cube's Materials & Physical Object Types.
The table below compares EM.Cube's computational modules with regards to their material variety:
Module Name | Material Types |
---|---|
EM.Tempo | PEC, PMC, dielectric, anisotropic, dispersive, complex materials |
EM.Terrano | Material surfaces, thin walls and material volumes |
EM.Illumina | PEC, PMC, impedance surfaces |
EM.Ferma | PEC, dielectric or magnetic materials |
EM.Picasso | PEC and slot traces, short vias, infinite substrate layers |
EM.Libera | PEC, homogeneous dielectric |
Defining the Computational Domain & Boundary Conditions in EM.Cube
The table below compares EM.Cube's computational modules with regards to their computational domain and boundary condition types:
Module Name | Domain Type | Domain Boundary Conditions |
---|---|---|
EM.Tempo | Finite box | PEC, PMC, PML |
EM.Terrano | Open-boundary free space with optional half-space ground | Radiation BC |
EM.Illumina | Open-boundary free space | Radiation BC |
EM.Ferma | Finite box | Dirichlet & Neuman |
EM.Picasso | Open-boundary with multilayer background medium | Radiation BC |
EM.Libera | Open-boundary free space | Radiation BC |
Exciting a Physical Structure Using Sources or Devices in EM.Cube
In order to perform an electromagnetic simulation in any of EM.Cube's computational modules, you need to excite your physical structure using some kind of source. In most cases, you can define more than one source if necessary. In EM.Tempo, a source pumps energy into your FDTD computational domain in the form of a temporal waveform varying as a function time. In the MoM-based modules, EM.picasso and EM.Libera, a source provides the "right-hand-side (RHS)" vector of the MoM linear system resulting from the integral equation formulation of your boundary value problem. In EM.Illuumina, a source is used to illuminate your surfaces. In EM.Terrano, a source acts as a transmitter that launches the broadcast signal into the free space. In EM.Ferma, you need either an electric or magnetic source to set the boundary conditions for the Laplace equation or provide the source term for the Poisson equation.
In each module, you should choose the right source type depending on the purpose of your simulation and based on the observables you define for your project. For example, for computing the radar cross section (RCS) of a target, you need a plane wave source. If you are interested in computing the S/Z/Y parameters of your structure, then you have to choose a source type like a gap or lumped source that supports a "Port Definition" observable.
EM.Cube provides a large variety of source types listed in the table below:
Source Type | Supporting Module(s) |
---|---|
Lumped Source | EM.Tempo |
Waveguide Source | EM.Tempo |
Distributed Source | EM.Tempo |
Gap Source | EM.Picasso, EM.Libera |
Probe Source | EM.Picasso |
De-embedded Source | EM.Picasso |
Hertzian Dipole Source | EM.Tempo, EM.Illumina, EM.Picasso, EM.Libera, EM.Terrano |
Plane Wave Source | EM.Tempo, EM.Illumina, EM.Picasso, EM.Libera |
Gaussian Beam Source | EM.Tempo |
Huygens Source | EM.Illumina, EM.Picasso, EM.Libera |
Transmitter Set | EM.Terrano |
Fixed-Potential PEC with Nonzero Voltage | EM.Ferma |
Volume Charge Source | EM.Ferma |
Wire Current Source | EM.Ferma |
Volume Current Source | EM.Ferma |
Permanent Magnet with Nonzero Magnetization | EM.Ferma |
Click here to access Glossary of EM.Cube's Excitation Sources.
The table below compares EM.Cube's computational modules with regards to their excitation source and lumped device types:
Module Name | Excitation/Sources | Lumped Devices |
---|---|---|
EM.Tempo | Lumped and distributed sources, plane wave, Gaussian beam, arbitrary waveform | Passive and active, linear and nonlinear devices and circuits |
EM.Terrano | Transmitters, Hertzian dipoles | N/A |
EM.Illumina | Hertzian dipole, plane wave, Huygens source | N/A |
EM.Ferma | Charge, current and permanent magnet | N/A |
EM.Picasso | Gap source, wave port, Hertzian dipole, plane wave, Huygens source | Simple passive RLC lumped elements |
EM.Libera | Gap source, Hertzian dipole, plane wave, Huygens source | Simple passive RLC lumped elements |
Defining Simulation Observables in EM.Cube
In most of EM.Cube's computational modules, you have to define one or more observables to generate any output data at the end of a simulation. In other words, no simulation data is generated by itself. EM.Cube provides a large variety of simulation data and observable types as listed in the table below:
Simulation Data Type | Required Observable | Supporting Module(s) |
---|---|---|
Electric and Magnetic Field Distributions | Field Sensor | EM.Tempo, Em.Terrano, EM.Illumina, EM.Ferma, EM.Picasso, EM.Libera |
Electric and Magnetic Current Distributions | Current Distribution | EM.Illumina, EM.Picasso, EM.Libera |
Temporal Fields | Field Probe | EM.Tempo |
Far-Field Radiation Patterns | Far Fields - Radiation Pattern | EM.Tempo, Em.Terrano, EM.Illumina, EM.Picasso, EM.Libera |
Radar Cross Section (RCS) | Far Fields - RCS | EM.Tempo, EM.Illumina, EM.Picasso, EM.Libera |
Huygens Surface Data | Huygens Surface | EM.Tempo, Em.Terrano, EM.Illumina, EM.Picasso, EM.Libera |
Port Characteristics (S/Z/Y Parameters) | Port Definition | EM.Tempo, EM.Picasso, EM.Libera |
Periodic Reflection and Transmission Coefficients | No Observables Required | EM.Tempo, EM.Picasso |
Temporal Electric and Magnetic Energy | Domain Energy | EM.Ferma |
Static Electric and Magnetic Energy & Ohmic Losses | Field Integral | EM.Ferma |
Voltage and Current | Field Integrals | EM.Ferma |
Electric and Magnetic Flux | Field Integrals | EM.Ferma |
Resistance, Capacitance, Inductance | Field Integrals | EM.Ferma |
Received Power | Receiver Set | EM.Terrano |
Singal-to-Noise Ratio (SNR) | Receiver Set | EM.Terrano |
Channel Path Loss | Receiver Set | EM.Terrano |
Click here to access Glossary of EM.Cube's Simulation Observables.
The table below compares EM.Cube's computational modules with regards to their observable types:
Module Name | Observables |
---|---|
EM.Tempo | Near-field, far-field, RCS, periodic R/T, S/Z/Y parameters, port current/voltage/power |
EM.Terrano | Far-field & received power |
EM.Illumina | Far-field & RCS |
EM.Ferma | Electric or magnetic field & potential, voltage, current, energy, power |
EM.Picasso | Current distribution, far-field, periodic R/T, S/Z/Y parameters |
EM.Libera | Current distribution, far-field, RCS, S/Z/Y parameters |
Discretizing a Physical Structure Using a Mesh Generator in EM.Cube
EM.Cube's computational modules use a number of different mesh generation schemes to discretize your physical structure. Even CubeCAD provides several tools for object discretization. In general, all of EM.Cube's mesh generation schemes can be grouped into three categories representing their dimensionality:
- Linear Mesh
- Surface Mesh
- Volume Mesh
The linear mesh is also known as wireframe mesh and is used by EM.Libera to discretize the physical structure for Wire MoM simulation. EM.Cube offer two surface mesh types: triangular surface mesh and hybrid surface mesh. As its name implies, a triangular surface mesh is made up of interconnected triangular cells. EM.Terrano, EM.Illumina, EM.Libera and EM.Picasso all use triangular surface mesh generators to discretized surface CAD objects and the surface of solid CAD objects. The hybrid surface mesh is EM.Picasso's default mesh. It combines rectangular and triangular cells to discretize planar structures. The hybrid surface mesh generator tries to produce as many identical rectangular cells as possible in rectangular regions of your planar structure.
EM.Cube provides two types of brick meshes to discretize the volume of your computational domain. Brick meshes are entire-domain volume meshes and are made up of cubic cells. Brick meshes are indeed generated by a three-dimensional arrangement of grid lines along the X, Y and Z dimensions. EM.Tempo offers an Adaptive brick mesh as well as a fixed-cell brick mesh for the FDTD simulation of your physical structure. EM.Ferma offers only a fixed-mesh brick mesh for the solution of electrostatic and magnetostatic Poisson equations.
The objects of your physical structure are discretized based on a specified mesh density. The default mesh densities of EM.Tempo, EM.Picasso, EM.Libera and EM.Illumina are expressed as the number of cells per effective wavelength. Therefore, the resolution of the default mesh in these modules are frequency-dependent. You can also define the mesh resolution using a fixed cell size or fixed edge length specified in project units. The mesh density of EM.Terrano is always expressed in terms of cell edge length. The mesh resolution of EM.Ferma is always specified as the fixed cell size. All of EM.Cube's computational modules have default mesh settings that usually work well for most simulations.
The accuracy of the numerical solution of an electromagnet problem depends greatly on the quality and resolution of the generated mesh. As a rule of thumb, a mesh density of about 10-30 cells per effective wavelength usually yields satisfactory results. Yet, for structures with lots of fine geometrical details or for highly resonant structures, higher mesh densities may be required. Also, the particular simulation data that you seek in a project also influence your choice of mesh resolution. For example, far field characteristics like radiation patterns are less sensitive to the mesh density than the near-field distributions on a structure with a highly irregular shape and a rugged boundary.
Click here to access Glossary of EM.Cube's Mesh Generators.
The table below compares EM.Cube's computational modules with regards to their mesh generator types:
Module Name | Mesh Type |
---|---|
EM.Tempo | Adaptive and fixed-cell volumetric brick mesh |
EM.Terrano | Triangular facet mesh |
EM.Illumina | Triangular surface mesh |
EM.Ferma | Fixed-cell volumetric brick mesh |
EM.Picasso | Hybrid rectangular-triangular surface mesh |
EM.Libera | Wireframe and triangular surface mesh |