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