Source code for pyleecan.Methods.Material.BHCurveParam.comp_B
# -*- coding: utf-8 -*-
from numpy import sqrt
[docs]def comp_B(self, H, f=None):
"""Compute the value B(H) at the specified frequency
Parameters
----------
self : BHCurveParam
a BHCurveParam object
H : numpy.ndarray
Abscissa vector [A/m]
f : float
Frequency to compute the B values [Hz] (unused) (Default value = None)
Returns
-------
B: numpy.ndarray
B(H) values
"""
mur_0 = self.mur_0
mur_1 = self.mur_1
Bmax = self.Bmax
a = self.a
Ha = mur_0 * H * (mur_0 - 1) / Bmax
return mur_0 * mur_1 * H + Bmax * (
Ha + 1 - sqrt((Ha + 1) ** 2 - 4 * Ha * (1 - a))
) / (2 * (1 - a))