2#ifndef WMUNSTRUCTUREDRECONSTRUCTION_H_
3#define WMUNSTRUCTUREDRECONSTRUCTION_H_
9class WmUnstructuredStencilConstructor;
34 int numReconstructionElements,
35 int numInternalElements,
213 void generateB(
const int startIndex,
const int endIndex);
236 void generateL(
const int startIndex,
const int endIndex);
248 void invertL(
const int startIndex,
const int endIndex);
343 const int stencilLength,
441 WmUnstructuredStencilConstructor*
_usc;
Definition: wmunstructuredpatch.h:22
Class used for generating reconstruction arrays for the high-order finite volume method.
Definition: wmunstructuredreconstruction.h:19
int * _stencils
Host storage for stencils arrays.
Definition: wmunstructuredreconstruction.h:471
int getNumDifferentials() const
Get the number of differential coefficients generated by reconstruction.
Definition: wmunstructuredreconstruction.h:132
int _weightOrder
Weight order.
Definition: wmunstructuredreconstruction.h:367
WmUnstructuredReconstruction(const WmUnstructuredPatch &patch, int numReconstructionElements, int numInternalElements, int spatialOrder, int stencilSize=-1, int weightOrder=1)
Constructor for WmUnstructuredReconstruction.
const real * getB() const
Get the host 'B' reconstruction array buffer.
Definition: wmunstructuredreconstruction.h:143
int _wSize
Number of weights per element.
Definition: wmunstructuredreconstruction.h:399
WmUnstructuredStencilConstructor * _usc
Used to generate element stencils.
Definition: wmunstructuredreconstruction.h:441
void setLComponent(const int elementIndex, const int *index, const real &val)
Set a component of the 'L' reconstruction array.
int _lSize
Size of 'L' reconstruction array per element.
Definition: wmunstructuredreconstruction.h:411
int _bSize
Size of 'B' reconstruction array per element.
Definition: wmunstructuredreconstruction.h:405
int getBSize() const
Get the size of the 'B' reconstruction array.
Definition: wmunstructuredreconstruction.h:91
const real * getWeights() const
Get the host weights array.
Definition: wmunstructuredreconstruction.h:176
int _numInternalElements
Number of internal elements.
Definition: wmunstructuredreconstruction.h:393
real * _l
Host storage for 'L' reconstruction arrays.
Definition: wmunstructuredreconstruction.h:453
const WmUnstructuredPatch & _patch
Patch associated with reconstruction.
Definition: wmunstructuredreconstruction.h:359
real getBComponent(const int elementIndex, const int *index) const
Get a component of the 'B' reconstruction array.
int getLSize() const
Get the size of the 'L' reconstruction array.
Definition: wmunstructuredreconstruction.h:65
void generateStencils(const int startIndex, const int endIndex)
Generates stencils for reconstruction.
~WmUnstructuredReconstruction()
Destroy WmUnstructuredReconstruction.
int _numDimsPerPrimitive
Number of dimensions for a given primitive - important to minimize array sizes.
Definition: wmunstructuredreconstruction.h:373
int _numReconstructionElements
Number of elements to generate reconstruction arrays for.
Definition: wmunstructuredreconstruction.h:385
real * _lInverse
Host storage for 'L inverse' reconstruction arrays.
Definition: wmunstructuredreconstruction.h:447
const real * getStencilsDxs() const
Get the host stencils dxs array.
Definition: wmunstructuredreconstruction.h:165
void generateL(const int startIndex, const int endIndex)
Generates the 'L' reconstruction array.
const real * getLInverse() const
Get the host Inverse L array.
Definition: wmunstructuredreconstruction.h:187
real * _w
Host storage for weights arrays.
Definition: wmunstructuredreconstruction.h:465
int getWeightsSize() const
Get the size of the weights array.
Definition: wmunstructuredreconstruction.h:118
const int * getStencils() const
Get the host stencils array.
Definition: wmunstructuredreconstruction.h:154
real getLInverseComponent(const int elementIndex, const int *index) const
Get a component of the 'L inverse' reconstruction array.
real * _b
Host storage for 'B' reconstruction arrays.
Definition: wmunstructuredreconstruction.h:459
void constructStencil(const int elementIndex, const int stencilLength, int *stencil, real *stencildxs)
Construct a stencil of stencilLength elements around a given element.
int getSpatialOrder() const
Get the spatial accuracy order of the reconstruction.
Definition: wmunstructuredreconstruction.h:52
void generateWeights(const int startIndex, const int endIndex)
Generates the 'B' reconstruction array.
int _spatialOrder
Spatial accuracy order of reconstruction.
Definition: wmunstructuredreconstruction.h:419
int _stencilSize
Number of elements in stencil.
Definition: wmunstructuredreconstruction.h:427
int _numDifferentials
Number of differential coefficeints.
Definition: wmunstructuredreconstruction.h:435
void invertL(const int startIndex, const int endIndex)
Generates the 'L inverse' reconstruction array.
int _numDimsPerNode
Number of dimensions used to represent nodes - usually 3.
Definition: wmunstructuredreconstruction.h:379
int getLInverseSize() const
Get the size of the 'L inverse' reconstruction array.
Definition: wmunstructuredreconstruction.h:78
void setBComponent(const int elementIndex, const int *index, const real &val)
Set a component of the 'B' reconstruction array.
real * _stencildxs
Host storage for stencil dxs arrays.
Definition: wmunstructuredreconstruction.h:477
int getStencilSize() const
Get the size of the stencil array.
Definition: wmunstructuredreconstruction.h:105
void generateB(const int startIndex, const int endIndex)
Generates the 'B' reconstruction array.
real getLComponent(const int elementIndex, const int *index) const
Get a component of the 'L' reconstruction array.
void setLInverseComponent(const int elementIndex, const int *index, const real &val)
Set a component of the 'L inverse' reconstruction array.
int convertIndices(const int *indices) const
Converts from ijk indices to 'hyper-tetrahedral array' indexes.
#define real
Definition: wmoclunstructuredreconstruction.h:11