Skip to content

Tangential Magnetic Field Condition

The tangential magnetic field condition is a boundary condition that imposes a prescribed tangential magnetic field on \(\Gamma\):

\[ \left. \mathbf{H} \times \mathbf{n} \right|_{\Gamma} = \mathbf{H}_\text{ext}. \]

By Ampère's law this is equivalent to prescribing a surface current density \(\mathbf{K}_s = \mathbf{n} \times \mathbf{H}\) on the boundary.

Prescribed tangential magnetic field on the boundary
Figure 1: A prescribed tangential field $\mathbf{H}_\text{ext}$ along the boundary $\Gamma$, equivalent to an imposed surface current density $\mathbf{K}_s = \mathbf{n} \times \mathbf{H}$ (shown flowing into the page).


Applicability

Applicable on boundary surfaces. It imposes the prescribed tangential field through a weak-form (Neumann-type) surface term — equivalent to a surface current — and does not constrain the potential directly. The external field may be any vector coefficient, so space- and time-dependent excitations are supported.

When to use this

  • Time-varying external excitation. Apply a known background field on the outer boundary, e.g. a swept or pulsed source driving the system.
  • Source replacement. Replace a distant excitation coil or solenoid by its known surface-field contribution, avoiding the need to mesh it.
  • Transient drive in benchmarks. Many verification cases (Compumag TEAM-style) specify a uniform applied \(\mathbf{H}\) on the outer surfaces.

Usage

The external field can be a constant tuple or any vector coefficient, so time- or space-dependent excitations are supported:

import mufem
from mufem.electromagnetics.timedomainmagnetic import (
    TangentialMagneticFieldBoundaryCondition,
)

external_field = mufem.CffExpressionVector("[0, 0, 7.957747e5 * {Time}]")

tangential_field_bc = TangentialMagneticFieldBoundaryCondition(
    name="ExternalField",
    marker="Air::Boundary" @ Bnd,
    tangential_magnetic_field=external_field,
)

time_domain_magnetic_model.add_condition(tangential_field_bc)