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 coil resistance, the back electromotive force, and the applied voltage set the current through the coil, 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\) [Wb] the magnetic flux linkage.

Note

For a stranded coil, the circuit equation uses only the resistance value that you supply. mufem does not add the DC resistance of the winding. Set resistance to the winding resistance plus any external series resistance. The Coil Resistance Report gives the winding resistance.

Use get_resistance() to get the series resistance from the excitation object.

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