BELFEM 0.9.3
Berkeley Lab Finite Element Framework
Loading...
Searching...
No Matches
cl_Material_Chromium.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_CHROMIUM_HPP
13#define BELFEM_CL_MATERIAL_CHROMIUM_HPP
14
15#include "cl_Material_Metal.hpp"
16#include "cl_Bezier.hpp"
17
18namespace belfem
19{
20 namespace material
21 {
22//------------------------------------------------------------------------------
23
77 class Chromium : public Metal
78 {
79 Bezier * mThermalExpansion = nullptr ;
80 Vector< real > mThermalExpansionCryo ;
81
82 Cell< Bezier * > mDebyeBeziers ;
83
84 Vector< real > mBSKohlerSwitch ;
85 Cell< Vector< real > > mKohlerLongPolys ;
86 Cell< Vector< real > > mKohlerTransPolys ;
87
88 public:
89
91 const bool aBuildTables = true );
92
93 ~Chromium() override ;
94
96 static constexpr real gTNeel = 311.0 ;
97
99 static constexpr real gTSpinFlip = 123.0 ;
100
101 protected:
102
103 real
104 alpha_custom( const real T ) const override ;
105
106 real debye_custom(const real T) const override ;
107
108 real
109 kohler( const real B, const real S, const real beta ) const override ;
110
111 private:
112
113 void
114 set_constants();
115
116 void
117 create_alpha();
118
119 void
120 create_cp();
121
122 void
123 create_debye();
124
125 void
126 create_kohler();
127 };
128
129//------------------------------------------------------------------------------
130
131 }
132}
133#endif //BELFEM_CL_MATERIAL_CHROMIUM_HPP
Definition cl_Bezier.hpp:30
A bounds-checked wrapper around std::vector.
Definition cl_Cell.hpp:45
real kohler(const real B, const real S, const real beta) const override
Kohler function for magnetoresistance.
Definition cl_Material_Chromium.cpp:290
static constexpr real gTSpinFlip
spin flip transition temperature [K]
Definition cl_Material_Chromium.hpp:99
static constexpr real gTNeel
Neel temperature ( spin density wave ) [K].
Definition cl_Material_Chromium.hpp:96
real alpha_custom(const real T) const override
Definition cl_Material_Chromium.cpp:168
Chromium(const real RRR=BELFEM_QUIET_NAN, const bool aBuildTables=true)
Definition cl_Material_Chromium.cpp:28
real debye_custom(const real T) const override
Definition cl_Material_Chromium.cpp:197
Metal(const string &aLabel, const MaterialType aType, const bool aBuildTables=true)
Constructor.
Definition cl_Material_Metal.cpp:34
Definition cl_BhCurve.cpp:19
USER GUIDES:
Definition cl_Capacitor.cpp:16
@ RRR
Definition cl_Material.hpp:182
double real
Definition typedefs.hpp:36
#define BELFEM_QUIET_NAN
Definition typedefs.hpp:86