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

#include <Diffusion3DHomogeneous1D.h>

Inheritance diagram for Nektar::SolverUtils::Diffusion3DHomogeneous1D:
[legend]

Static Public Member Functions

static DiffusionSharedPtr create (std::string diffType)
 

Static Public Attributes

static std::string type []
 

Protected Member Functions

 Diffusion3DHomogeneous1D (std::string diffType)
 Diffusion3DHomogeneous1D uses the 2D WeakDG approach to compute the diffusion term looping on the planes in the z direction and adding the flux in z direction at the end. More...
 
void v_InitObject (LibUtilities::SessionReaderSharedPtr pSession, Array< OneD, MultiRegions::ExpListSharedPtr > pFields) override
 Initiliase Diffusion3DHomogeneous1D objects and store them before starting the time-stepping. More...
 
void v_Diffuse (const size_t nConvective, const Array< OneD, MultiRegions::ExpListSharedPtr > &fields, const Array< OneD, Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray, const Array< OneD, Array< OneD, NekDouble > > &pFwd=NullNekDoubleArrayOfArray, const Array< OneD, Array< OneD, NekDouble > > &pBwd=NullNekDoubleArrayOfArray) override
 Calculate WeakDG Diffusion for the linear problems using an LDG interface flux and the the flux in the third direction. More...
 
- Protected Member Functions inherited from Nektar::SolverUtils::Diffusion
virtual SOLVER_UTILS_EXPORT void v_InitObject (LibUtilities::SessionReaderSharedPtr pSession, Array< OneD, MultiRegions::ExpListSharedPtr > pFields)=0
 
virtual SOLVER_UTILS_EXPORT void v_Diffuse (const std::size_t nConvectiveFields, const Array< OneD, MultiRegions::ExpListSharedPtr > &fields, const Array< OneD, Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray, const Array< OneD, Array< OneD, NekDouble > > &pFwd, const Array< OneD, Array< OneD, NekDouble > > &pBwd)=0
 
virtual SOLVER_UTILS_EXPORT void v_DiffuseCoeffs (const std::size_t nConvectiveFields, const Array< OneD, MultiRegions::ExpListSharedPtr > &fields, const Array< OneD, Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray, const Array< OneD, Array< OneD, NekDouble > > &pFwd, const Array< OneD, Array< OneD, NekDouble > > &pBwd)
 
virtual SOLVER_UTILS_EXPORT void v_DiffuseCalcDerivative (const Array< OneD, MultiRegions::ExpListSharedPtr > &fields, const Array< OneD, Array< OneD, NekDouble > > &inarray, TensorOfArray3D< NekDouble > &qfields, const Array< OneD, Array< OneD, NekDouble > > &pFwd, const Array< OneD, Array< OneD, NekDouble > > &pBwd)
 Diffusion Flux, calculate the physical derivatives. More...
 
virtual SOLVER_UTILS_EXPORT void v_DiffuseVolumeFlux (const Array< OneD, MultiRegions::ExpListSharedPtr > &fields, const Array< OneD, Array< OneD, NekDouble > > &inarray, TensorOfArray3D< NekDouble > &qfields, TensorOfArray3D< NekDouble > &VolumeFlux, Array< OneD, int > &nonZeroIndex)
 Diffusion Volume Flux. More...
 
virtual SOLVER_UTILS_EXPORT void v_DiffuseTraceFlux (const Array< OneD, MultiRegions::ExpListSharedPtr > &fields, const Array< OneD, Array< OneD, NekDouble > > &inarray, TensorOfArray3D< NekDouble > &Qfields, TensorOfArray3D< NekDouble > &VolumeFlux, Array< OneD, Array< OneD, NekDouble > > &TraceFlux, const Array< OneD, Array< OneD, NekDouble > > &pFwd, const Array< OneD, Array< OneD, NekDouble > > &pBwd, Array< OneD, int > &nonZeroIndex)
 Diffusion term Trace Flux. More...
 
virtual void v_SetHomoDerivs (Array< OneD, Array< OneD, NekDouble > > &deriv)
 
virtual TensorOfArray3D< NekDouble > & v_GetFluxTensor ()
 
virtual SOLVER_UTILS_EXPORT const Array< OneD, const Array< OneD, NekDouble > > & v_GetTraceNormal ()
 

Protected Attributes

std::string m_diffType
 
- Protected Attributes inherited from Nektar::SolverUtils::Diffusion
Array< OneD, NekDoublem_divVel
 Params for Ducros sensor. More...
 
Array< OneD, NekDoublem_divVelSquare
 
Array< OneD, NekDoublem_curlVelSquare
 
DiffusionFluxVecCB m_fluxVector
 
DiffusionFluxVecCBNS m_fluxVectorNS
 
DiffusionFluxPenaltyNS m_fluxPenaltyNS
 
DiffusionFluxCons m_FunctorDiffusionfluxCons
 
DiffusionFluxCons m_FunctorDiffusionfluxConsTrace
 
SpecialBndTreat m_SpecialBndTreat
 
DiffusionSymmFluxCons m_FunctorSymmetricfluxCons
 
Array< OneD, Array< OneD, NekDouble > > m_gridVelocityTrace
 
NekDouble m_time = 0.0
 

Private Attributes

LibUtilities::TranspositionSharedPtr m_trans
 
SolverUtils::DiffusionSharedPtr m_planeDiff
 
NekDouble m_homoLen
 
size_t m_numPoints
 
size_t m_numPointsPlane
 
size_t m_numPlanes
 
size_t m_planeCounter
 
Array< OneD, unsigned int > m_planePos
 
Array< OneD, Array< OneD, NekDouble > > m_homoDerivStore
 
Array< OneD, Array< OneD, Array< OneD, NekDouble > > > m_homoDerivPlane
 
Array< OneD, Array< OneD, NekDouble > > m_inarrayPlane
 
Array< OneD, Array< OneD, NekDouble > > m_outarrayPlane
 
Array< OneD, MultiRegions::ExpListSharedPtrm_fieldsPlane
 

Additional Inherited Members

- Public Member Functions inherited from Nektar::SolverUtils::Diffusion
virtual SOLVER_UTILS_EXPORT ~Diffusion ()
 
SOLVER_UTILS_EXPORT void InitObject (LibUtilities::SessionReaderSharedPtr pSession, Array< OneD, MultiRegions::ExpListSharedPtr > pFields)
 
SOLVER_UTILS_EXPORT void Diffuse (const std::size_t nConvectiveFields, const Array< OneD, MultiRegions::ExpListSharedPtr > &fields, const Array< OneD, Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray, const Array< OneD, Array< OneD, NekDouble > > &pFwd=NullNekDoubleArrayOfArray, const Array< OneD, Array< OneD, NekDouble > > &pBwd=NullNekDoubleArrayOfArray)
 
SOLVER_UTILS_EXPORT void Diffuse (const std::size_t nConvectiveFields, const Array< OneD, MultiRegions::ExpListSharedPtr > &fields, const Array< OneD, Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray, NekDouble time, const Array< OneD, Array< OneD, NekDouble > > &pFwd=NullNekDoubleArrayOfArray, const Array< OneD, Array< OneD, NekDouble > > &pBwd=NullNekDoubleArrayOfArray)
 
SOLVER_UTILS_EXPORT void DiffuseCoeffs (const std::size_t nConvectiveFields, const Array< OneD, MultiRegions::ExpListSharedPtr > &fields, const Array< OneD, Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray, const Array< OneD, Array< OneD, NekDouble > > &pFwd=NullNekDoubleArrayOfArray, const Array< OneD, Array< OneD, NekDouble > > &pBwd=NullNekDoubleArrayOfArray)
 
SOLVER_UTILS_EXPORT void DiffuseCoeffs (const std::size_t nConvectiveFields, const Array< OneD, MultiRegions::ExpListSharedPtr > &fields, const Array< OneD, Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray, NekDouble time, const Array< OneD, Array< OneD, NekDouble > > &pFwd=NullNekDoubleArrayOfArray, const Array< OneD, Array< OneD, NekDouble > > &pBwd=NullNekDoubleArrayOfArray)
 
SOLVER_UTILS_EXPORT void DiffuseCalcDerivative (const Array< OneD, MultiRegions::ExpListSharedPtr > &fields, const Array< OneD, Array< OneD, NekDouble > > &inarray, TensorOfArray3D< NekDouble > &qfields, const Array< OneD, Array< OneD, NekDouble > > &pFwd=NullNekDoubleArrayOfArray, const Array< OneD, Array< OneD, NekDouble > > &pBwd=NullNekDoubleArrayOfArray)
 
SOLVER_UTILS_EXPORT void DiffuseVolumeFlux (const Array< OneD, MultiRegions::ExpListSharedPtr > &fields, const Array< OneD, Array< OneD, NekDouble > > &inarray, TensorOfArray3D< NekDouble > &qfields, TensorOfArray3D< NekDouble > &VolumeFlux, Array< OneD, int > &nonZeroIndex=NullInt1DArray)
 Diffusion Volume FLux. More...
 
SOLVER_UTILS_EXPORT void DiffuseTraceFlux (const Array< OneD, MultiRegions::ExpListSharedPtr > &fields, const Array< OneD, Array< OneD, NekDouble > > &inarray, TensorOfArray3D< NekDouble > &qfields, TensorOfArray3D< NekDouble > &VolumeFlux, Array< OneD, Array< OneD, NekDouble > > &TraceFlux, const Array< OneD, Array< OneD, NekDouble > > &pFwd=NullNekDoubleArrayOfArray, const Array< OneD, Array< OneD, NekDouble > > &pBwd=NullNekDoubleArrayOfArray, Array< OneD, int > &nonZeroIndex=NullInt1DArray)
 Diffusion term Trace Flux. More...
 
SOLVER_UTILS_EXPORT void SetHomoDerivs (Array< OneD, Array< OneD, NekDouble > > &deriv)
 
SOLVER_UTILS_EXPORT TensorOfArray3D< NekDouble > & GetFluxTensor ()
 
SOLVER_UTILS_EXPORT const Array< OneD, const Array< OneD, NekDouble > > & GetTraceNormal ()
 Get trace normal. More...
 
template<typename FuncPointerT , typename ObjectPointerT >
void SetFluxVector (FuncPointerT func, ObjectPointerT obj)
 
SOLVER_UTILS_EXPORT void SetFluxVector (DiffusionFluxVecCB fluxVector)
 
template<typename FuncPointerT , typename ObjectPointerT >
void SetFluxVectorNS (FuncPointerT func, ObjectPointerT obj)
 
void SetFluxVectorNS (DiffusionFluxVecCBNS fluxVector)
 
template<typename FuncPointerT , typename ObjectPointerT >
void SetFluxPenaltyNS (FuncPointerT func, ObjectPointerT obj)
 
void SetFluxPenaltyNS (DiffusionFluxPenaltyNS flux)
 
template<typename FuncPointerT , typename ObjectPointerT >
void SetDiffusionFluxCons (FuncPointerT func, ObjectPointerT obj)
 
void SetDiffusionFluxCons (DiffusionFluxCons flux)
 
template<typename FuncPointerT , typename ObjectPointerT >
void SetDiffusionFluxConsTrace (FuncPointerT func, ObjectPointerT obj)
 
void SetDiffusionFluxConsTrace (DiffusionFluxCons flux)
 
template<typename FuncPointerT , typename ObjectPointerT >
void SetSpecialBndTreat (FuncPointerT func, ObjectPointerT obj)
 
template<typename FuncPointerT , typename ObjectPointerT >
void SetDiffusionSymmFluxCons (FuncPointerT func, ObjectPointerT obj)
 
SOLVER_UTILS_EXPORT void SetGridVelocityTrace (Array< OneD, Array< OneD, NekDouble > > &gridVelocityTrace)
 

Detailed Description

Definition at line 42 of file Diffusion3DHomogeneous1D.h.

Constructor & Destructor Documentation

◆ Diffusion3DHomogeneous1D()

Nektar::SolverUtils::Diffusion3DHomogeneous1D::Diffusion3DHomogeneous1D ( std::string  diffType)
protected

Diffusion3DHomogeneous1D uses the 2D WeakDG approach to compute the diffusion term looping on the planes in the z direction and adding the flux in z direction at the end.

Definition at line 74 of file Diffusion3DHomogeneous1D.cpp.

75{
76 // Strip trailing string "3DHomogeneous1D" to determine 2D diffusion
77 // type, and create a diffusion object for the plane.
78 m_diffType = diffType.substr(0, diffType.length() - 15);
80}
tBaseSharedPtr CreateInstance(tKey idKey, tParam... args)
Create an instance of the class referred to by idKey.
DiffusionFactory & GetDiffusionFactory()
Definition: Diffusion.cpp:39

References Nektar::LibUtilities::NekFactory< tKey, tBase, tParam >::CreateInstance(), Nektar::SolverUtils::GetDiffusionFactory(), m_diffType, and m_planeDiff.

Referenced by create().

Member Function Documentation

◆ create()

static DiffusionSharedPtr Nektar::SolverUtils::Diffusion3DHomogeneous1D::create ( std::string  diffType)
inlinestatic

Definition at line 45 of file Diffusion3DHomogeneous1D.h.

46 {
47 return DiffusionSharedPtr(new Diffusion3DHomogeneous1D(diffType));
48 }
Diffusion3DHomogeneous1D(std::string diffType)
Diffusion3DHomogeneous1D uses the 2D WeakDG approach to compute the diffusion term looping on the pla...
std::shared_ptr< Diffusion > DiffusionSharedPtr
A shared pointer to an EquationSystem object.
Definition: Diffusion.h:55

References Diffusion3DHomogeneous1D().

◆ v_Diffuse()

void Nektar::SolverUtils::Diffusion3DHomogeneous1D::v_Diffuse ( const size_t  nConvective,
const Array< OneD, MultiRegions::ExpListSharedPtr > &  fields,
const Array< OneD, Array< OneD, NekDouble > > &  inarray,
Array< OneD, Array< OneD, NekDouble > > &  outarray,
const Array< OneD, Array< OneD, NekDouble > > &  pFwd = NullNekDoubleArrayOfArray,
const Array< OneD, Array< OneD, NekDouble > > &  pBwd = NullNekDoubleArrayOfArray 
)
overrideprotected

Calculate WeakDG Diffusion for the linear problems using an LDG interface flux and the the flux in the third direction.

Definition at line 181 of file Diffusion3DHomogeneous1D.cpp.

188{
189 Array<OneD, NekDouble> tmp(m_numPoints), tmp2;
190 Array<OneD, Array<OneD, NekDouble>> viscHComp;
191 const int nPointsTot = fields[0]->GetNpoints();
193
194 if (m_fluxVectorNS)
195 {
196 viscHComp = Array<OneD, Array<OneD, NekDouble>>(nConvectiveFields);
197 for (int i = 0; i < nConvectiveFields - 1; ++i)
198 {
199 fields[0]->PhysDeriv(2, inarray[i], m_homoDerivStore[i]);
200 viscHComp[i] = Array<OneD, NekDouble>(m_numPoints);
201 }
202 }
203
204 for (int i = 0; i < m_numPlanes; ++i)
205 {
206 // Set up memory references for fields, inarray and outarray for
207 // this plane.
208 for (int j = 0; j < inarray.size(); ++j)
209 {
210 m_inarrayPlane[j] = Array<OneD, NekDouble>(
211 m_numPointsPlane, tmp2 = inarray[j] + m_planePos[i]);
212 }
213
214 for (int j = 0; j < nConvectiveFields; ++j)
215 {
216 m_fieldsPlane[j] = fields[j]->GetPlane(i);
217 m_outarrayPlane[j] = Array<OneD, NekDouble>(
218 m_numPointsPlane, tmp2 = outarray[j] + m_planePos[i]);
219 }
220
221 if (m_fluxVectorNS)
222 {
223 m_planeDiff->SetHomoDerivs(m_homoDerivPlane[i]);
224 }
225
226 if (m_diffType == "LDGNS")
227 {
228 // Store plane Fwd/Bwd traces
229 std::size_t nTracePts =
230 m_fieldsPlane[0]->GetTrace()->GetTotPoints();
231 std::size_t nScalar = m_inarrayPlane.size();
232 Array<OneD, Array<OneD, NekDouble>> Fwd(nScalar);
233 Array<OneD, Array<OneD, NekDouble>> Bwd(nScalar);
234 {
235 for (std::size_t k = 0; k < nScalar; ++k)
236 {
237 Fwd[k] = Array<OneD, NekDouble>(nTracePts, 0.0);
238 Bwd[k] = Array<OneD, NekDouble>(nTracePts, 0.0);
239 m_fieldsPlane[k]->GetFwdBwdTracePhys(m_inarrayPlane[k],
240 Fwd[k], Bwd[k]);
241 }
242 }
243
244 m_planeDiff->Diffuse(nConvectiveFields, m_fieldsPlane,
246 }
247 else
248 {
249 m_planeDiff->Diffuse(nConvectiveFields, m_fieldsPlane,
251 }
252
253 if (m_fluxVectorNS)
254 {
255 Array<OneD, Array<OneD, Array<OneD, NekDouble>>> &viscTensor =
256 m_planeDiff->GetFluxTensor();
257
258 // Extract H (viscTensor[2])
259 for (int j = 0; j < nConvectiveFields - 1; ++j)
260 {
261 Vmath::Vcopy(m_numPointsPlane, viscTensor[2][j + 1], 1,
262 tmp2 = viscHComp[j] + m_planePos[i], 1);
263 }
264 }
265 }
266
267 if (m_fluxVectorNS)
268 {
269 for (int j = 0; j < nConvectiveFields - 1; ++j)
270 {
271 fields[j + 1]->PhysDeriv(2, viscHComp[j], tmp);
272 Vmath::Vadd(nPointsTot, outarray[j + 1], 1, tmp, 1, outarray[j + 1],
273 1);
274 }
275 }
276 else
277 {
278 for (int j = 0; j < nConvectiveFields; ++j)
279 {
280 fields[j]->HomogeneousFwdTrans(m_numPoints, inarray[j], tmp);
281
282 for (int i = 0; i < m_numPlanes; ++i)
283 {
284 beta = 2 * M_PI * m_trans->GetK(i) / m_homoLen;
285 beta *= beta;
286
288 &tmp[0] + i * m_numPointsPlane, 1,
289 &tmp[0] + i * m_numPointsPlane, 1);
290 }
291
292 fields[0]->HomogeneousBwdTrans(m_numPoints, tmp, tmp);
293
294 Vmath::Vsub(nPointsTot, outarray[j], 1, tmp, 1, outarray[j], 1);
295 }
296 }
297}
LibUtilities::TranspositionSharedPtr m_trans
Array< OneD, MultiRegions::ExpListSharedPtr > m_fieldsPlane
Array< OneD, Array< OneD, Array< OneD, NekDouble > > > m_homoDerivPlane
Array< OneD, Array< OneD, NekDouble > > m_outarrayPlane
Array< OneD, Array< OneD, NekDouble > > m_homoDerivStore
Array< OneD, Array< OneD, NekDouble > > m_inarrayPlane
DiffusionFluxVecCBNS m_fluxVectorNS
Definition: Diffusion.h:354
@ beta
Gauss Radau pinned at x=-1,.
Definition: PointsType.h:59
double NekDouble
void Vadd(int n, const T *x, const int incx, const T *y, const int incy, T *z, const int incz)
Add vector z = x+y.
Definition: Vmath.hpp:180
void Smul(int n, const T alpha, const T *x, const int incx, T *y, const int incy)
Scalar multiply y = alpha*x.
Definition: Vmath.hpp:100
void Vcopy(int n, const T *x, const int incx, T *y, const int incy)
Definition: Vmath.hpp:825
void Vsub(int n, const T *x, const int incx, const T *y, const int incy, T *z, const int incz)
Subtract vector z = x-y.
Definition: Vmath.hpp:220

References Nektar::LibUtilities::beta, m_diffType, m_fieldsPlane, Nektar::SolverUtils::Diffusion::m_fluxVectorNS, m_homoDerivPlane, m_homoDerivStore, m_homoLen, m_inarrayPlane, m_numPlanes, m_numPoints, m_numPointsPlane, m_outarrayPlane, m_planeDiff, m_planePos, m_trans, Vmath::Smul(), Vmath::Vadd(), Vmath::Vcopy(), and Vmath::Vsub().

◆ v_InitObject()

void Nektar::SolverUtils::Diffusion3DHomogeneous1D::v_InitObject ( LibUtilities::SessionReaderSharedPtr  pSession,
Array< OneD, MultiRegions::ExpListSharedPtr pFields 
)
overrideprotectedvirtual

Initiliase Diffusion3DHomogeneous1D objects and store them before starting the time-stepping.

Parameters
pSessionPointer to session reader.
pFieldsPointer to fields.

Implements Nektar::SolverUtils::Diffusion.

Definition at line 89 of file Diffusion3DHomogeneous1D.cpp.

92{
93 int nConvectiveFields = pFields.size();
94
95 Array<OneD, MultiRegions::ExpListSharedPtr> pFields_plane0(
96 nConvectiveFields);
97
98 // Initialise the plane advection object.
99 for (int i = 0; i < nConvectiveFields; ++i)
100 {
101 pFields_plane0[i] = pFields[i]->GetPlane(0);
102 }
103 m_planeDiff->InitObject(pSession, pFields_plane0);
104
105 m_numPoints = pFields[0]->GetTotPoints();
106 m_numPlanes = pFields[0]->GetZIDs().size();
108 m_homoLen = pFields[0]->GetHomoLen();
109 m_trans = pFields[0]->GetTransposition();
110 m_planeCounter = 0;
111
112 if (m_diffType == "LDG")
113 {
114 // Set viscous flux for LDG
115 m_planeDiff->SetFluxVector(m_fluxVector);
116 }
117 else if (m_diffType == "LDGNS")
118 {
119 // Set viscous flux for LDGNS
120 m_planeDiff->SetFluxVectorNS(m_fluxVectorNS);
121 // Set penalty flux
122 m_planeDiff->SetFluxPenaltyNS(m_fluxPenaltyNS);
123 }
124 else if (m_diffType == "LFRDGNS" || m_diffType == "LFRHUNS" ||
125 m_diffType == "LFRSDNS")
126 {
127 // Set viscous flux for FR cases
128 m_planeDiff->SetFluxVectorNS(m_fluxVectorNS);
129 }
130
132 Array<OneD, MultiRegions::ExpListSharedPtr>(nConvectiveFields);
133
134 if (m_fluxVectorNS)
135 {
137 Array<OneD, Array<OneD, NekDouble>>(nConvectiveFields - 1);
138 }
139 else
140 {
141 m_inarrayPlane = Array<OneD, Array<OneD, NekDouble>>(nConvectiveFields);
142 }
143 m_outarrayPlane = Array<OneD, Array<OneD, NekDouble>>(nConvectiveFields);
144 m_planePos = Array<OneD, unsigned int>(m_numPlanes);
145
146 for (int i = 0; i < m_numPlanes; ++i)
147 {
149 }
150
151 if (m_fluxVectorNS)
152 {
154 Array<OneD, Array<OneD, NekDouble>>(nConvectiveFields);
156 Array<OneD, Array<OneD, Array<OneD, NekDouble>>>(m_numPlanes);
157
158 for (int i = 0; i < nConvectiveFields; ++i)
159 {
160 m_homoDerivStore[i] = Array<OneD, NekDouble>(m_numPoints);
161 }
162
163 for (int i = 0; i < m_numPlanes; ++i)
164 {
166 Array<OneD, Array<OneD, NekDouble>>(nConvectiveFields);
167
168 for (int j = 0; j < nConvectiveFields; ++j)
169 {
170 m_homoDerivPlane[i][j] = Array<OneD, NekDouble>(
172 }
173 }
174 }
175}
DiffusionFluxPenaltyNS m_fluxPenaltyNS
Definition: Diffusion.h:355
DiffusionFluxVecCB m_fluxVector
Definition: Diffusion.h:353

References m_diffType, m_fieldsPlane, Nektar::SolverUtils::Diffusion::m_fluxPenaltyNS, Nektar::SolverUtils::Diffusion::m_fluxVector, Nektar::SolverUtils::Diffusion::m_fluxVectorNS, m_homoDerivPlane, m_homoDerivStore, m_homoLen, m_inarrayPlane, m_numPlanes, m_numPoints, m_numPointsPlane, m_outarrayPlane, m_planeCounter, m_planeDiff, m_planePos, and m_trans.

Member Data Documentation

◆ m_diffType

std::string Nektar::SolverUtils::Diffusion3DHomogeneous1D::m_diffType
protected

Definition at line 54 of file Diffusion3DHomogeneous1D.h.

Referenced by Diffusion3DHomogeneous1D(), v_Diffuse(), and v_InitObject().

◆ m_fieldsPlane

Array<OneD, MultiRegions::ExpListSharedPtr> Nektar::SolverUtils::Diffusion3DHomogeneous1D::m_fieldsPlane
private

Definition at line 82 of file Diffusion3DHomogeneous1D.h.

Referenced by v_Diffuse(), and v_InitObject().

◆ m_homoDerivPlane

Array<OneD, Array<OneD, Array<OneD, NekDouble> > > Nektar::SolverUtils::Diffusion3DHomogeneous1D::m_homoDerivPlane
private

Definition at line 79 of file Diffusion3DHomogeneous1D.h.

Referenced by v_Diffuse(), and v_InitObject().

◆ m_homoDerivStore

Array<OneD, Array<OneD, NekDouble> > Nektar::SolverUtils::Diffusion3DHomogeneous1D::m_homoDerivStore
private

Definition at line 78 of file Diffusion3DHomogeneous1D.h.

Referenced by v_Diffuse(), and v_InitObject().

◆ m_homoLen

NekDouble Nektar::SolverUtils::Diffusion3DHomogeneous1D::m_homoLen
private

Definition at line 72 of file Diffusion3DHomogeneous1D.h.

Referenced by v_Diffuse(), and v_InitObject().

◆ m_inarrayPlane

Array<OneD, Array<OneD, NekDouble> > Nektar::SolverUtils::Diffusion3DHomogeneous1D::m_inarrayPlane
private

Definition at line 80 of file Diffusion3DHomogeneous1D.h.

Referenced by v_Diffuse(), and v_InitObject().

◆ m_numPlanes

size_t Nektar::SolverUtils::Diffusion3DHomogeneous1D::m_numPlanes
private

Definition at line 75 of file Diffusion3DHomogeneous1D.h.

Referenced by v_Diffuse(), and v_InitObject().

◆ m_numPoints

size_t Nektar::SolverUtils::Diffusion3DHomogeneous1D::m_numPoints
private

Definition at line 73 of file Diffusion3DHomogeneous1D.h.

Referenced by v_Diffuse(), and v_InitObject().

◆ m_numPointsPlane

size_t Nektar::SolverUtils::Diffusion3DHomogeneous1D::m_numPointsPlane
private

Definition at line 74 of file Diffusion3DHomogeneous1D.h.

Referenced by v_Diffuse(), and v_InitObject().

◆ m_outarrayPlane

Array<OneD, Array<OneD, NekDouble> > Nektar::SolverUtils::Diffusion3DHomogeneous1D::m_outarrayPlane
private

Definition at line 81 of file Diffusion3DHomogeneous1D.h.

Referenced by v_Diffuse(), and v_InitObject().

◆ m_planeCounter

size_t Nektar::SolverUtils::Diffusion3DHomogeneous1D::m_planeCounter
private

Definition at line 76 of file Diffusion3DHomogeneous1D.h.

Referenced by v_InitObject().

◆ m_planeDiff

SolverUtils::DiffusionSharedPtr Nektar::SolverUtils::Diffusion3DHomogeneous1D::m_planeDiff
private

Definition at line 71 of file Diffusion3DHomogeneous1D.h.

Referenced by Diffusion3DHomogeneous1D(), v_Diffuse(), and v_InitObject().

◆ m_planePos

Array<OneD, unsigned int> Nektar::SolverUtils::Diffusion3DHomogeneous1D::m_planePos
private

Definition at line 77 of file Diffusion3DHomogeneous1D.h.

Referenced by v_Diffuse(), and v_InitObject().

◆ m_trans

LibUtilities::TranspositionSharedPtr Nektar::SolverUtils::Diffusion3DHomogeneous1D::m_trans
private

Definition at line 70 of file Diffusion3DHomogeneous1D.h.

Referenced by v_Diffuse(), and v_InitObject().

◆ type

std::string Nektar::SolverUtils::Diffusion3DHomogeneous1D::type
static
Initial value:
= {
"LDG3DHomogeneous1D", Diffusion3DHomogeneous1D::create),
"LFRDG3DHomogeneous1D", Diffusion3DHomogeneous1D::create),
"LFRSD3DHomogeneous1D", Diffusion3DHomogeneous1D::create),
"LFRHU3DHomogeneous1D", Diffusion3DHomogeneous1D::create),
"LFRcmin3DHomogeneous1D", Diffusion3DHomogeneous1D::create),
"LFRcinf3DHomogeneous1D", Diffusion3DHomogeneous1D::create),
"LDGNS3DHomogeneous1D", Diffusion3DHomogeneous1D::create),
"LFRDGNS3DHomogeneous1D", Diffusion3DHomogeneous1D::create),
"LFRSDNS3DHomogeneous1D", Diffusion3DHomogeneous1D::create),
"LFRHUNS3DHomogeneous1D", Diffusion3DHomogeneous1D::create),
"LFRcminNS3DHomogeneous1D", Diffusion3DHomogeneous1D::create),
"LFRcinfNS3DHomogeneous1D", Diffusion3DHomogeneous1D::create)}
tKey RegisterCreatorFunction(tKey idKey, CreatorFunction classCreator, std::string pDesc="")
Register a class with the factory.
static DiffusionSharedPtr create(std::string diffType)

Definition at line 49 of file Diffusion3DHomogeneous1D.h.