Numerical Modeling of Electromagnetic Problems Using EM.Cube
- 1 An Overview of Computational Electromagnetics
- 2 Typical Steps of Computer Simulation of an Electromagnetic Problem
- 3 A Functional Comparison of EM.Cube's Numerical Solvers
- 4 Geometrical Construction of the Physical Structure
- 5 Material Composition of the Physical Structure
- 6 Defining the Computational Domain & Boundary Conditions in EM.Cube
- 7 Exciting a Physical Structure Using Sources or Devices in EM.Cube
- 8 Defining Simulation Observables in EM.Cube
- 9 Discretizing a Physical Structure Using a Mesh Generator in EM.Cube
An Overview of Computational Electromagnetics
Mathematically speaking, all electromagnetic modeling problems require solving some form of Maxwell's equations subject to 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.
The numerical techniques used in computational electromagnetics (CEM) are generally divided into three categories:
- Full-Wave Techniques: These techniques solve the dynamic form of Maxwell's equations either in the time domain or in the frequency domain. They typically require a very fine discretization of the physical structure with a frequency-dependent mesh resolution. Some of the most well-know methods in this category include the finite difference time domain (FDTD) method, the method of moments (MoM) and the finite element method (FEM). Full-wave techniques provide the highest level of modeling accuracy among CEM methods.
- Quasi-Static Techniques: These techniques assume static DC or low-frequency conditions, which ignore wave retardation effects. Under these conditions, Maxwell's equations reduce to the electrostatic or magnetostatic forms of Laplace/Poisson equations. These methods are effective in solving lumped devices or structures with small electrical dimensions.
- Asymptotic Techniques: These techniques assume quasi-optical or high-frequency conditions, and solve the asymptotic forms of Maxwell'e equations. These methods are effective in solving structures or scenes with very large electrical dimensions. All the ray tracing techniques like the shoot-and Bounce-Rays (SBR) method fall into this category. Another example is the physical optics (PO) method.
Typical Steps of Computer Simulation of an Electromagnetic Problem
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
- Running the numerical solver
- Post-processing and visualization of the output data
The above steps first transform your original physical modeling problem into a computational problem, which must be solved using an appropriate numerical solver.
A question often asked in conjunction with electromagnetic modeling is: "Does one really need more than one simulation engine?" Different numerical techniques have different strengths and weaknesses with respect to modeling versatility and breadth of scope, modeling accuracy and computational efficiency. There is no single numerical technique that can solve all the electromagnetic problems at all frequencies and involving all length scales from microns to miles. A true challenge of electromagnetic modeling is the right choice of numerical technique for any given problem. Depending on the electrical length scales and the physical nature of your problem, some modeling techniques may provide a more accurate or computationally more efficient solution 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 a 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. In addition, verifying and benchmarking different solvers in the same simulation environment helps you better strategize, formulate and validate a definitive solution.
A Functional Comparison 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
- Finite Difference (FD) method solution of electrostatic and magnetostatic Laplace/Poisson equations
- 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
- Physical Optics (PO) method: Geometrical Optics - Physical Optics (GO-PO) method and Iterative Physical Optics (IPO) method
Of EM.Cube's computational modules, EM.Tempo serves as a general-purpose electromagnetic simulator that can handle most types of modeling problems involving arbitrary geometries and complex material variations in both time and frequency domains. 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 fields and ray tubes received at receiver locations||Radio wave propagation in very large scenes|
|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|
|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|
Geometrical Construction of the Physical Structure
A physical structure in EM.Cube is 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.
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 geometric 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.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|
|EM.Illumina||General solid & surface objects - no curve objects|
Material Composition of the Physical Structure
In CubeCAD, geometric objects are simply grouped together by their color. They do not have any physical properties. In all of EM.Cube's computational modules, however, you need to assign physical properties to each geometric object. From an electromagnetic modeling point of view, the difference between a material block and a free-space region is the constitutive relations that govern the electric and magnetic fields in these media and/or their boundary conditions. In EM.Cube's computational 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.
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
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.Ferma, EM.Picasso, EM.Libera, EM.Illumina|
|Thin Wire||EM.Tempo, EM.Libera|
|Perfect Magnetic Conductor (PMC)||EM.Tempo, EM.Picasso, EM.Illumina|
|Dielectric||EM.Tempo, EM.Ferma, EM.Picasso, EM.Libera, EM.Terrano|
|Dispersive Material (Debye, Drude, Lorentz, Generalized Metamaterial)||EM.Tempo|
The table below compares EM.Cube's computational modules with regards to their material variety:
|Module Name||Material Types|
|EM.Tempo||PEC, thin wire, PMC, dielectric, anisotropic, dispersive, voxel database|
|EM.Terrano||Material surfaces, thin walls and material volumes|
|EM.Ferma||PEC, dielectric or magnetic materials|
|EM.Picasso||PEC and slot traces, short vias, infinite substrate layers|
|EM.Libera||PEC, thin wire, homogeneous dielectric|
|EM.Illumina||PEC, PMC, impedance surfaces|
Click here for a more detailed discussion of Assigning Material Properties to the Physical Structure.
Click here to access Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types.
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.Ferma||Finite box||Dirichlet & Neuman|
|EM.Picasso||Open-boundary with multilayer background medium||Radiation BC|
|EM.Libera||Open-boundary free space||Radiation BC|
|EM.Illumina||Open-boundary free space||Radiation BC|
For more information, refer to the manuals of individual computational modules.
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.Illumina, a source is used to illuminate your surfaces, and the scattrering of the incident fields from those surfaces are then computed.
- In EM.Terrano, a source acts as a transmitter that launches the broadcast signal into the free space. The transmitter rays travel in the free space until they reach a receiver or are intercepted by an obstructing surface.
- In EM.Ferma, sources like volume charges and volume currents provide the source term for the Poisson equation, while fixed-potential PEC objects set the boundary conditions for the Laplace 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||Applications||Restrictions||Supporting Module(s)|
|Lumped Source||General-purpose point voltage source||Associated with a PEC or thin wire line||EM.Tempo|
|Distributed Source||General-purpose distributed voltage source||Associated with a virtual rectangle strip||EM.Tempo|
|Microstrip Port Source||Used for S-parameter computations||Associated with a PEC rectangle strip||EM.Tempo|
|CPW Port Source||Used for S-parameter computations||Associated with a PEC rectangle strip||EM.Tempo|
|Coaxial Port Source||Used for S-parameter computations||Associated with a PEC Cylinder||EM.Tempo|
|Waveguide Port Source||Used for S-parameter computations||Associated with a hollow PEC box||EM.Tempo|
|Wire Gap Circuit Source||General-purpose point voltage source||Associated with a PEC or thin wire line||EM.Libera|
|Strip Gap Circuit Source||General-purpose point voltage source||Associated with a PEC rectangle strip||EM.Picasso, EM.Libera|
|Probe Gap Circuit Source||Used for modeling short coaxial probes||Associated with a PEC embedded via||EM.Picasso|
|Scattering Wave Port Source||Used for S-parameter computations||Associated with a PEC rectangle strip||EM.Picasso|
|Hertzian Dipole Source||General-purpose short filament current source||Stand-alone source||EM.Tempo, EM.Picasso, EM.Libera, EM.Illumina, EM.Terrano|
|Plane Wave Source||Used for scattering computations||Stand-alone source||EM.Tempo, EM.Picasso, EM.Libera, EM.Illumina|
|Gaussian Beam Source||Used for modeling focused beams||Stand-alone source||EM.Tempo|
|Huygens Source||Used as a distributed equivalent||Imported from a Huygens data file||EM.Picasso, EM.Libera, EM.Illumina|
|Transmitter Set||Used as a point source with an imported radiation pattern||Associated with a point or point array||EM.Terrano|
|Fixed-Potential PEC||Used as a distributed DC voltage source||Requires drawing geometric objects||EM.Ferma|
|Volume Charge||Used as a distributed eelctric charge source||Requires drawing geometric objects||EM.Ferma|
|Wire Current||Used as a linear filament current source||Requires drawing geometric objects||EM.Ferma|
|Volume Current||Used as a distributed elctric current source||Requires drawing a line or polyline||EM.Ferma|
|Permanent Magnet||Used as a distributed magnetization source||Requires drawing geometric objects||EM.Ferma|
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, distributed, microstrip, COW, coaxial and waveguide sources, plane wave, Gaussian beam, arbitrary waveform||Resistor, capacitor, inductor and nonlinear diode|
|EM.Terrano||Transmitters, Hertzian dipoles||N/A|
|EM.Ferma||Volume charge, volume current, wire current and permanent magnet||N/A|
|EM.Picasso||Strip and probe gap circuit sources, scattering wave port, Hertzian dipole, plane wave, Huygens source||Simple passive RLC lumped elements|
|EM.Libera||Strip and wire gap circuit sources, Hertzian dipole, plane wave, Huygens source||Simple passive RLC lumped elements|
|EM.Illumina||Hertzian dipole, plane wave, Huygens source||N/A|
Click here for a more detailed discussion of Defining an Excitation Source.
Click here to access Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types.
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.Ferma, EM.Picasso, EM.Libera, EM.Illumina|
|Electric and Magnetic Current Distributions||Current Distribution||EM.Picasso, EM.Libera, EM.Illumina|
|Temporal Fields||Field Probe||EM.Tempo|
|Far-Field Radiation Patterns||Far-Field Radiation Pattern||EM.Tempo, EM.Picasso, EM.Libera, EM.Illumina, EM.Terrano|
|Radiation Characteristics (D0, HPBW, SLL, AR, etc.)||Far-Field Radiation Pattern||EM.Tempo, EM.Picasso, EM.Libera, EM.Illumina, EM.Terrano|
|Radar Cross Section (RCS)||RCS||EM.Tempo, EM.Picasso, EM.Libera, EM.Illumina|
|Huygens Surface Data||Huygens Surface||EM.Tempo, EM.Picasso, EM.Libera, EM.Illumina, EM.Terrano|
|Port Characteristics (S/Z/Y Parameters)||Port Definition||EM.Tempo, EM.Picasso, EM.Libera|
|Port Voltags, Currents & Powers||Port Definition||EM.Tempo|
|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|
The table below compares EM.Cube's computational modules with regards to their observable types:
|EM.Tempo||Near-field distributions, far-field radiation patterns and characteristics, RCS, periodic R/T coefficients, temporal waveforms, S/Z/Y parameters, port current/voltage/power|
|EM.Terrano||Received power coverage, field distributions, SNR, ray information|
|EM.Ferma||Electric or magnetic fields & potentials, voltage, current, energy, Ohmic power loss|
|EM.Picasso||Current distributions, exterior near-field distributions, far-field radiation patterns and characteristics, RCS, periodic R/T, S/Z/Y parameters|
|EM.Libera||Current distributions, exterior near-field distributions, far-field radiation patterns and characteristics, RCS, S/Z/Y parameters|
|EM.Illumina||Current distributions, exterior near-field distributions, far-field radiation patterns and characteristics, RCS|
Click here to access Glossary of EM.Cube's Simulation Observables & Graph Types.
Discretizing a Physical Structure Using a Mesh Generator in EM.Cube
In order to transform a physical modeling problem into a computational problem that can be solved using a numerical technique, your physical structure must first be discretized into simple canonical elements or mesh cells. EM.Cube's computational modules use a number of different mesh generation schemes to discretize physical structures. Even CubeCAD provides several tools for object discretization. In general, all of EM.Cube's mesh generation schemes can be grouped into three categories based on dimensionality:
- Linear Mesh
- Surface Mesh
- Volume Mesh
The linear mesh, also known as the wireframe mesh, is used by EM.Libera to discretize the physical structure for Wire MoM simulation. EM.Cube offers two types of surface mesh: 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 discretize surface geometric objects as well as the surface of solid geometric 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 mesh, also known as voxel mesh, to discretize the volume of your computational domain. Brick meshes are entire-domain volume meshes and are made up of cubic cells. They are generated by a three-dimensional arrangement of grid lines along the X, Y and Z axes. 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 Laplace/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 is 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 very much on the quality and resolution of the generated mesh. As a rule of thumb, a mesh density of about 10-25 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. The particular simulation data you seek in a project also influences 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.
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 (voxel) mesh|
|EM.Terrano||Triangular facet mesh|
|EM.Ferma||Fixed-cell volumetric brick mesh|
|EM.Picasso||Hybrid rectangular-triangular surface mesh|
|EM.Libera||Wireframe and triangular surface mesh|
|EM.Illumina||Triangular surface mesh|
Click here to access Glossary of EM.Cube's Simulation-Related Operations.