Excitation Voltage

The CoilExcitationVoltage excitation option applies a voltage across the coil. The voltage can be a constant value or a time-dependent function (for a time-transient 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( U - \mathcal{EMF} \right)\]

where \(I [\rm A]\) is the current through the coil, \(U [{\rm V}]\) is the applied voltage, \(R [{\rm \Omega}]\) is the coil resistance, and \(\mathcal{EMF} [{\rm V}]\) is the back electromotive force induced by the changing magnetic field.

The back EMF (electromotive force) induced in the coil is given by Faraday’s law of induction:

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

where \(\Psi\) is the magnetic flux linkage through the coil, and \(t\) is time.

Usage Example

from mufem.electromagnetics.coil import CoilExcitationVoltage

help(CoilExcitationVoltage)
Help on class CoilExcitationVoltage in module mufem.electromagnetics.coil:

class CoilExcitationVoltage(CoilExcitation)
 |  Method resolution order:
 |      CoilExcitationVoltage
 |      CoilExcitation
 |      pybind11_builtins.pybind11_object
 |      builtins.object
 |
 |  Methods defined here:
 |
 |  __init__(...)
 |      __init__(self: mufem.electromagnetics.coil.CoilExcitationVoltage, electric_voltage: mufem.CffScalarVariableInputTrait, electric_resistance: mufem.CffScalarVariableInputTrait) -> None
 |
 |
 |      Creates a CoilExcitationVoltage with the given properties.
 |
 |      Args:
 |          electric_voltage: Electric voltage
 |          electric_resistance: Electric resistance
 |
 |  getResistance(...)
 |      getResistance(self: mufem.electromagnetics.coil.CoilExcitationVoltage) -> float
 |
 |
 |      Returns the resistance.
 |
 |      Returns:
 |          Resistance as a double.
 |
 |  get_current(...)
 |      get_current(self: mufem.electromagnetics.coil.CoilExcitationVoltage) -> float
 |
 |
 |      Returns the electric current.
 |
 |      Returns:
 |          Electric current as a double.
 |
 |  get_voltage(...)
 |      get_voltage(self: mufem.electromagnetics.coil.CoilExcitationVoltage) -> float
 |
 |
 |      Returns the voltage.
 |
 |      Returns:
 |          Voltage as a double.
 |
 |  ----------------------------------------------------------------------
 |  Static methods defined here:
 |
 |  Constant(...) method of builtins.PyCapsule instance
 |      Constant(voltage: float, resistance: float) -> mufem.electromagnetics.coil.CoilExcitationVoltage
 |
 |
 |      Creates a CoilExcitationVoltage with the given constant current.
 |
 |      Args:
 |           voltage: Constant voltage
 |           resistance: Constant resistance
 |
 |      Returns:
 |           CoilExcitationVoltage: The CoilExcitationVoltage object with the given constant voltage and resistance.
 |
 |  ----------------------------------------------------------------------
 |  Static methods inherited from pybind11_builtins.pybind11_object:
 |
 |  __new__(*args, **kwargs) class method of pybind11_builtins.pybind11_object
 |      Create and return a new object.  See help(type) for accurate signature.