Skip to content

Excitation Voltage

The CoilExcitationVoltage excitation option applies a voltage across the coil. The voltage can be a constant value, a time-dependent function (for transient simulation), or a complex amplitude (for time-harmonic simulation).

The current flowing through the coil is determined by the coil's resistance, the back electromotive force, and the applied voltage according to Ohm's law:

\[ I = \frac{1}{R} \left( V - \mathcal{EMF} \right) \]

where \(I\) [A] is the current through the coil, \(V\) [V] is the applied voltage, \(R\) [\(\Omega\)] is the series resistance, and \(\mathcal{EMF}\) [V] is the back-EMF induced in the coil by the time-varying field:

\[ \mathcal{EMF} = -\frac{\mathrm{d} \Psi}{\mathrm{d}t}, \]

with \(\Psi\) the magnetic flux linkage.

When to use this

  • Realistic transformer and inductor analysis driven by the mains or by a known voltage source — the current is the unknown response.
  • Voltage-fed motor drives where the inverter is modelled as a voltage source with known waveform.
  • Inrush / fault studies where the coil draws a transient current through its impedance.
  • Self-consistent eddy-current loops — voltage excitation closes the circuit equation, so induced currents back-react on the applied current.

Examples

DC voltage with series resistance

from mufem.electromagnetics.coil import CoilExcitationVoltage

coil_excitation = CoilExcitationVoltage(voltage=12.0, resistance=3.09)

Time-dependent voltage from tabulated data

import mufem

voltage_signal = mufem.CffInterpolatedScalar(
    times=time_array,
    values=voltage_array,
)

coil_excitation = CoilExcitationVoltage(
    voltage=voltage_signal,
    resistance=3.09,
)

Harmonic voltage

Pass a complex amplitude or a (magnitude, phase_in_degrees) tuple:

# 230 V RMS at 0° via complex amplitude
coil_excitation = CoilExcitationVoltage(
    voltage=complex(230.0, 0.0),
    resistance=1.5,
)

# Same, via (magnitude, phase) tuple
coil_excitation = CoilExcitationVoltage(
    voltage=(230.0, 0.0),
    resistance=1.5,
)