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.
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)