BELFEM 0.9.3
Berkeley Lab Finite Element Framework
Loading...
Searching...
No Matches
cl_Material_YBCO.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_YBCO_HPP
13#define BELFEM_CL_MATERIAL_YBCO_HPP
14
15#include "cl_Material_Metal.hpp"
16#include "cl_Bezier.hpp"
17
18namespace belfem
19{
20 namespace material
21 {
22//------------------------------------------------------------------------------
23
52 class YBCO : public Metal
53 {
54 // Reference values for scaling normalized curves
55 Vector< real > mReferenceValues ;
56 Vector< real > mCallawayModel ;
57
58 // Young's modulus (Bezier for low T, polynomial for high T)
59 Bezier * mYoungBezier = nullptr ;
60 Vector< real > mYoungPoly ;
61
62 // Poisson's ratio (piecewise polynomials)
63 Cell< Vector< real > > mPoissionPolys ;
64
65 // Thermal expansion (polynomial with constant tail)
69 real mTAlphaPlateau ;
70 Vector< real > mAlphaPoly ;
71 Vector< real > mThermalExpansionCryo ;
72
73 // Specific heat (4 piecewise regions in log-log space)
74 Vector< real > mTCpSwitch ;
75 Cell< Vector< real > > mCpPolys ;
76
77 public:
78
90 YBCO();
91
93 ~YBCO() override;
94
103 real
104 test_callaway( const real T , const Vector< real > & aParams );
105
106 protected:
107
113 real
114 E_custom( const real T ) const override ;
115
121 real
122 nu_custom( const real T ) const override ;
123
129 real
130 alpha_custom(const real T) const override ;
131
137 real
138 cp_custom(const real T) const override ;
139
152 real
153 lambda_custom(const real T) const override;
154
155 private:
156
162 void
163 set_young( const real aEref, const real aTref );
164
170 void
171 set_poisson( const real aNuref, const real aTref );
172
178 void
179 create_mech();
180
186 void
187 create_expansion();
188
189 void
190 create_expansion_cryo();
191
197 void
198 create_cp();
199 };
200
201 }
202}
203
204#endif //BELFEM_CL_MATERIAL_YBCO_HPP
Definition cl_Bezier.hpp:30
A bounds-checked wrapper around std::vector.
Definition cl_Cell.hpp:45
Metal(const string &aLabel, const MaterialType aType, const bool aBuildTables=true)
Constructor.
Definition cl_Material_Metal.cpp:34
real alpha_custom(const real T) const override
Thermal expansion coefficient (custom evaluation).
Definition cl_Material_YBCO.cpp:295
real lambda_custom(const real T) const override
Thermal conductivity using Callaway model.
Definition cl_Material_YBCO.cpp:475
real test_callaway(const real T, const Vector< real > &aParams)
Test function for Callaway model parameter fitting.
Definition cl_Material_YBCO.cpp:405
real cp_custom(const real T) const override
Specific heat capacity (custom evaluation).
Definition cl_Material_YBCO.cpp:394
real E_custom(const real T) const override
Young's modulus (custom evaluation).
Definition cl_Material_YBCO.cpp:216
YBCO()
Constructor - initializes YBCO with typical properties.
Definition cl_Material_YBCO.cpp:54
real nu_custom(const real T) const override
Poisson's ratio (custom evaluation).
Definition cl_Material_YBCO.cpp:231
Definition cl_BhCurve.cpp:19
USER GUIDES:
Definition cl_Capacitor.cpp:16
double real
Definition typedefs.hpp:36