Class used for generating reconstruction arrays for the high-order finite volume method.
More...
#include <wmunstructuredreconstruction.h>
Class used for generating reconstruction arrays for the high-order finite volume method.
Class shared type with WmUnstructuredGeometry's type
|
| void | generateStencils (const int startIndex, const int endIndex) |
| | Generates stencils for reconstruction.
|
| |
| void | generateB (const int startIndex, const int endIndex) |
| | Generates the 'B' reconstruction array.
|
| |
| void | generateWeights (const int startIndex, const int endIndex) |
| | Generates the 'B' reconstruction array.
|
| |
| void | generateL (const int startIndex, const int endIndex) |
| | Generates the 'L' reconstruction array.
|
| |
| void | invertL (const int startIndex, const int endIndex) |
| | Generates the 'L inverse' reconstruction array.
|
| |
| void | setBComponent (const int elementIndex, const int *index, const real &val) |
| | Set a component of the 'B' reconstruction array.
|
| |
| real | getBComponent (const int elementIndex, const int *index) const |
| | Get a component of the 'B' reconstruction array.
|
| |
| void | setLComponent (const int elementIndex, const int *index, const real &val) |
| | Set a component of the 'L' 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.
|
| |
| real | getLInverseComponent (const int elementIndex, const int *index) const |
| | Get a component of the 'L inverse' reconstruction array.
|
| |
| void | constructStencil (const int elementIndex, const int stencilLength, int *stencil, real *stencildxs) |
| | Construct a stencil of stencilLength elements around a given element.
|
| |
| int | convertIndices (const int *indices) const |
| | Converts from ijk indices to 'hyper-tetrahedral array' indexes.
|
| |
◆ WmUnstructuredReconstruction()
| WmUnstructuredReconstruction::WmUnstructuredReconstruction |
( |
const WmUnstructuredPatch & |
patch, |
|
|
int |
numReconstructionElements, |
|
|
int |
numInternalElements, |
|
|
int |
spatialOrder, |
|
|
int |
stencilSize = -1, |
|
|
int |
weightOrder = 1 |
|
) |
| |
Constructor for WmUnstructuredReconstruction.
- Parameters
-
| patch | Patch associated with reconstruction |
| numReconstructionElements | Number of elements in the mesh to generate reconstructions for |
| numInternalElements | Number of internal elements for patch |
| spatialOrder | Spatial accuracy order of reconstruction |
| stencilSize | Specificy stencil size to use for reconstruction |
| weightOrder | Weight power to use for generating reconstruction weights |
◆ ~WmUnstructuredReconstruction()
| WmUnstructuredReconstruction::~WmUnstructuredReconstruction |
( |
| ) |
|
◆ constructStencil()
| void WmUnstructuredReconstruction::constructStencil |
( |
const int |
elementIndex, |
|
|
const int |
stencilLength, |
|
|
int * |
stencil, |
|
|
real * |
stencildxs |
|
) |
| |
|
protected |
Construct a stencil of stencilLength elements around a given element.
Note: Contains recursive call
- Parameters
-
| elementIndex | Element of interest |
| stencilLength | Number of elements to be put in stencil |
| stencil | Array [stencilLength] to store stencil element indexes |
| stencildxs | Array [3*stencilLength] to store stencil element dx vectors |
◆ convertIndices()
| int WmUnstructuredReconstruction::convertIndices |
( |
const int * |
indices | ) |
const |
|
protected |
Converts from ijk indices to 'hyper-tetrahedral array' indexes.
- Parameters
-
| indices | Indexes (ijk) to convert |
◆ generateB()
| void WmUnstructuredReconstruction::generateB |
( |
const int |
startIndex, |
|
|
const int |
endIndex |
|
) |
| |
|
protected |
Generates the 'B' reconstruction array.
Note: This function is designed to be threaded
- Parameters
-
| startIndex | Element index to start with |
| endIndex | Element index to end with |
◆ generateL()
| void WmUnstructuredReconstruction::generateL |
( |
const int |
startIndex, |
|
|
const int |
endIndex |
|
) |
| |
|
protected |
Generates the 'L' reconstruction array.
Note: Requires 'B' reconstruction arrays Note: This function is designed to be threaded
- Parameters
-
| startIndex | Element index to start with |
| endIndex | Element index to end with |
◆ generateStencils()
| void WmUnstructuredReconstruction::generateStencils |
( |
const int |
startIndex, |
|
|
const int |
endIndex |
|
) |
| |
|
protected |
Generates stencils for reconstruction.
Note: This function is designed to be threaded
- Parameters
-
| startIndex | Element index to start with |
| endIndex | Element index to end with |
◆ generateWeights()
| void WmUnstructuredReconstruction::generateWeights |
( |
const int |
startIndex, |
|
|
const int |
endIndex |
|
) |
| |
|
protected |
Generates the 'B' reconstruction array.
Note: This function is designed to be threaded
- Parameters
-
| startIndex | Element index to start with |
| endIndex | Element index to end with |
◆ getB()
| const real * WmUnstructuredReconstruction::getB |
( |
| ) |
const |
|
inline |
Get the host 'B' reconstruction array buffer.
- Returns
- Pointer to B array
◆ getBComponent()
| real WmUnstructuredReconstruction::getBComponent |
( |
const int |
elementIndex, |
|
|
const int * |
index |
|
) |
| const |
|
protected |
Get a component of the 'B' reconstruction array.
Note: Due to the unique way in which these 'hyper-tetrahedral arrays' are stored, we require functions like this
- Parameters
-
| elementIndex | Element of interest |
| index | Index of reconstruction array to modify |
- Returns
- Value from reconstruction array
◆ getBSize()
| int WmUnstructuredReconstruction::getBSize |
( |
| ) |
const |
|
inline |
Get the size of the 'B' reconstruction array.
Note: returned size is in indexes, not in bytes
- Returns
- Size of 'B' array
◆ getLComponent()
| real WmUnstructuredReconstruction::getLComponent |
( |
const int |
elementIndex, |
|
|
const int * |
index |
|
) |
| const |
|
protected |
Get a component of the 'L' reconstruction array.
Note: Due to the unique way in which these 'hyper-tetrahedral arrays' are stored, we require functions like this
- Parameters
-
| elementIndex | Element of interest |
| index | Index of reconstruction array to modify |
- Returns
- Value from reconstruction array
◆ getLInverse()
| const real * WmUnstructuredReconstruction::getLInverse |
( |
| ) |
const |
|
inline |
Get the host Inverse L array.
- Returns
- Pointer to lInverse array
◆ getLInverseComponent()
| real WmUnstructuredReconstruction::getLInverseComponent |
( |
const int |
elementIndex, |
|
|
const int * |
index |
|
) |
| const |
|
protected |
Get a component of the 'L inverse' reconstruction array.
Note: Due to the unique way in which these 'hyper-tetrahedral arrays' are stored, we require functions like this
- Parameters
-
| elementIndex | Element of interest |
| index | Index of reconstruction array to modify |
- Returns
- Value from reconstruction array
◆ getLInverseSize()
| int WmUnstructuredReconstruction::getLInverseSize |
( |
| ) |
const |
|
inline |
Get the size of the 'L inverse' reconstruction array.
Note: returned size is in indexes, not in bytes
- Returns
- Size of 'L inverse' array (same as 'L' array)
◆ getLSize()
| int WmUnstructuredReconstruction::getLSize |
( |
| ) |
const |
|
inline |
Get the size of the 'L' reconstruction array.
Note: returned size is in indexes, not in bytes
- Returns
- Size of 'L' array
◆ getNumDifferentials()
| int WmUnstructuredReconstruction::getNumDifferentials |
( |
| ) |
const |
|
inline |
Get the number of differential coefficients generated by reconstruction.
E.G.: q(x) = q_0 + q_x * x + q_xx * x^2 has 2 differential coefficients (q_0 does not count for some reason)
- Returns
- Number of reconstruction differential coefficients
◆ getSpatialOrder()
| int WmUnstructuredReconstruction::getSpatialOrder |
( |
| ) |
const |
|
inline |
Get the spatial accuracy order of the reconstruction.
- Returns
- Spatial accuracy order
◆ getStencils()
| const int * WmUnstructuredReconstruction::getStencils |
( |
| ) |
const |
|
inline |
Get the host stencils array.
- Returns
- Pointer to stencils array
◆ getStencilsDxs()
| const real * WmUnstructuredReconstruction::getStencilsDxs |
( |
| ) |
const |
|
inline |
Get the host stencils dxs array.
- Returns
- Pointer to stencils array
◆ getStencilSize()
| int WmUnstructuredReconstruction::getStencilSize |
( |
| ) |
const |
|
inline |
Get the size of the stencil array.
Note: This is the number of elements in a stencil NOT INCLUDING CENTRAL ELEMENT - not sure why I set it up this way Note: returned size is in indexes, not in bytes
- Returns
- Number of elements in stencil
◆ getWeights()
| const real * WmUnstructuredReconstruction::getWeights |
( |
| ) |
const |
|
inline |
Get the host weights array.
- Returns
- Pointer to weights array
◆ getWeightsSize()
| int WmUnstructuredReconstruction::getWeightsSize |
( |
| ) |
const |
|
inline |
Get the size of the weights array.
Note: returned size is in indexes, not in bytes
- Returns
- Number of weights per element reconstruction
◆ invertL()
| void WmUnstructuredReconstruction::invertL |
( |
const int |
startIndex, |
|
|
const int |
endIndex |
|
) |
| |
|
protected |
Generates the 'L inverse' reconstruction array.
Note: Requires 'L' reconstruction arrays Note: This function is designed to be threaded
- Parameters
-
| startIndex | Element index to start with |
| endIndex | Element index to end with |
◆ setBComponent()
| void WmUnstructuredReconstruction::setBComponent |
( |
const int |
elementIndex, |
|
|
const int * |
index, |
|
|
const real & |
val |
|
) |
| |
|
protected |
Set a component of the 'B' reconstruction array.
Note: Due to the unique way in which these 'hyper-tetrahedral arrays' are stored, we require functions like this
- Parameters
-
| elementIndex | Element of interest |
| index | Index of reconstruction array to modify |
| val | Value to set in reconstruction array |
◆ setLComponent()
| void WmUnstructuredReconstruction::setLComponent |
( |
const int |
elementIndex, |
|
|
const int * |
index, |
|
|
const real & |
val |
|
) |
| |
|
protected |
Set a component of the 'L' reconstruction array.
Note: Due to the unique way in which these 'hyper-tetrahedral arrays' are stored, we require functions like this
- Parameters
-
| elementIndex | Element of interest |
| index | Index of reconstruction array to modify |
| val | Value to set in reconstruction array |
◆ setLInverseComponent()
| void WmUnstructuredReconstruction::setLInverseComponent |
( |
const int |
elementIndex, |
|
|
const int * |
index, |
|
|
const real & |
val |
|
) |
| |
|
protected |
Set a component of the 'L inverse' reconstruction array.
Note: Due to the unique way in which these 'hyper-tetrahedral arrays' are stored, we require functions like this
- Parameters
-
| elementIndex | Element of interest |
| index | Index of reconstruction array to modify |
| val | Value to set in reconstruction array |
◆ _b
| real* WmUnstructuredReconstruction::_b |
|
protected |
Host storage for 'B' reconstruction arrays.
◆ _bSize
| int WmUnstructuredReconstruction::_bSize |
|
protected |
Size of 'B' reconstruction array per element.
◆ _l
| real* WmUnstructuredReconstruction::_l |
|
protected |
Host storage for 'L' reconstruction arrays.
◆ _lInverse
| real* WmUnstructuredReconstruction::_lInverse |
|
protected |
Host storage for 'L inverse' reconstruction arrays.
◆ _lSize
| int WmUnstructuredReconstruction::_lSize |
|
protected |
Size of 'L' reconstruction array per element.
◆ _numDifferentials
| int WmUnstructuredReconstruction::_numDifferentials |
|
protected |
Number of differential coefficeints.
Note: Does NOT include volume average solution (i.e. only derivative terms)
◆ _numDimsPerNode
| int WmUnstructuredReconstruction::_numDimsPerNode |
|
protected |
Number of dimensions used to represent nodes - usually 3.
◆ _numDimsPerPrimitive
| int WmUnstructuredReconstruction::_numDimsPerPrimitive |
|
protected |
Number of dimensions for a given primitive - important to minimize array sizes.
◆ _numInternalElements
| int WmUnstructuredReconstruction::_numInternalElements |
|
protected |
Number of internal elements.
TODO: I don't think this is ever used
◆ _numReconstructionElements
| int WmUnstructuredReconstruction::_numReconstructionElements |
|
protected |
Number of elements to generate reconstruction arrays for.
◆ _patch
Patch associated with reconstruction.
◆ _spatialOrder
| int WmUnstructuredReconstruction::_spatialOrder |
|
protected |
Spatial accuracy order of reconstruction.
Note: _spatialOrder = k + 1 where 'k' is polynomial order
◆ _stencildxs
| real* WmUnstructuredReconstruction::_stencildxs |
|
protected |
Host storage for stencil dxs arrays.
◆ _stencils
| int* WmUnstructuredReconstruction::_stencils |
|
protected |
Host storage for stencils arrays.
◆ _stencilSize
| int WmUnstructuredReconstruction::_stencilSize |
|
protected |
Number of elements in stencil.
Note: Does NOT include central element
◆ _usc
| WmUnstructuredStencilConstructor* WmUnstructuredReconstruction::_usc |
|
protected |
Used to generate element stencils.
◆ _w
| real* WmUnstructuredReconstruction::_w |
|
protected |
Host storage for weights arrays.
◆ _weightOrder
| int WmUnstructuredReconstruction::_weightOrder |
|
protected |
Weight order.
Weights are calculated as 1/dx^n where n is the weight order
◆ _wSize
| int WmUnstructuredReconstruction::_wSize |
|
protected |
Number of weights per element.
The documentation for this class was generated from the following file: