BELFEM
0.9.0
Berkeley Lab Finite Element Framework
Toggle main menu visibility
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
18
namespace
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
cl_Bezier.hpp
cl_Material_Metal.hpp
belfem::Bezier
Definition
cl_Bezier.hpp:30
belfem::Cell
Cell is a wrapper around the standard vector.
Definition
cl_Cell.hpp:42
belfem::Vector< real >
belfem::material::Metal::Metal
Metal(const string &aLabel, const MaterialType aType, const bool aBuildTables=true)
Constructor.
Definition
cl_Material_Metal.cpp:33
belfem::material::YBCO::alpha_custom
real alpha_custom(const real T) const override
Thermal expansion coefficient (custom evaluation).
Definition
cl_Material_YBCO.cpp:296
belfem::material::YBCO::lambda_custom
real lambda_custom(const real T) const override
Thermal conductivity using Callaway model.
Definition
cl_Material_YBCO.cpp:477
belfem::material::YBCO::test_callaway
real test_callaway(const real T, const Vector< real > &aParams)
Test function for Callaway model parameter fitting.
Definition
cl_Material_YBCO.cpp:406
belfem::material::YBCO::cp_custom
real cp_custom(const real T) const override
Specific heat capacity (custom evaluation).
Definition
cl_Material_YBCO.cpp:395
belfem::material::YBCO::E_custom
real E_custom(const real T) const override
Young's modulus (custom evaluation).
Definition
cl_Material_YBCO.cpp:217
belfem::material::YBCO::YBCO
YBCO()
Constructor - initializes YBCO with typical properties.
Definition
cl_Material_YBCO.cpp:54
belfem::material::YBCO::nu_custom
real nu_custom(const real T) const override
Poisson's ratio (custom evaluation).
Definition
cl_Material_YBCO.cpp:232
belfem::material
Definition
cl_BhCurve.cpp:19
belfem
USER GUIDES:
Definition
cl_Capacitor.cpp:16
belfem::real
double real
Definition
typedefs.hpp:36
src
physics
materials
cl_Material_YBCO.hpp
Generated by
1.18.0