Skip to content

Electrostatics Material

ElectrostaticMaterial binds a Marker to the dielectric law used by the electrostatics model. The material is characterised by its electric permittivity \(\varepsilon\) — the only property needed in the Poisson equation \(\nabla\cdot(\varepsilon\nabla\phi) = -\rho\).

material = ElectrostaticMaterial(
    name=...,
    marker=...,
    electric_permittivity=...,  # method object, scalar, or None (-> vacuum)
)

Passing a float is auto-wrapped as a relative constant; passing None selects vacuum (\(\varepsilon_r = 1\)).

Typical applications

The general electrostatic material covers the regions most often encountered in HV / capacitor / MEMS / electron-optics studies:

  • Air, vacuum, and gases — defaults (\(\varepsilon_r = 1\)).
  • Solid dielectrics (oils, mineral / pressboard insulation, polymer films, ceramics) — constant relative permittivity from datasheet values.
  • Inhomogeneous insulators and graded dielectrics — use the function method with a coefficient that varies in space (or couples to temperature, humidity, etc.).
  • Semiconductor / piezoelectric layers when modelled as position-dependent permittivity.

Permittivity Methods

Electric Permittivity Methods
Name Example Description
Vacuum (default)
my_eps = None
Equivalently:
my_eps = ElectricPermittivityMethodRelativeConstant(
    relative_electric_permittivity=1.0,
)
Vacuum permittivity $\varepsilon = \varepsilon_0$.
Relative Constant
my_eps = 2.7
Equivalently:
my_eps = ElectricPermittivityMethodRelativeConstant(
    relative_electric_permittivity=2.7,
)
Constant relative permittivity: $\varepsilon = \varepsilon_0 \varepsilon_r$.
Function
eps_r_field = mufem.CffExpressionScalar(
    "2.0 + 0.5 * exp(-z()^2)"
)
my_eps = ElectricPermittivityMethodFunction(
    cff_scalar_variable=eps_r_field,
)
Spatially varying relative permittivity supplied through any scalar coefficient function — useful for graded dielectrics or coupling with other models.

Example

A simple air region:

from mufem.electromagnetics.electrostatics import ElectrostaticMaterial

air = ElectrostaticMaterial(name="Air", marker="Air" @ Vol)

An oil-filled HV bushing modelled with \(\varepsilon_r = 2.2\):

oil = ElectrostaticMaterial(
    name="Oil",
    marker="Bushing" @ Vol,
    electric_permittivity=2.2,
)