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. It does not constrain the potential directly. The external field may be any vector coefficient, so you can use space- and time-dependent excitations.

When to use this

  • Time-varying external excitation. Apply a known background field on the outer boundary, for example a swept or pulsed source that drives 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 you can use time- or space-dependent excitations:

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)