Summary
MaterialBase Base class for materials.
Not really used right now, see Material.
PROPERTIES
-
B - given B-curve (T)
-
H - given H-curve (A/m)
-
domains - list of domains that are made of this material
-
elements - indices to finite elements
-
iron_loss_computation_method Iron loss computation method.
This property allows an option to toggle the iron loss computation method. Indeed, the loss_density
method of the Material class calls the method with its name equal to this property.
However, subclasses may have a different loss_density
method.
-
is_symmetric - Is the differential reluctivity symmetric?
-
material_properties Struct of material properties
Important fields include:
-
rho : material density, kg/m^3
-
coeffs : [hysteresis, eddy, excess] loss coefficients, defined as W/kg at 50 Hz and 1 T, with B-f dependencies as ~[fB^2, (fB)^2, (fB)^.1] respectively. Used mainly in the Material class.
-
plot_args - plotting instructions for this
Methods
Class methods are listed below. Inherited methods are not included.
* MaterialBase Base class for materials.
Not really used right now, see Material.
* MaterialBase/detach is a function.
* MaterialBase/differential_reluctivity is a function.
* get_B_data Compute flux density waveforms and other data.
Bdata = get_B_data(solution, args)
Bdata is an array of structs with the fields (one struct per quadrature point)
-
solution : handle to the MagneticsSolution used
-
timestamps : time-step timestamps in seconds
** volume_multiplier : model.dimensions.leff ** model.symmetrySectors
-
DETF : absolute value of mesh mapping matrix determinant at quad point
-
Bx : waveform of x-component of flux density at quad point
-
By : waveform of y-component of flux density at quad point
* MaterialBase/init_for_problem is a function.
* loss_density Iron/material loss density method.
[p_hysteresis, p_eddy, p_excess] = loss_density(this, Bdata), where
- Bdata : flux density waveform data returned by
get_B_data
.
Return values:
- Elementwise hysteresis, eddy, and exces loss densities, expressed in W/m^3.
* losses Material-level loss computation.
[Ptot, Pdata] = losses(solution) or
[Ptot, Pdata] = losses(solution, key, value, …) (see below)
return the total material (usually iron) losses Ptot for MagneticsSolution solution.
Pdata is then a struct with the following fields:
Return values: total losses (time-average) and a loss data struct with the following fields:
-
P_total : average total losses
-
P_total_time : total losses versus time (solution.ts)
-
P_hysteresis : total hysteresis losses
-
P_eddy : total eddy-current iron losses
-
P_excess : total excess losses.
-
P_rotor : total losses in rotor (in elements motor.rotel)
-
P_hysteresis_rotor : total hysteresis losses in rotor
-
P_eddy_rotor
-
p_hysteresis_elementwise : vector of elementwise hysteresis loss density (W/m^3)
-
p_eddy_elementwise
-
p_excess_elementwise
WARNING: element-wise loss densities are returned in W/m^3, as opposed to the W/kg used in previous versions.
The losses are computed by first computing the flux density waveforms with MaterialBase.get_B_data, and then passing the results to the .loss_density
method of each Material in the solution, to get the elementwise loss densities. The losses are then summed and the other interesting outputs computed.
Keyword arguments:
-
plotting_on : plot results (default false). Losses are plotted with MaterialBase.plot_losses
-
remove_DC : Remove DC-component of flux density before computing losses? Options: false - no removal / ‘rotor’ - only remove from rotor elements (motor.rotel) / ‘all’ remove from all elements.
-
use_entire_solution : use entire solution range (in time-domain). Default: false: only last full electrical period is used.
-
method : This value is temporarily set as the
iron_loss_computation_method
property of each Material. For the plain Material class, the options are “iron_loss_density_time_domain_Steinmetz” and “iron_loss_density_frequency_domain_Bertotti”. Subclasses may ignore this. Default : [] –> don’t change the property value.