class documentation

class Backend_CUDA:

View In Hierarchy

Implements the Biot-Savart law for calculating the magnetic flux density (B-field) and vector potential (A-field). Backend: JIT + CUDA.
Static Method worker Applies the Biot-Savart law for calculating the magnetic flux density (B-field) or vector potential (A-field) for all sampling volume points.
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
@cuda.jit
def worker(field_type, distance_limit, length_scale, element_centers, element_directions, sampling_volume_points, sampling_volume_permeabilities, field_vectors, total_calculations, total_skipped_calculations):
Applies the Biot-Savart law for calculating the magnetic flux density (B-field) or vector potential (A-field) for all sampling volume points.
Parameters
field_type:intField type
distance_limit:floatDistance limit (mitigating divisions by zero)
length_scale:floatLength scale (m)
element_centers:np.ndarrayOrdered list of current elements centers
element_directions:np.ndarrayOrdered list of current elements directions
sampling_volume_points:np.ndarraySampling volume points
sampling_volume_permeabilities:np.ndarrayOrdered list of sampling volume's relative permeabilities µ_r
field_vectors:np.ndarrayField vectors (output array)
total_calculations:np.ndarrayTotal number of calculations (output array)
total_skipped_calculations:np.ndarrayTotal number of skipped calculations (output array)
def __init__(self, field_type, distance_limit, length_scale, dc, current_elements, sampling_volume_points, sampling_volume_permeabilities, progress_callback):
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):
Calculates the field at every point of the sampling volume.
Returns
Optional[Tuple[int, int, np.ndarray]](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