Skip to main content

HighFrequency

Description​

Performs three-dimensional full-wave electromagnetic analysis in the frequency-domain using the finite element method (FEM).

By solving Maxwell’s equations, Hado captures electromagnetic wave propagation, reflection, and interactions with materials and boundaries. The resulting solution provides electric and magnetic field distributions and quantities such as S-parameters for evaluating the electromagnetic response of the model.

The model brings together the computational mesh, material assignments, boundary conditions, and operating frequency in a single Python interface. Once configured, the model can be solved to obtain the electromagnetic response for further analysis and visualization.

Construction​

model = HighFrequency()

model = HighFrequency() Creates a high-frequency electromagnetic model. Set frequency before solving the model.

model = HighFrequency(frequency)

model = HighFrequency(frequency) Creates a high-frequency electromagnetic model and sets its analysis frequency.

Constructor Inputs​

NameTypeUnitRequiredDefaultDescription

frequency

int | float | list | tuple | numpy.ndarray

Hz

Optional

None

Operating frequency for the electromagnetic analysis.

Properties​

frequency

Type int | float | list | tuple | numpy.ndarrayAccess read/writeUnit Hz

Operating frequency for the electromagnetic analysis.

mesh

Type MeshAccess read/write

Mesh describing the three-dimensional computational domain. It defines the regions where electromagnetic fields are solved and the surfaces where boundary conditions can be applied. Assign a Mesh before calling solve.

boundary

Type list[BoundaryCondition]Access read/write

Boundary conditions describing how electromagnetic fields behave on selected surfaces, including conducting surfaces, absorbing boundaries, and excitation ports.

material

Type list[Material]Access read-only

Materials assigned to the computational domains of the model. Each material defines the electromagnetic properties of its corresponding region. Use assign_material to associate a material with one or more mesh domains.

Methods​

solve

Solve the electromagnetic model and return the simulation results.

assign_material

Associate a material with selected mesh domains to define their electromagnetic properties.

show

Visualize the geometry, material regions, and boundary conditions in 3D.

Examples​

Create and solve a high-frequency model

Create a high frequency model object.

#import tanager as tn

#model = tn.HighFrequency(1e9)

#print(model)

Mathematical Definition​

HighFrequency solves the three-dimensional, time-harmonic Maxwell equation for the electric field E\vb{E}:

∇×(μr−1∇×E)−k02 εr E=f(1)\curl\left(\mu_r^{-1}\curl\vb{E}\right) - k_0^2\,\varepsilon_r\,\vb{E} = \vb{f} \tag{1}

where k0k_0 is the free-space wavenumber, εr\varepsilon_r is the relative permittivity, and μr\mu_r is the relative permeability.

Learn more

The electromagnetic formulation and finite element formulation used by Hado are described in the theory documentation.

Errors / Exceptions​

Error / Exceptions List
hado:highfrequencymessage:EmptyFrequency
Condition

solve is called without an assigned frequency.

Resolution

Set model.frequency before calling solve.

tanager:modelmessage:EmptyMesh
Condition

solve is called without an assigned mesh.

Resolution

Assign a Mesh to model.mesh before calling solve.

tanager:modelmessage:InvalidSweepDimension
Condition

A multidimensional NumPy array is assigned to frequency.

Resolution

Use a one-dimensional NumPy array.

tanager:modelmessage:InvalidSweepType
Condition

A Boolean value is assigned to frequency.

Resolution

Use numeric frequency values.

Notes​

The accuracy and computational cost of a finite element solution depend on the mesh resolution, material properties, operating frequency, and numerical solver configuration.

References​

  1. J.-M. Jin. “The Finite Element Method in Electromagnetics.” Wiley–IEEE Press, 2014. 3rd ed.