BELFEM
0.9.0
Berkeley Lab Finite Element Framework
Toggle main menu visibility
Loading...
Searching...
No Matches
cl_BhCurve.hpp
Go to the documentation of this file.
1
/*
2
* BELFEM -- The Berkeley Lab Finite Element Framework
3
* Copyright (c) 2026, The Regents of the University of California,
4
* through Lawrence Berkeley National Laboratory (subject to receipt of any required
5
* approvals from the U.S. Dept. of Energy). All rights reserved.
6
*
7
* Developers: Christian Messe, Gregory Giard
8
*
9
* See the top-level LICENSE file for the complete license and disclaimer.
10
*/
11
12
#ifndef CL_BHCURVE_HPP
13
#define CL_BHCURVE_HPP
14
#include "
typedefs.hpp
"
15
16
namespace
belfem
17
{
18
namespace
material
19
{
20
//------------------------------------------------------------------------------
21
60
class
BhCurve
61
{
62
//------------------------------------------------------------------------------
63
protected
:
64
//------------------------------------------------------------------------------
65
const
proc_t
mCommRank
;
66
const
string
mPath
;
67
const
string
mLabel
;
68
69
70
71
//------------------------------------------------------------------------------
72
public
:
73
//------------------------------------------------------------------------------
74
85
BhCurve
(
const
string
& aPath,
const
string
& aLabel );
86
90
virtual
~BhCurve
() = default ;
91
100
virtual
real
101
nu
(
const
real
B
)
const
;
102
111
virtual
real
112
mu
(
const
real
H
)
const
;
113
126
virtual
void
127
dmudH
(
const
real
H
,
real
&
mu
,
real
&
dmudH
)
const
;
128
136
real
137
B
(
const
real
H
)
const
;
138
146
real
147
H
(
const
real
B
)
const
;
148
149
};
150
151
//------------------------------------------------------------------------------
152
153
inline
real
154
BhCurve::B
(
const
real
H
)
const
155
{
156
return
this->
mu
(
H
) *
H
;
157
}
158
159
inline
real
160
BhCurve::H
(
const
real
B
)
const
161
{
162
return
this->
nu
(
B
) *
B
;
163
}
164
165
//------------------------------------------------------------------------------
166
}
167
}
168
#endif
//CL_BHCURVE_HPP
belfem::material::BhCurve::dmudH
virtual void dmudH(const real H, real &mu, real &dmudH) const
Permeability and its derivative with respect to H.
Definition
cl_BhCurve.cpp:42
belfem::material::BhCurve::BhCurve
BhCurve(const string &aPath, const string &aLabel)
Constructor - records the database path and group label.
Definition
cl_BhCurve.cpp:20
belfem::material::BhCurve::mCommRank
const proc_t mCommRank
MPI rank.
Definition
cl_BhCurve.hpp:65
belfem::material::BhCurve::H
real H(const real B) const
Magnetic field intensity from flux density.
Definition
cl_BhCurve.hpp:160
belfem::material::BhCurve::mLabel
const string mLabel
Material label for error messages.
Definition
cl_BhCurve.hpp:67
belfem::material::BhCurve::~BhCurve
virtual ~BhCurve()=default
Virtual destructor ( the concrete curve owns and deletes its splines ).
belfem::material::BhCurve::mu
virtual real mu(const real H) const
Permeability μ(H) = B/H.
Definition
cl_BhCurve.cpp:35
belfem::material::BhCurve::B
real B(const real H) const
Magnetic flux density from field intensity.
Definition
cl_BhCurve.hpp:154
belfem::material::BhCurve::mPath
const string mPath
path where data file is located
Definition
cl_BhCurve.hpp:66
belfem::material::BhCurve::nu
virtual real nu(const real B) const
Reluctivity ν(B) = H/B.
Definition
cl_BhCurve.cpp:28
belfem::material
Definition
cl_BhCurve.cpp:19
belfem
USER GUIDES:
Definition
cl_Capacitor.cpp:16
belfem::proc_t
int proc_t
Definition
commtypes.hpp:29
belfem::real
double real
Definition
typedefs.hpp:36
typedefs.hpp
src
physics
materials
cl_BhCurve.hpp
Generated by
1.18.0