BELFEM 0.9.0
Berkeley Lab Finite Element Framework
Loading...
Searching...
No Matches
belfem::material::BhSplineCurve Class Reference

#include <cl_Material_BhSplineCurve.hpp>

Inheritance diagram for belfem::material::BhSplineCurve:
[legend]
Collaboration diagram for belfem::material::BhSplineCurve:
[legend]

Public Member Functions

 BhSplineCurve (const string &aPath, const string &aLabel)
 ~BhSplineCurve () override
real nu (const real B) const override
 Reluctivity ν(B) = H/B.
real mu (const real H) const override
 Permeability μ(H) = B/H.
void dmudH (const real H, real &mu, real &dmudH) const override
 Permeability and its derivative with respect to H.
Public Member Functions inherited from belfem::material::BhCurve
 BhCurve (const string &aPath, const string &aLabel)
 Constructor - records the database path and group label.
virtual ~BhCurve ()=default
 Virtual destructor ( the concrete curve owns and deletes its splines ).
real B (const real H) const
 Magnetic flux density from field intensity.
real H (const real B) const
 Magnetic field intensity from flux density.

Additional Inherited Members

Protected Attributes inherited from belfem::material::BhCurve
const proc_t mCommRank
 MPI rank.
const string mPath
 path where data file is located
const string mLabel
 Material label for error messages.

Constructor & Destructor Documentation

◆ BhSplineCurve()

belfem::material::BhSplineCurve::BhSplineCurve ( const string & aPath,
const string & aLabel )

◆ ~BhSplineCurve()

belfem::material::BhSplineCurve::~BhSplineCurve ( )
override

Member Function Documentation

◆ dmudH()

void belfem::material::BhSplineCurve::dmudH ( const real H,
real & mu,
real & dmudH ) const
inlineoverridevirtual

Permeability and its derivative with respect to H.

Parameters
HMagnetic field intensity magnitude [A/m]
[out]muPermeability μ(H) [T·m/A]
[out]dmudHDerivative dμ/dH [T·m/A²]

Computes both μ and dμ/dH efficiently for Newton-Raphson iterations in nonlinear magnetic FEM solvers.

For H < Hsat: Uses spline evaluation and derivative For H ≥ Hsat: Analytical formulas for linear regime

Reimplemented from belfem::material::BhCurve.

◆ mu()

real belfem::material::BhSplineCurve::mu ( const real H) const
inlineoverridevirtual

Permeability μ(H) = B/H.

Parameters
HMagnetic field intensity magnitude [A/m]
Returns
Permeability μ [T·m/A]

For H < Hsat: Uses cubic spline interpolation For H ≥ Hsat: Returns μ₀·(1 + Msat/H)

Reimplemented from belfem::material::BhCurve.

◆ nu()

real belfem::material::BhSplineCurve::nu ( const real B) const
inlineoverridevirtual

Reluctivity ν(B) = H/B.

Parameters
BMagnetic flux density magnitude [T]
Returns
Reluctivity ν [A/(T·m)]

For B < Bsat: Uses cubic spline interpolation For B ≥ Bsat: Returns ν₀ - Msat/B (linear + offset)

Reimplemented from belfem::material::BhCurve.


The documentation for this class was generated from the following files: