BELFEM
0.9.0
Berkeley Lab Finite Element Framework
Toggle main menu visibility
Loading...
Searching...
No Matches
cl_Material_Ferromagnetic.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, through
4
* 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 BELFEM_CL_MATERIAL_FERROMAGNETIC_HPP
13
#define BELFEM_CL_MATERIAL_FERROMAGNETIC_HPP
14
15
#include "
cl_Material_Metal.hpp
"
16
17
namespace
belfem
18
{
19
namespace
material
20
{
21
class
Ferromagnetic
:
public
Metal
22
{
23
real
mBrillouinS =
BELFEM_QUIET_NAN
;
24
real
mBrillouinP =
BELFEM_QUIET_NAN
;
25
real
mBrillouinQ =
BELFEM_QUIET_NAN
;
26
real
mBrillouinR =
BELFEM_QUIET_NAN
;
27
real
mBrillouinP2 =
BELFEM_QUIET_NAN
;
28
real
mBrillouinQ2 =
BELFEM_QUIET_NAN
;
29
public
:
30
31
Ferromagnetic
(
const
string
& aLabel,
32
const
bool
aBuildTables =
true
);
33
34
~Ferromagnetic
()
override
;
35
36
37
real
38
compute_debye_from_rho
(
const
real
T,
const
real
rho
,
const
real
theta_guess=
BELFEM_QUIET_NAN
)
override
;
39
40
41
// to be moved into private
42
real
43
rho_mag
(
const
real
T )
const
;
44
45
void
46
set_angular_momentum
(
const
real
S );
47
48
protected
:
49
50
real
51
rho_custom
(
const
real
T )
const override
;
52
53
54
virtual
real
55
compute_mred
(
real
T )
const
;
56
57
58
private
:
59
void
60
brillouin(
61
real
x,
62
real
& B,
63
real
& dBdx )
const
;
64
};
65
66
}
67
}
68
69
#endif
//BELFEM_CL_MATERIAL_FERROMAGNETIC_HPP
cl_Material_Metal.hpp
belfem::material::Ferromagnetic::compute_mred
virtual real compute_mred(real T) const
Definition
cl_Material_Ferromagnetic.cpp:43
belfem::material::Ferromagnetic::Ferromagnetic
Ferromagnetic(const string &aLabel, const bool aBuildTables=true)
Definition
cl_Material_Ferromagnetic.cpp:18
belfem::material::Ferromagnetic::compute_debye_from_rho
real compute_debye_from_rho(const real T, const real rho, const real theta_guess=BELFEM_QUIET_NAN) override
Compute Debye temperature from measured resistivity.
Definition
cl_Material_Ferromagnetic.cpp:87
belfem::material::Ferromagnetic::rho_custom
real rho_custom(const real T) const override
Definition
cl_Material_Ferromagnetic.cpp:76
belfem::material::Ferromagnetic::set_angular_momentum
void set_angular_momentum(const real S)
Definition
cl_Material_Ferromagnetic.cpp:32
belfem::material::Ferromagnetic::rho_mag
real rho_mag(const real T) const
Definition
cl_Material_Ferromagnetic.cpp:93
belfem::material::Metal::rho
real rho(const real T, const real B, const real beta) const override
Electrical resistivity with magnetoresistance (Kohler's rule).
Definition
cl_Material_Metal.hpp:578
belfem::material::Metal::Metal
Metal(const string &aLabel, const MaterialType aType, const bool aBuildTables=true)
Constructor.
Definition
cl_Material_Metal.cpp:33
belfem::material
Definition
cl_BhCurve.cpp:19
belfem
USER GUIDES:
Definition
cl_Capacitor.cpp:16
belfem::real
double real
Definition
typedefs.hpp:36
BELFEM_QUIET_NAN
#define BELFEM_QUIET_NAN
Definition
typedefs.hpp:87
src
physics
materials
cl_Material_Ferromagnetic.hpp
Generated by
1.18.0