Nektar++
Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | List of all members
Nektar::BetaPressureArea Class Reference

#include <BetaPressureArea.h>

Inheritance diagram for Nektar::BetaPressureArea:
[legend]

Public Member Functions

 BetaPressureArea (Array< OneD, MultiRegions::ExpListSharedPtr > pVessel, const LibUtilities::SessionReaderSharedPtr pSession)
 
virtual ~BetaPressureArea ()
 
- Public Member Functions inherited from Nektar::PulseWavePressureArea
 PulseWavePressureArea (Array< OneD, MultiRegions::ExpListSharedPtr > &pVessel, const LibUtilities::SessionReaderSharedPtr &pSession)
 
virtual ~PulseWavePressureArea ()
 
void GetPressure (NekDouble &P, const NekDouble &beta, const NekDouble &A, const NekDouble &A0, const NekDouble &dAUdx, const NekDouble &gamma=0, const NekDouble &alpha=0.5)
 
void GetC (NekDouble &c, const NekDouble &beta, const NekDouble &A, const NekDouble &A0, const NekDouble &alpha=0.5)
 
void GetW1 (NekDouble &W1, const NekDouble &u, const NekDouble &beta, const NekDouble &A, const NekDouble &A0, const NekDouble &alpha=0.5)
 
void GetW2 (NekDouble &W2, const NekDouble &u, const NekDouble &beta, const NekDouble &A, const NekDouble &A0, const NekDouble &alpha=0.5)
 
void GetAFromChars (NekDouble &A, const NekDouble &W1, const NekDouble &W2, const NekDouble &beta, const NekDouble &A0, const NekDouble &alpha=0.5)
 
void GetUFromChars (NekDouble &u, const NekDouble &W1, const NekDouble &W2)
 
void GetCharIntegral (NekDouble &I, const NekDouble &beta, const NekDouble &A, const NekDouble &A0, const NekDouble &alpha=0.5)
 
void GetJacobianInverse (NekMatrix< NekDouble > &invJ, const Array< OneD, NekDouble > &Au, const Array< OneD, NekDouble > &uu, const Array< OneD, NekDouble > &beta, const Array< OneD, NekDouble > &A0, const Array< OneD, NekDouble > &alpha, const std::string &type)
 

Static Public Member Functions

static PulseWavePressureAreaSharedPtr create (Array< OneD, MultiRegions::ExpListSharedPtr > &pVessel, const LibUtilities::SessionReaderSharedPtr &pSession)
 

Static Public Attributes

static std::string className
 

Protected Member Functions

virtual void v_GetPressure (NekDouble &P, const NekDouble &beta, const NekDouble &A, const NekDouble &A0, const NekDouble &dAUdx, const NekDouble &gamma=0, const NekDouble &alpha=0.5)
 
virtual void v_GetC (NekDouble &c, const NekDouble &beta, const NekDouble &A, const NekDouble &A0, const NekDouble &alpha=0.5)
 
virtual void v_GetW1 (NekDouble &W1, const NekDouble &u, const NekDouble &beta, const NekDouble &A, const NekDouble &A0, const NekDouble &alpha=0.5)
 
virtual void v_GetW2 (NekDouble &W2, const NekDouble &u, const NekDouble &beta, const NekDouble &A, const NekDouble &A0, const NekDouble &alpha=0.5)
 
virtual void v_GetAFromChars (NekDouble &A, const NekDouble &W1, const NekDouble &W2, const NekDouble &beta, const NekDouble &A0, const NekDouble &alpha=0.5)
 
virtual void v_GetUFromChars (NekDouble &u, const NekDouble &W1, const NekDouble &W2)
 
virtual void v_GetCharIntegral (NekDouble &I, const NekDouble &beta, const NekDouble &A, const NekDouble &A0, const NekDouble &alpha=0.5)
 
virtual void v_GetJacobianInverse (NekMatrix< NekDouble > &invJ, const Array< OneD, NekDouble > &Au, const Array< OneD, NekDouble > &uu, const Array< OneD, NekDouble > &beta, const Array< OneD, NekDouble > &A0, const Array< OneD, NekDouble > &alpha, const std::string &type)
 

Additional Inherited Members

- Protected Attributes inherited from Nektar::PulseWavePressureArea
Array< OneD, MultiRegions::ExpListSharedPtrm_vessels
 
LibUtilities::SessionReaderSharedPtr m_session
 
NekDouble m_PExt
 
NekDouble m_rho
 

Detailed Description

Definition at line 50 of file BetaPressureArea.h.

Constructor & Destructor Documentation

◆ BetaPressureArea()

Nektar::BetaPressureArea::BetaPressureArea ( Array< OneD, MultiRegions::ExpListSharedPtr pVessel,
const LibUtilities::SessionReaderSharedPtr  pSession 
)

Definition at line 48 of file BetaPressureArea.cpp.

51  : PulseWavePressureArea(pVessel, pSession)
52 {
53 }
PulseWavePressureArea(Array< OneD, MultiRegions::ExpListSharedPtr > &pVessel, const LibUtilities::SessionReaderSharedPtr &pSession)

◆ ~BetaPressureArea()

Nektar::BetaPressureArea::~BetaPressureArea ( )
virtual

Definition at line 55 of file BetaPressureArea.cpp.

56 {
57 }

Member Function Documentation

◆ create()

static PulseWavePressureAreaSharedPtr Nektar::BetaPressureArea::create ( Array< OneD, MultiRegions::ExpListSharedPtr > &  pVessel,
const LibUtilities::SessionReaderSharedPtr pSession 
)
inlinestatic

Definition at line 54 of file BetaPressureArea.h.

56  {
58  pSession);
59  }
static std::shared_ptr< DataType > AllocateSharedPtr(const Args &...args)
Allocate a shared pointer from the memory pool.

References Nektar::MemoryManager< DataType >::AllocateSharedPtr().

◆ v_GetAFromChars()

void Nektar::BetaPressureArea::v_GetAFromChars ( NekDouble A,
const NekDouble W1,
const NekDouble W2,
const NekDouble beta,
const NekDouble A0,
const NekDouble alpha = 0.5 
)
protectedvirtual

Implements Nektar::PulseWavePressureArea.

Definition at line 92 of file BetaPressureArea.cpp.

95 {
96  A = pow((W1 - W2) * sqrt(2 * m_rho / beta) / 8 + sqrt(sqrt(A0)), 4);
97 }
scalarT< T > sqrt(scalarT< T > in)
Definition: scalar.hpp:267

References Nektar::PulseWavePressureArea::m_rho, and tinysimd::sqrt().

◆ v_GetC()

void Nektar::BetaPressureArea::v_GetC ( NekDouble c,
const NekDouble beta,
const NekDouble A,
const NekDouble A0,
const NekDouble alpha = 0.5 
)
protectedvirtual

Implements Nektar::PulseWavePressureArea.

Definition at line 66 of file BetaPressureArea.cpp.

68 {
69  c = sqrt(beta / (2 * m_rho)) * sqrt(sqrt(A)); // Elastic
70 }

References Nektar::PulseWavePressureArea::m_rho, and tinysimd::sqrt().

◆ v_GetCharIntegral()

void Nektar::BetaPressureArea::v_GetCharIntegral ( NekDouble I,
const NekDouble beta,
const NekDouble A,
const NekDouble A0,
const NekDouble alpha = 0.5 
)
protectedvirtual

Implements Nektar::PulseWavePressureArea.

Definition at line 105 of file BetaPressureArea.cpp.

107 {
108  NekDouble c = 0.0;
109  NekDouble c0 = 0.0;
110 
111  GetC(c, beta, A, A0);
112  GetC(c0, beta, A0, A0);
113 
114  I = 4 * (c - c0);
115 }
void GetC(NekDouble &c, const NekDouble &beta, const NekDouble &A, const NekDouble &A0, const NekDouble &alpha=0.5)
double NekDouble

References Nektar::PulseWavePressureArea::GetC().

◆ v_GetJacobianInverse()

void Nektar::BetaPressureArea::v_GetJacobianInverse ( NekMatrix< NekDouble > &  invJ,
const Array< OneD, NekDouble > &  Au,
const Array< OneD, NekDouble > &  uu,
const Array< OneD, NekDouble > &  beta,
const Array< OneD, NekDouble > &  A0,
const Array< OneD, NekDouble > &  alpha,
const std::string &  type 
)
protectedvirtual

Implements Nektar::PulseWavePressureArea.

Definition at line 117 of file BetaPressureArea.cpp.

121 {
122  /*
123  In the interest of speed, the inverse of the Jacobians for bifurcations,
124  merges and junctions for the beta law have been calculated analytically.
125  This can be done for other laws too, or the general formulation can be used
126  instead.
127  */
128 
129  NekDouble k = 0.0;
130 
131  if (type == "Bifurcation")
132  {
133  NekMatrix<NekDouble> J(6, 6);
134  Array<OneD, NekDouble> c(3);
135  Array<OneD, NekDouble> K(3);
136 
137  for (int i = 0; i < 3; ++i)
138  {
139  GetC(c[i], beta[i], Au[i], A0[i], alpha[i]);
140  }
141 
142  k = c[0] * Au[1] * c[2] + Au[0] * c[2] * c[1] + Au[2] * c[0] * c[1];
143  K[0] = (c[0] - uu[0]) * k;
144  K[1] = (c[1] + uu[1]) * k;
145  K[2] = (c[2] + uu[2]) * k;
146 
147  invJ.SetValue(0, 0, (-c[1] * uu[0] * c[2] * Au[0] + Au[2] * c[1] * c[0]
148  * c[0] + Au[1] * c[0] * c[0] * c[2]) / K[0]);
149  invJ.SetValue(0, 1, Au[1] * (c[1] - uu[1]) * c[0] * c[2] / K[0]);
150  invJ.SetValue(0, 2, Au[2] * (c[2] - uu[2]) * c[0] * c[1] / K[0]);
151  invJ.SetValue(0, 3, c[0] * c[1] * c[2] / K[0]);
152  invJ.SetValue(0, 4, -0.5 * c[0] * Au[1] * c[2] / K[0]);
153  invJ.SetValue(0, 5, -0.5 * Au[2] * c[0] * c[1] / K[0]);
154 
155  invJ.SetValue(1, 0, Au[0] * (c[0] + uu[0]) * c[1] * c[2] / K[1]);
156  invJ.SetValue(1, 1, (c[0] * uu[1] * c[2] * Au[1] + Au[2] * c[0] * c[1]
157  * c[1] + c[2] * c[1] * c[1] * Au[0]) / K[1]);
158  invJ.SetValue(1, 2, -Au[2] * (c[2] - uu[2]) * c[0] * c[1] / K[1]);
159  invJ.SetValue(1, 3, -c[0] * c[1] * c[2] / K[1]);
160  invJ.SetValue(1, 4, -0.5 * (c[0] * Au[2] + Au[0] * c[2]) * c[1] / K[1]);
161  invJ.SetValue(1, 5, 0.5 * Au[2] * c[0] * c[1] / K[1]);
162 
163  invJ.SetValue(2, 0, Au[0] * (c[0] + uu[0]) * c[1] * c[2] / K[2]);
164  invJ.SetValue(2, 1, -Au[1] * (c[1] - uu[1]) * c[0] * c[2] / K[2]);
165  invJ.SetValue(2, 2, (c[0] * c[1] * uu[2] * Au[2] + c[0] * Au[1] * c[2]
166  * c[2] + c[1] * c[2] * c[2] * Au[0]) / K[2]);
167  invJ.SetValue(2, 3, -c[0] * c[1] * c[2] / K[2]);
168  invJ.SetValue(2, 4, 0.5 * c[0] * Au[1] * c[2] / K[2]);
169  invJ.SetValue(2, 5, -0.5 * (Au[1] * c[0] + c[1] * Au[0]) * c[2] / K[2]);
170 
171  invJ.SetValue(3, 0, Au[0] * (Au[0] * c[2] * c[1] - uu[0] * c[2] * Au[1]
172  - uu[0] * c[1] * Au[2]) / K[0]);
173  invJ.SetValue(3, 1, -Au[0] * Au[1] * (c[1] - uu[1]) * c[2] / K[0]);
174  invJ.SetValue(3, 2, -Au[0] * Au[2] * (c[2] - uu[2]) * c[1] / K[0]);
175  invJ.SetValue(3, 3, -Au[0] * c[2] * c[1] / K[0]);
176  invJ.SetValue(3, 4, 0.5 * Au[0] * Au[1] * c[2] / K[0]);
177  invJ.SetValue(3, 5, 0.5 * Au[0] * c[1] * Au[2] / K[0]);
178 
179  invJ.SetValue(4, 0, Au[0] * Au[1] * (c[0] + uu[0]) * c[2] / K[1]);
180  invJ.SetValue(4, 1, -Au[1] * (c[0] * Au[1] * c[2] + c[0] * uu[1] * Au[2]
181  + c[2] * uu[1] * Au[0]) / K[1]);
182  invJ.SetValue(4, 2, -Au[2] * Au[1] * (c[2] - uu[2]) * c[0] / K[1]);
183  invJ.SetValue(4, 3, -c[0] * Au[1] * c[2] / K[1]);
184  invJ.SetValue(4, 4, -0.5 * Au[1] * (c[0] * Au[2] + Au[0] * c[2]) / K[1]);
185  invJ.SetValue(4, 5, 0.5 * Au[2] * Au[1] * c[0] / K[1]);
186 
187  invJ.SetValue(5, 0, Au[0] * Au[2] * (c[0] + uu[0]) * c[1] / K[2]);
188  invJ.SetValue(5, 1, -Au[2] * Au[1] * (c[1] - uu[1]) * c[0] / K[2]);
189  invJ.SetValue(5, 2, -Au[2] * (Au[2] * c[0] * c[1] + c[0] * uu[2] * Au[1]
190  + c[1] * uu[2] * Au[0]) / K[2]);
191  invJ.SetValue(5, 3, -Au[2] * c[0] * c[1] / K[2]);
192  invJ.SetValue(5, 4, 0.5 * Au[2] * Au[1] * c[0] / K[2]);
193  invJ.SetValue(5, 5, -0.5 * Au[2] * (Au[1] * c[0] + c[1] * Au[0]) / K[2]);
194  }
195  else if (type == "Merge")
196  {
197  NekMatrix<NekDouble> J(6, 6);
198  Array<OneD, NekDouble> c(3);
199  Array<OneD, NekDouble> K(3);
200 
201  for (int i = 0; i < 3; ++i)
202  {
203  GetC(c[i], beta[i], Au[i], A0[i], alpha[i]);
204  }
205 
206  k = c[0] * Au[1] * c[2] + Au[0] * c[2] * c[1] + Au[2] * c[0] * c[1];
207  K[0] = (c[0] - uu[0]) * k;
208  K[1] = (c[1] + uu[1]) * k;
209  K[2] = (c[2] + uu[2]) * k;
210 
211  invJ.SetValue(0, 0, (-c[1] * uu[0] * c[2] * Au[0] + Au[2] * c[1] * c[0]
212  * c[0] + Au[1] * c[0] * c[0] * c[2]) / K[0]);
213  invJ.SetValue(0, 1, Au[1] * (c[1] - uu[1]) * c[0] * c[2] / K[0]);
214  invJ.SetValue(0, 2, Au[2] * (c[2] - uu[2]) * c[0] * c[1] / K[0]);
215  invJ.SetValue(0, 3, c[0] * c[1] * c[2] / K[0]);
216  invJ.SetValue(0, 4, -0.5 * c[0] * Au[1] * c[2] / K[0]);
217  invJ.SetValue(0, 5, -0.5 * Au[2] * c[0] * c[1] / K[0]);
218 
219  invJ.SetValue(1, 0, Au[0] * (c[0] + uu[0]) * c[1] * c[2] / K[1]);
220  invJ.SetValue(1, 1, (c[0] * uu[1] * c[2] * Au[1] + Au[2] * c[0] * c[1]
221  * c[1] + c[2] * c[1] * c[1] * Au[0]) / K[1]);
222  invJ.SetValue(1, 2, -Au[2] * (c[2] - uu[2]) * c[0] * c[1] / K[1]);
223  invJ.SetValue(1, 3, -c[0] * c[1] * c[2] / K[1]);
224  invJ.SetValue(1, 4, -0.5 * (c[0] * Au[2] + Au[0] * c[2]) * c[1] / K[1]);
225  invJ.SetValue(1, 5, 0.5 * Au[2] * c[0] * c[1] / K[1]);
226 
227  invJ.SetValue(2, 0, Au[0] * (c[0] - uu[0]) * c[1] * c[2] / K[2]);
228  invJ.SetValue(2, 1, -Au[1] * (c[1] + uu[1]) * c[0] * c[2] / K[2]);
229  invJ.SetValue(2, 2, -(c[0] * uu[2] * c[1] * Au[2] - Au[1] * c[0] *
230  c[2] * c[2] - c[1] * c[2] * c[2] * Au[0]) / K[2]);
231  invJ.SetValue(2, 3, -c[0] * c[1] * c[2] / K[2]);
232  invJ.SetValue(2, 4, -0.5 * Au[1] * c[0] * c[2] / K[2]);
233  invJ.SetValue(2, 5, 0.5 * (Au[1] * c[0] + Au[0] * c[1]) * c[2] / K[2]);
234 
235  invJ.SetValue(3, 0, -Au[0] * (Au[0] * c[2] * c[1] + uu[0] * c[2] *
236  Au[1] + uu[0] * c[1] * Au[2]) / K[0]);
237  invJ.SetValue(3, 1, Au[0] * Au[1] * (c[1] + uu[1]) * c[2] / K[0]);
238 
239  invJ.SetValue(3, 2, -Au[0] * Au[2] * (c[2] - uu[2]) * c[1] / K[0]);
240  invJ.SetValue(3, 3, -Au[0] * c[2] * c[1] / K[0]);
241  invJ.SetValue(3, 4, 0.5 * Au[0] * Au[1] * c[2] / K[0]);
242  invJ.SetValue(3, 5, 0.5 * Au[0] * c[1] * Au[2] / K[0]);
243 
244  invJ.SetValue(4, 0, Au[0] * Au[1] * (c[0] + uu[0]) * c[2] / K[1]);
245  invJ.SetValue(4, 1, -Au[1] * (c[0] * Au[1] * c[2] + c[0] * uu[1] * Au[2]
246  + c[2] * uu[1] * Au[0]) / K[1]);
247  invJ.SetValue(4, 2, -Au[2] * Au[1] * (c[2] - uu[2]) * c[0] / K[1]);
248  invJ.SetValue(4, 3, -c[0] * Au[1] * c[2] / K[1]);
249  invJ.SetValue(4, 4, -0.5 * Au[1] * (c[0] * Au[2] + Au[0] * c[2]) / K[1]);
250  invJ.SetValue(4, 5, 0.5 * Au[2] * Au[1] * c[0] / K[1]);
251 
252  invJ.SetValue(5, 0, Au[0] * Au[2] * (c[0] + uu[0]) * c[1] / K[2]);
253  invJ.SetValue(5, 1, -Au[2] * Au[1] * (c[1] - uu[1]) * c[0] / K[2]);
254  invJ.SetValue(5, 2, -Au[2] * (Au[2] * c[0] * c[1] + c[0] * uu[2] * Au[1]
255  + c[1] * uu[2] * Au[0]) / K[2]);
256  invJ.SetValue(5, 3, -Au[2] * c[0] * c[1] / K[2]);
257  invJ.SetValue(5, 4, 0.5 * Au[2] * Au[1] * c[0] / K[2]);
258  invJ.SetValue(5, 5, -0.5 * Au[2] * (Au[1] * c[0] + c[1] * Au[0]) / K[2]);
259  }
260  else if (type == "Junction")
261  {
262  NekMatrix<NekDouble> J(4, 4);
263  Array<OneD, NekDouble> c(2);
264  Array<OneD, NekDouble> K(2);
265 
266  for (int i = 0; i < 2; ++i)
267  {
268  GetC(c[i], beta[i], Au[i], A0[i], alpha[i]);
269  }
270 
271  k = (c[0] * Au[1] + Au[0] * c[1]);
272  K[0] = (c[0] + uu[0]) * k;
273  K[1] = (c[1] + uu[1]) * k;
274 
275  invJ.SetValue(0, 0, (Au[1] * c[0] * c[0] - c[1] * uu[0] * Au[0]) / K[0]);
276  invJ.SetValue(0, 1, Au[1] * (c[1] - uu[1]) * c[0] / K[0]);
277  invJ.SetValue(0, 2, c[0] * c[1] / K[0]);
278  invJ.SetValue(0, 3, -0.5 * c[0] * Au[1] / K[0]);
279 
280  invJ.SetValue(1, 0, Au[0] * (c[0] + uu[0]) * c[1] / K[1]);
281  invJ.SetValue(1, 1, (c[0] * uu[1] * Au[1] + c[1] * c[1] * Au[0]) / K[1]);
282  invJ.SetValue(1, 2, -c[0] * c[1] / K[1]);
283  invJ.SetValue(1, 3, -0.5 * Au[0] * c[1] / K[1]);
284 
285  invJ.SetValue(2, 0, Au[0] * (Au[0] * c[1] - uu[0] * Au[1]) / K[0]);
286  invJ.SetValue(2, 1, -Au[0] * Au[1] * (c[1] - uu[1]) / K[0]);
287  invJ.SetValue(2, 2, -Au[0] * c[1] / K[0]);
288  invJ.SetValue(2, 3, 0.5 * Au[1] * Au[0] / K[0]);
289 
290  invJ.SetValue(3, 0, Au[0] * Au[1] * (c[0] + uu[0]) / K[1]);
291  invJ.SetValue(3, 1, -Au[1] * (c[0] * Au[1] + uu[1] * Au[0]) / K[1]);
292  invJ.SetValue(3, 2, -c[0] * Au[1] / K[1]);
293  invJ.SetValue(3, 3, -0.5 * Au[1] * Au[0] / K[1]);
294  }
295 }

References Nektar::PulseWavePressureArea::GetC().

◆ v_GetPressure()

void Nektar::BetaPressureArea::v_GetPressure ( NekDouble P,
const NekDouble beta,
const NekDouble A,
const NekDouble A0,
const NekDouble dAUdx,
const NekDouble gamma = 0,
const NekDouble alpha = 0.5 
)
protectedvirtual

Implements Nektar::PulseWavePressureArea.

Definition at line 59 of file BetaPressureArea.cpp.

62 {
63  P = m_PExt + beta * (sqrt(A) - sqrt(A0)) - gamma * dAUdx / sqrt(A); // Viscoelasticity
64 }
P
Definition: main.py:133

References Nektar::PulseWavePressureArea::m_PExt, main::P, and tinysimd::sqrt().

◆ v_GetUFromChars()

void Nektar::BetaPressureArea::v_GetUFromChars ( NekDouble u,
const NekDouble W1,
const NekDouble W2 
)
protectedvirtual

Implements Nektar::PulseWavePressureArea.

Definition at line 99 of file BetaPressureArea.cpp.

101 {
102  u = (W1 + W2) / 2; // Necessarily the case for all tube laws
103 }

◆ v_GetW1()

void Nektar::BetaPressureArea::v_GetW1 ( NekDouble W1,
const NekDouble u,
const NekDouble beta,
const NekDouble A,
const NekDouble A0,
const NekDouble alpha = 0.5 
)
protectedvirtual

Implements Nektar::PulseWavePressureArea.

Definition at line 72 of file BetaPressureArea.cpp.

75 {
76  NekDouble I = 0.0;
77  GetCharIntegral(I, beta, A, A0);
78 
79  W1 = u + I; // Elastic and assumes u0 = 0
80 }
void GetCharIntegral(NekDouble &I, const NekDouble &beta, const NekDouble &A, const NekDouble &A0, const NekDouble &alpha=0.5)

References Nektar::PulseWavePressureArea::GetCharIntegral().

◆ v_GetW2()

void Nektar::BetaPressureArea::v_GetW2 ( NekDouble W2,
const NekDouble u,
const NekDouble beta,
const NekDouble A,
const NekDouble A0,
const NekDouble alpha = 0.5 
)
protectedvirtual

Implements Nektar::PulseWavePressureArea.

Definition at line 82 of file BetaPressureArea.cpp.

85 {
86  NekDouble I = 0.0;
87  GetCharIntegral(I, beta, A, A0);
88 
89  W2 = u - I; // Elastic and assumes u0 = 0
90 }

References Nektar::PulseWavePressureArea::GetCharIntegral().

Member Data Documentation

◆ className

std::string Nektar::BetaPressureArea::className
static
Initial value:
=
"Beta law pressure area relationship for the arterial system")
static PulseWavePressureAreaSharedPtr create(Array< OneD, MultiRegions::ExpListSharedPtr > &pVessel, const LibUtilities::SessionReaderSharedPtr &pSession)
tKey RegisterCreatorFunction(tKey idKey, CreatorFunction classCreator, std::string pDesc="")
Register a class with the factory.
Definition: NekFactory.hpp:200
PressureAreaFactory & GetPressureAreaFactory()

Definition at line 61 of file BetaPressureArea.h.