General Material¶
Introduction¶
A time-domain magnetic general material is defined by its magnetic permeability \(\mu\), electric conductivity \(\sigma\), and remanent magnetc flux density \(\mathbf{B}_r\) material properties - with an additional flag to indicate if eddy currents are present.
A user can define their own material by specifying the material properties methods individually using:
my_material = TimeDomainMagneticGeneralMaterial(
name="My Material",
marker=my_material_marker,
magnetic_permeability=my_mu,
electric_conductivity=mu_sigma,
remanent_flux_density=my_br,
has_eddy_currents=True,
)
Where each of the three material properties my_mu (\(\mu\)), my_sigma (\(\sigma\)), and
my_br(\(\mathbf{B}_r\)) can be defined by specifying a property method to compute those.
Material Properties¶
Magnetic Permeability¶
The magnetic permeability describes how a material responds to a magnetic field and how strongly magnetic flux is established inside the material. It links the magnetic field strength \(\mathbf{H}\) to the magnetic flux density \(\mathbf{B}\) via the magnetic constitutive law \(\mathbf{B} = \mu \mathbf{H}\).
In general the magnetic permeability \(\mu\) is described by a symmetric two-rank tensor:
Note that each component may additionally have dependency on other physical quantities, such as temperature or be nonlinear (dependent on the magnetic flux density).
The magnetic permeability can be defined by the following methods summarized in Table 1.
| Name | Example | Description |
|---|---|---|
| Non-magnetic (default) |
Alternatively also using
|
Specify the vacuum permeability \( \mu = \mu_0 \). |
| Constant |
Alternatively also using
|
Specify a constant, isotropic relative magnetic permeability $\mu_r$, so that \( \mu = \mu_0 \mu_r \). |
| BH Curve |
Alternatively also using
|
The BH Curve is a non-linear isotropic specification, where the permeability is obtained from the relation between $$ \begin{align*} \mu \leftarrow \mathbf{B}(|\mathbf{H}|) \quad. \end{align*} $$ where $B$ and $H$ are given by tabulated values. Note that the table needs to be strict monotonic. |
| Linear Temperature Coefficient |
|
Specify an isotropic relative magnetic permeability with a linear temperature dependence
\( \mu(T) = \mu_0 \left( \mu_{\text{ref}} + \alpha (T - T_{\text{ref}}) \right) \), where:
|
| Orthotropic Tensor |
|
$$ \begin{align*} \mu &= \left( \begin{array}{ccc} \mu_{xx} & & \\ & \mu_{yy} & \\ & & \mu_{zz} \end{array} \right) \end{align*} $$ allows the specification of each axis component of the magnetic permeability tensor. |
Electrical Conductivity¶
The electrical conductivity is the measure of a material's ability to conduct electric current. It is represented by the symbol \(\sigma\) and is expressed in units of siemens per meter (S/m). The electrical conductivity links the electric field \(\mathbf{E}\) to the electric current density \(\mathbf{J}\) via the Ohm's law \(\mathbf{J} = \sigma \mathbf{E}\).
In general, the electrical conductivity \(\sigma\) is described by a symmetric two-rank tensor:
Note that each component may additionally have dependency on other physical quantities, such as temperature or be nonlinear (dependent on the magnetic flux density). In many cases an isotropic material is assumed, where the tensor is diagonal.
| Name | Example | Description |
|---|---|---|
| Insulating (Default) |
Alternatively
|
Specifies a zero electrical conductivity: $$ \begin{align*} \sigma &= 0 \end{align*} $$ |
| Constant |
|
ElectricConductivityPropertyMethodConstantSpecify a constant, isotropic electrical conductivity: $$ \begin{align*} \sigma &= \sigma_{\text{usr}} \end{align*} $$ |
| Constant Anisotropic |
|
Specify a (symmetric) electrical conductivity tensor: $$ \begin{align*} \sigma &= \left( \begin{array}{ccc} \sigma_{xx} & \sigma_{xy} & \sigma_{xz} \\ & \sigma_{yy} & \sigma_{yz} \\ & & \sigma_{zz} \end{array} \right) \end{align*} $$ allowing individual component specification. |
| Linear Temperature Coefficient |
|
Specify an isotropic electrical conductivity with linear temperature dependence:
$$
\begin{align*}
\sigma(T) &= \left[
\sigma_{\text{ref}} - \gamma \left( T - T_{\text{ref}} \right)
\right]\mathbf{I}
\end{align*}
$$
where:
|
| Temperature Table |
|
Specify an isotropic electrical conductivity from a temperature table: $$ \begin{align*} \sigma(T) &= \sigma(T)\mathbf{I} \end{align*} $$ Note that this requires a Temperature Model to be present. |
Magnetization¶
The magnetization describes the density of magnetic dipole moments inside a material and represents the magnetic moment per unit volume. It contributes to the magnetic flux density in addition to the applied magnetic field. The magnetic flux density is given by \(\mathbf{B} = \mu \mathbf{H} + \mathbf{B}_r\). For permanent magnets, the material is commonly characterized by the remanent flux density \(\mathbf{B}_r\), which describes the magnetic flux density retained after removal of the external magnetizing field.
In general, the remanent flux density is described as a vector: $$ \begin{align} \mathbf{B}_r = B_r \mathbf{d}, \end{align} $$
where
- \(B_r\) — remanent flux density magnitude
- \(\mathbf{d}\) — unit vector defining the magnetization direction
The magnetization may depend on temperature, external magnetic fields, and material history (e.g., nonlinear or hysteretic behavior).
The magnetization can be defined by the following methods summarized in Table 3.
| Name | Example | Description |
|---|---|---|
| Zero (Default) |
|
Specify zero remanent flux density: $$ \begin{align*} \mathbf{B}_r &= 0 \end{align*} $$ |
| Constant |
|
Specify a constant remanent flux density vector: $$ \begin{align*} \mathbf{B}_r &= \mathbf{B}_{r,\text{usr}} \end{align*} $$ |
Examples¶
We can create a linear permanent magnet material through a function using
from mufem.electromagnetics.timedomainmagnetic import TimeDomainMagneticGeneralMaterial
magnet_material = TimeDomainMagneticGeneralMaterial.Magnet(
name="Magnet Material",
marker=my_magnet_material_marker,
relative_permeability=1.12,
electric_conductivity=0.0,
magnetization=[1.02, 0.0, 0.0],
)
the same can be achieved by specifying the methods individually using
from mufem.electromagnetics.timedomainmagnetic import (
ElectricConductivityMethodInsulating,
TimeDomainMagneticGeneralMaterial,
MagneticPermeabilityMethodLinearIsotropic,
MagnetizationMethodDirection
)
permeability_non_magnetic = MagneticPermeabilityMethodLinearIsotropic(1.12)
conductivity_insulating = ElectricConductivityMethodInsulating()
magnetization_direction = MagnetizationMethodDirection(1.02, 0.0, 0.0)
magnet_material = TimeDomainMagneticGeneralMaterial(
"Magnet Material",
my_magnet_material_marker,
permeability_non_magnetic,
conductivity_insulating,
magnetization_direction,
)