BELFEM 0.9.3
Berkeley Lab Finite Element Framework
Loading...
Searching...
No Matches
cl_Material_Indium.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 BELFEM_CL_MATERIAL_INDIUM_HPP
13#define BELFEM_CL_MATERIAL_INDIUM_HPP
14
15
16#include "cl_Material_Metal.hpp"
17#include "cl_Bezier.hpp"
18#include "fn_polyval.hpp"
19
20namespace belfem
21{
22 namespace material
23 {
24 class Indium : public Metal
25 {
26 Bezier * mThermalExpansion = nullptr ;
27 Vector< real > mThermalExpansionCryo ;
28
29 Vector< real > mTDebyeSwitch ;
30 Cell< Vector< real > > mDebyePolys ;
31 Bezier * mDebyeBezier = nullptr ;
32
33 Vector< real > mBSKohlerSwitch ;
34
35 Bezier * mKohlerLongBezier = nullptr ;
36 Cell< Vector< real > > mKohlerLongPolys ;
37 Cell< Vector< real > > mKohlerTransCoeffs ;
38
39 public:
40
42 const bool aBuildTables = true );
43
44 ~Indium() override;
45
46 protected:
47
48 real
49 alpha_custom( const real T ) const override ;
50
51 real
52 debye_custom( const real T ) const override ;
53
54 real
55 kohler(const real B, const real S, const real beta) const override;
56
57 private:
58
59 void
60 set_constants();
61
62 void
63 create_alpha();
64
65 void
66 create_cp();
67
68 void
69 create_debye();
70
71 void
72 create_lambda();
73
74 void
75 create_kohler();
76 };
77
78 }
79}
80
81#endif //BELFEM_CL_MATERIAL_INDIUM_HPP
Definition cl_Bezier.hpp:30
A bounds-checked wrapper around std::vector.
Definition cl_Cell.hpp:45
Indium(const real RRR=BELFEM_QUIET_NAN, const bool aBuildTables=true)
Definition cl_Material_Indium.cpp:20
real debye_custom(const real T) const override
Definition cl_Material_Indium.cpp:164
real alpha_custom(const real T) const override
Definition cl_Material_Indium.cpp:110
real kohler(const real B, const real S, const real beta) const override
Kohler function for magnetoresistance.
Definition cl_Material_Indium.cpp:252
Metal(const string &aLabel, const MaterialType aType, const bool aBuildTables=true)
Constructor.
Definition cl_Material_Metal.cpp:34
Evaluates a polynomial.
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