BELFEM 0.9.0
Berkeley Lab Finite Element Framework
Loading...
Searching...
No Matches
cl_GT_TransportPoly.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_GT_TRANSPORTPOLY_HPP
13#define BELFEM_CL_GT_TRANSPORTPOLY_HPP
14
15#include "typedefs.hpp"
16#include "cl_Vector.hpp"
17
18namespace belfem
19{
20 namespace gastables
21 {
22//------------------------------------------------------------------------------
23
25 {
28 UNDEFINED
29 };
30
31//------------------------------------------------------------------------------
32
34 {
39 UNDEFINED
40 };
41//------------------------------------------------------------------------------
42
62 {
63//------------------------------------------------------------------------------
64 protected:
65//------------------------------------------------------------------------------
68
69 // unit scale
70 const real mScale;
71
72 // minimum temperature
74
75 // maximum temperature
77
78 // coefficients
79 const Vector <real> mCoefficients;
80
81//------------------------------------------------------------------------------
82 public:
83//------------------------------------------------------------------------------
84
86 const enum TransportPolyType aType,
87 const real aTmin,
88 const real aTmax,
89 const Vector <real> & aCoefficients,
91
92 virtual ~TransportPoly() = default;
93
94//------------------------------------------------------------------------------
95
96 virtual real
97 rawpoly( const real T ) const;
98
99//------------------------------------------------------------------------------
100
101 virtual real
102 drawpoly( const real T ) const;
103
104//------------------------------------------------------------------------------
105
106 virtual real
107 ddrawpoly( const real T ) const;
108
109//------------------------------------------------------------------------------
110
111 virtual real
112 eval( const real T ) const;
113
114//------------------------------------------------------------------------------
115
116 virtual real
117 deval( const real T ) const;
118
119//------------------------------------------------------------------------------
120
121 virtual real
122 ddeval( const real T ) const;
123
124//------------------------------------------------------------------------------
125
126 inline const real &
127 T_min() const;
128
129//------------------------------------------------------------------------------
130
131 inline const real &
132 T_max() const;
133
134//------------------------------------------------------------------------------
135
137 type() const;
138
139//------------------------------------------------------------------------------
140
141 void
142 set_T_min( const real aTmin );
143
144//------------------------------------------------------------------------------
145
146 void
147 set_T_max( const real aTmax );
148
149//------------------------------------------------------------------------------
150
152 kind() const ;
153
154//------------------------------------------------------------------------------
155 };
156//------------------------------------------------------------------------------
157
158 const real &
160 {
161 return mTmin;
162 }
163
164//------------------------------------------------------------------------------
165
166 const real &
168 {
169 return mTmax;
170 }
171//------------------------------------------------------------------------------
172 inline TransportPolyType
174 {
175 return mType;
176 }
177
178//------------------------------------------------------------------------------
179
180 inline TransportPolyKind
182 {
183 return mKind ;
184 }
185
186
187//------------------------------------------------------------------------------
188 } /* namespace gastables */
189} /* namespace belfem */
190#endif //BELFEM_CL_GT_TRANSPORTPOLY_HPP
void set_T_min(const real aTmin)
Definition cl_GT_TransportPoly.cpp:93
const TransportPolyType mType
Definition cl_GT_TransportPoly.hpp:66
virtual real ddeval(const real T) const
Definition cl_GT_TransportPoly.cpp:83
const TransportPolyKind mKind
Definition cl_GT_TransportPoly.hpp:67
void set_T_max(const real aTmax)
Definition cl_GT_TransportPoly.cpp:101
virtual real rawpoly(const real T) const
Definition cl_GT_TransportPoly.cpp:39
TransportPolyKind kind() const
Definition cl_GT_TransportPoly.hpp:181
const Vector< real > mCoefficients
Definition cl_GT_TransportPoly.hpp:79
virtual real drawpoly(const real T) const
Definition cl_GT_TransportPoly.cpp:49
real mTmin
Definition cl_GT_TransportPoly.hpp:73
TransportPolyType type() const
Definition cl_GT_TransportPoly.hpp:173
virtual real ddrawpoly(const real T) const
Definition cl_GT_TransportPoly.cpp:58
const real mScale
Definition cl_GT_TransportPoly.hpp:70
TransportPoly(const enum TransportPolyType aType, const real aTmin, const real aTmax, const Vector< real > &aCoefficients, const TransportPolyKind aKind=TransportPolyKind::DEFAULT)
Definition cl_GT_TransportPoly.cpp:20
const real & T_max() const
Definition cl_GT_TransportPoly.hpp:167
virtual real eval(const real T) const
Definition cl_GT_TransportPoly.cpp:67
const real & T_min() const
Definition cl_GT_TransportPoly.hpp:159
virtual ~TransportPoly()=default
real mTmax
Definition cl_GT_TransportPoly.hpp:76
virtual real deval(const real T) const
Definition cl_GT_TransportPoly.cpp:75
Definition cl_Gas.hpp:33
TransportPolyType
Definition cl_GT_TransportPoly.hpp:25
@ VISCOSITY
Definition cl_GT_TransportPoly.hpp:26
@ CONDUCTIVITY
Definition cl_GT_TransportPoly.hpp:27
TransportPolyKind
Definition cl_GT_TransportPoly.hpp:34
@ DEFAULT
Definition cl_GT_TransportPoly.hpp:35
@ CUSTOM
Definition cl_GT_TransportPoly.hpp:36
@ GLUE
Definition cl_GT_TransportPoly.hpp:37
USER GUIDES:
Definition cl_Capacitor.cpp:16
@ EMPTY
Definition Mesh_Enums.hpp:28
double real
Definition typedefs.hpp:36