BELFEM 0.9.0
Berkeley Lab Finite Element Framework
Loading...
Searching...
No Matches
cl_Material_Silver.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_SILVER_HPP
13#define BELFEM_CL_MATERIAL_SILVER_HPP
14#include "typedefs.hpp"
15#include "cl_Material_Metal.hpp"
16#include "fn_polyval.hpp"
17#include "cl_Bezier.hpp"
18namespace belfem
19{
20 namespace material
21 {
22//------------------------------------------------------------------------------
23
36 class Silver : public Metal
37 {
38 // dL/L Bezier for the thermal expansion above the split temperature
39 Bezier * mThermalExpansion = nullptr ;
40 Vector< real > mThermalExpansionCryo ;
41
42 // Debye temperature piecewise polynomials
43 Vector< real > mTDebyeSwitch ;
44 Cell< Vector< real > > mDebyePolys ;
45
46 // Kohler magnetoresistance curves
47 Vector< real > mBSKohlerSwitch ;
48 Cell< Vector< real > > mKohlerLongPolys ;
49 Cell< Vector< real > > mKohlerTransPolys ;
50
51 public:
52
54 const bool aBuildTables = true );
55 ~Silver() override ;
56
57 protected:
58
59 real
60 alpha_custom( const real T ) const override ;
61
62 real
63 debye_custom(const real T) const override;
64
65 real
66 kohler( const real B, const real S, const real beta ) const override;
67
68 private:
69
70 void
71 set_constants();
72
73 void
74 create_alpha();
75
76 void
77 create_cp();
78
79 void
80 create_debye();
81
82 void
83 create_kohler();
84 };
85
86
87 }
88}
89
90#endif //BELFEM_CL_MATERIAL_SILVER_HPP
Definition cl_Bezier.hpp:30
Cell is a wrapper around the standard vector.
Definition cl_Cell.hpp:42
Metal(const string &aLabel, const MaterialType aType, const bool aBuildTables=true)
Constructor.
Definition cl_Material_Metal.cpp:33
Silver(const real RRR=BELFEM_QUIET_NAN, const bool aBuildTables=true)
Silver material property implementation.
Definition cl_Material_Silver.cpp:41
real alpha_custom(const real T) const override
Definition cl_Material_Silver.cpp:381
real debye_custom(const real T) const override
Definition cl_Material_Silver.cpp:386
real kohler(const real B, const real S, const real beta) const override
Kohler function for magnetoresistance.
Definition cl_Material_Silver.cpp:347
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:87