class documentation

Implements the Biot-Savart law for calculating the magnetic flux density (B-field) and vector potential (A-field). Backend: JIT.

Static Method worker Applies the Biot-Savart law for calculating the magnetic flux density (B-field) or vector potential (A-field) for a single sampling volume point.
Method __init__ Initializes the class attributes.
Method get_result Calculates the field at every point of the sampling volume.
Instance Variable _current_elements Undocumented
Instance Variable _dc Undocumented
Instance Variable _distance_limit Undocumented
Instance Variable _field_type Undocumented
Instance Variable _length_scale Undocumented
Instance Variable _progress_callback Undocumented
Instance Variable _sampling_volume_permeabilities Undocumented
Instance Variable _sampling_volume_points Undocumented
@staticmethod
@ConditionalDecorator(get_jit_enabled(), jit, nopython=True, parallel=True)
def worker(field_type: int, distance_limit: float, length_scale: float, current_elements: np.ndarray, sampling_volume_point: np.ndarray) -> tuple[int, int, np.ndarray] | None:

Applies the Biot-Savart law for calculating the magnetic flux density (B-field) or vector potential (A-field) for a single sampling volume point.

Parameters
field_type:intField type
distance_limit:floatDistance limit (mitigating divisions by zero)
length_scale:floatLength scale (m)
current_elements:np.ndarrayOrdered list of current elements (pairs: [element center, element direction])
sampling_volume_point:np.ndarraySampling volume point
Returns
tuple[int, int, np.ndarray] | None(Total # of calculations, total # of skipped calculations, vector)
def __init__(self, field_type: int, distance_limit: float, length_scale: float, dc: float, current_elements: np.ndarray, sampling_volume_points: np.ndarray, sampling_volume_permeabilities: np.ndarray, progress_callback: Callable):

Initializes the class attributes.

Parameters
field_type:intField type
distance_limit:floatDistance limit (mitigating divisions by zero)
length_scale:floatLength scale (m)
dc:floatWire current (A)
current_elements:np.ndarrayOrdered list of current elements (pairs: [element center, element direction])
sampling_volume_points:np.ndarrayOrdered list of sampling volume points
sampling_volume_permeabilities:np.ndarrayOrdered list of sampling volume's relative permeabilities µ_r
progress_callback:CallableProgress callback
def get_result(self) -> tuple[int, int, np.ndarray] | None:

Calculates the field at every point of the sampling volume.

Returns
tuple[int, int, np.ndarray] | None(Total # of calculations, total # of skipped calculations, field) if successful, None if interrupted
_current_elements =

Undocumented

_dc =

Undocumented

_distance_limit =

Undocumented

_field_type =

Undocumented

_length_scale =

Undocumented

_progress_callback =

Undocumented

_sampling_volume_permeabilities =

Undocumented

_sampling_volume_points =

Undocumented