BELFEM 0.9.0
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
95 ~YBCO() override;
96
105 real
106 test_callaway( const real T , const Vector< real > & aParams );
107
108 protected:
109
115 real
116 E_custom( const real T ) const override ;
117
123 real
124 nu_custom( const real T ) const override ;
125
131 real
132 alpha_custom(const real T) const override ;
133
139 real
140 cp_custom(const real T) const override ;
141
154 real
155 lambda_custom(const real T) const override;
156
157 private:
158
164 void
165 set_young( const real aEref, const real aTref );
166
172 void
173 set_poisson( const real aNuref, const real aTref );
174
180 void
181 create_mech();
182
188 void
189 create_expansion();
190
191 void
192 create_expansion_cryo();
193
199 void
200 create_cp();
201 };
202
203 }
204}
205
206#endif //BELFEM_CL_MATERIAL_YBCO_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
real alpha_custom(const real T) const override
Thermal expansion coefficient (custom evaluation).
Definition cl_Material_YBCO.cpp:296
real lambda_custom(const real T) const override
Thermal conductivity using Callaway model.
Definition cl_Material_YBCO.cpp:477
real test_callaway(const real T, const Vector< real > &aParams)
Test function for Callaway model parameter fitting.
Definition cl_Material_YBCO.cpp:406
real cp_custom(const real T) const override
Specific heat capacity (custom evaluation).
Definition cl_Material_YBCO.cpp:395
real E_custom(const real T) const override
Young's modulus (custom evaluation).
Definition cl_Material_YBCO.cpp:217
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:232
Definition cl_BhCurve.cpp:19
USER GUIDES:
Definition cl_Capacitor.cpp:16
double real
Definition typedefs.hpp:36