Definition at line 57 of file Cubature.H.
Public Member Functions | |
GaussCubature (vtkDataSet *_dataSet) | |
GaussCubature (vtkDataSet *_dataSet, const std::vector< int > &arrayIDs) | |
~GaussCubature () | |
GaussCubature (const GaussCubature &that)=delete | |
GaussCubature & | operator= (const GaussCubature &that)=delete |
void | constructGaussMesh () |
pntDataPairVec | getGaussPointsAndDataAtCell (int cellID) |
Returns coordinates of gauss points and associated data at cell. More... | |
void | interpolateToGaussPoints () |
Interpolate values to gauss points for arrays specified in arrayIDs at construction time. More... | |
void | interpolateToGaussPoints (const std::vector< std::string > &newArrayNames) |
Interpolate values to gauss points for arrays specified in arrayIDs at construction time and specify new names (in order). More... | |
std::vector< std::vector< double > > | integrateOverAllCells () |
Integrate arrays specified by arrayIDs over all cells. More... | |
std::vector< std::vector< double > > | integrateOverAllCells (const std::vector< std::string > &newArrayNames, bool computeRMSE) |
Same as integrateOverAllCells() but with integral value array names specified by newArrayNames and an optional flag to compute the root mean square error (RMSE) integral over an array with error values, an error metric normalized by cell volume. More... | |
void | setArrayIDs (const std::vector< int > &_arrayIDs) |
double | computeJacobian (vtkSmartPointer< vtkGenericCell > genCell, int cellType) const |
double | computeCellVolume (vtkSmartPointer< vtkGenericCell > genCell, int cellType) const |
vtkDataSet * | getDataSet () const |
vtkSmartPointer< vtkPolyData > | getGaussMesh () const |
vtkQuadratureSchemeDefinition ** | getDict () const |
std::vector< int > | getNumComponents () const |
std::vector< int > | getArrayIDs () const |
int | getTotalComponents () const |
void | writeGaussMesh (const char *name) const |
Static Public Member Functions | |
static GaussCubature * | Create (vtkDataSet *_dataSet) |
static GaussCubature * | Create (vtkDataSet *_dataSet, const std::vector< int > &arrayIDs) |
static std::unique_ptr< GaussCubature > | CreateUnique (vtkDataSet *_dataSet) |
static std::unique_ptr< GaussCubature > | CreateUnique (vtkDataSet *_dataSet, const std::vector< int > &arrayIDs) |
static std::shared_ptr< GaussCubature > | CreateShared (vtkDataSet *_dataSet) |
static std::shared_ptr< GaussCubature > | CreateShared (vtkDataSet *_dataSet, const std::vector< int > &arrayIDs) |
Private Member Functions | |
int | getOffset (int cellID) const |
int | interpolateToGaussPointsAtCell (int cellID, vtkSmartPointer< vtkGenericCell > genCell, const std::vector< vtkSmartPointer< vtkDataArray >> &das, std::vector< vtkSmartPointer< vtkDoubleArray >> &daGausses) const |
void | integrateOverCell (int cellID, vtkSmartPointer< vtkGenericCell > genCell, vtkSmartPointer< vtkPointData > pd, std::vector< vtkSmartPointer< vtkDoubleArray >> &integralData, std::vector< std::vector< double >> &totalIntegralData) const |
void | integrateOverCell (int cellID, vtkSmartPointer< vtkGenericCell > genCell, vtkSmartPointer< vtkPointData > pd, std::vector< vtkSmartPointer< vtkDoubleArray >> &integralData, std::vector< std::vector< double >> &totalIntegralData, const std::vector< std::string > &newArrayNames, bool normalizeByVol) const |
Private Attributes | |
vtkSmartPointer< vtkDataSet > | dataSet |
int | numVolCells |
vtkSmartPointer< vtkPolyData > | gaussMesh |
vtkQuadratureSchemeDefinition ** | dict |
std::vector< int > | arrayIDs |
std::vector< int > | numComponents |
int | totalComponents |
|
explicit |
Definition at line 107 of file Cubature.C.
References constructGaussMesh(), and dataSet.
Referenced by Create().
GaussCubature::GaussCubature | ( | vtkDataSet * | _dataSet, |
const std::vector< int > & | arrayIDs | ||
) |
Definition at line 114 of file Cubature.C.
References constructGaussMesh(), dataSet, and interpolateToGaussPoints().
|
inline |
Definition at line 62 of file Cubature.H.
|
delete |
double GaussCubature::computeCellVolume | ( | vtkSmartPointer< vtkGenericCell > | genCell, |
int | cellType | ||
) | const |
double GaussCubature::computeJacobian | ( | vtkSmartPointer< vtkGenericCell > | genCell, |
int | cellType | ||
) | const |
void GaussCubature::constructGaussMesh | ( | ) |
Definition at line 166 of file Cubature.C.
References arrayIDs, cellType, dataSet, dict, gaussMesh, HEX8, HEX8W, NEM::MSH::New(), numVolCells, TET4, TET4W, TRI3, and TRI3W.
Referenced by GaussCubature().
|
static |
Definition at line 124 of file Cubature.C.
References GaussCubature().
Referenced by CreateShared(), and CreateUnique().
|
static |
|
static |
|
static |
|
static |
Definition at line 135 of file Cubature.C.
References Create().
Referenced by meshBase::integrateOverMesh(), and PatchRecovery::PatchRecovery().
|
static |
|
inline |
Definition at line 118 of file Cubature.H.
|
inline |
Definition at line 113 of file Cubature.H.
|
inline |
Definition at line 116 of file Cubature.H.
|
inline |
Definition at line 115 of file Cubature.H.
pntDataPairVec GaussCubature::getGaussPointsAndDataAtCell | ( | int | cellID | ) |
cellId | cell id |
Definition at line 374 of file Cubature.C.
References arrayIDs, data, dataSet, dict, gaussMesh, getOffset(), interpolateToGaussPoints(), interpolateToGaussPointsAtCell(), numComponents, and totalComponents.
|
inline |
Definition at line 117 of file Cubature.H.
|
private |
Definition at line 364 of file Cubature.C.
References dataSet.
Referenced by getGaussPointsAndDataAtCell(), integrateOverCell(), and interpolateToGaussPointsAtCell().
|
inline |
Definition at line 119 of file Cubature.H.
std::vector< std::vector< double > > GaussCubature::integrateOverAllCells | ( | ) |
Definition at line 697 of file Cubature.C.
References arrayIDs, dataSet, gaussMesh, id, integrateOverCell(), interpolateToGaussPoints(), NEM::MSH::New(), and numComponents.
Referenced by meshBase::integrateOverMesh().
std::vector< std::vector< double > > GaussCubature::integrateOverAllCells | ( | const std::vector< std::string > & | newArrayNames, |
bool | computeRMSE | ||
) |
newArrayNames | integral value array names |
computeRMSE | compute RMSE (see above) |
Definition at line 765 of file Cubature.C.
References dataSet, gaussMesh, id, integrateOverCell(), interpolateToGaussPoints(), and NEM::MSH::New().
|
private |
Definition at line 586 of file Cubature.C.
References arrayIDs, cellType, computeJacobian(), data, dataSet, dict, and getOffset().
Referenced by integrateOverAllCells(), and interpolateToGaussPoints().
|
private |
Definition at line 638 of file Cubature.C.
References arrayIDs, cellType, computeCellVolume(), computeJacobian(), data, dataSet, dict, and getOffset().
void GaussCubature::interpolateToGaussPoints | ( | ) |
Definition at line 467 of file Cubature.C.
References arrayIDs, dataSet, gaussMesh, id, interpolateToGaussPointsAtCell(), NEM::MSH::New(), numComponents, and totalComponents.
Referenced by GaussCubature(), getGaussPointsAndDataAtCell(), and integrateOverAllCells().
void GaussCubature::interpolateToGaussPoints | ( | const std::vector< std::string > & | newArrayNames | ) |
newArrayNames | name of transferred data from arrayIDs[i] will be named newArrayNames[i] |
Definition at line 529 of file Cubature.C.
References arrayIDs, dataSet, gaussMesh, id, integrateOverCell(), interpolateToGaussPointsAtCell(), and NEM::MSH::New().
|
private |
Definition at line 425 of file Cubature.C.
References cellType, dataSet, dict, getOffset(), and id.
Referenced by getGaussPointsAndDataAtCell(), and interpolateToGaussPoints().
|
delete |
|
inline |
void GaussCubature::writeGaussMesh | ( | const char * | name | ) | const |
|
private |
Definition at line 145 of file Cubature.H.
Referenced by constructGaussMesh(), getGaussPointsAndDataAtCell(), integrateOverAllCells(), integrateOverCell(), and interpolateToGaussPoints().
|
private |
Definition at line 137 of file Cubature.H.
Referenced by constructGaussMesh(), GaussCubature(), getGaussPointsAndDataAtCell(), getOffset(), integrateOverAllCells(), integrateOverCell(), interpolateToGaussPoints(), and interpolateToGaussPointsAtCell().
|
private |
Definition at line 143 of file Cubature.H.
Referenced by constructGaussMesh(), getGaussPointsAndDataAtCell(), integrateOverCell(), and interpolateToGaussPointsAtCell().
|
private |
Definition at line 141 of file Cubature.H.
Referenced by constructGaussMesh(), getGaussPointsAndDataAtCell(), integrateOverAllCells(), interpolateToGaussPoints(), and writeGaussMesh().
|
private |
Definition at line 146 of file Cubature.H.
Referenced by getGaussPointsAndDataAtCell(), integrateOverAllCells(), and interpolateToGaussPoints().
|
private |
Definition at line 139 of file Cubature.H.
Referenced by constructGaussMesh().
|
private |
Definition at line 147 of file Cubature.H.
Referenced by getGaussPointsAndDataAtCell(), and interpolateToGaussPoints().