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:
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:
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: