MAIA bb96820c
Multiphysics at AIA
|
#include <fvstructuredinterpolation.h>
Public Member Functions | |
StructuredInterpolation (const MPI_Comm structuredCommunicator) | |
Constructor for property given donor. More... | |
StructuredInterpolation (MInt *noDonorCells, MFloat **donorCoordinates, MFloat **donorVariables, const MPI_Comm structuredCommunicator) | |
Constructor for manually given donor. More... | |
StructuredInterpolation (MInt *noDonorCellsDir, MFloat **donorCoordinates, const MPI_Comm structuredCommunicator) | |
~StructuredInterpolation () | |
void | interpolateAtPoint (MFloat *intPoint) |
interpolates variables at point For a given 3D coordinate the method interpolates from the donor grid More... | |
void | prepareInterpolationField (MInt *noReceiverCells, MFloat **receiverCoordinates) |
Prepares interpolation for field For a given 3D coordinate field the method computes the transformed Points and stores them to perform interpolations later. More... | |
void | interpolateField (MString, MFloat *) |
interpolates a field interpolates a given varName and varF More... | |
void | loadDonorGrid () |
Loads a grid file. More... | |
void | loadDonorVariable (MString varName) |
Loads a Q file. More... | |
void | prepareInterpolation (MInt, MFloat **, MInt *) |
Prepares interpolation neighbours and coefficients For a given number of points the methods computes the interpolation partners and coefficients for later use use together with interpolateVariables() More... | |
void | interpolateVariables (MFloat **) |
MFloat | getInterpolatedVariable (MInt, MInt) |
Trilinear interpolation for single point. More... | |
void | prepareZonalInterpolation (MInt, MFloat **, MInt *, MBool) |
computes the interpolation coefficients Interpolates all variables with precomputed interpolation coefficients More... | |
MFloat | interpolateVariableZonal (MFloat *, MInt) |
MFloat | getInterpolatedVariableZonal (MFloat *, MInt) |
Protected Member Functions | |
void | buildDonorTree () |
Builds a kd-tree Creates a kd-tree from the predefined grid-data in m_donorCoordinates. More... | |
void | crossProduct (MFloat result[3], MFloat vec1[3], MFloat vec2[3]) |
MFloat | scalarProduct (MFloat vec1[3], MFloat vec2[3]) |
MInt | getCellIdfromCell (MInt origin, MInt incI, MInt incJ, MInt incK, MInt solverId) |
MBool | approx (const MFloat &, const MFloat &, const MFloat) |
MInt | getBlockId (MInt cellId) |
void | trilinearInterpolation (MFloat *, MInt, MInt, MFloat *, MInt) |
void | trilinearInterpolation (MFloat *, MInt, MFloat *, MInt) |
void | computeInterpolationCoefficients (MFloat *, MInt) |
Computes trilinear interpolation coefficients. More... | |
void | transformPoint (MInt hexOrigin, MFloat intPoint[3], MFloat transformedPoint[3]) |
Transforms point from physical to computational space. More... | |
MInt | findSurroundingHexahedron (MFloat intPoint[3], MInt centerCellId, MInt stencil) |
Finds surrounding hexahedron for point For a given cellId it finds out which of the 8 eight surrounding hexahedrons contains intPoint. If point is inside any of the 6 possible tetraeders inside the hexahedron it is inside the hexahedron, the origin cellId is returned then. More... | |
void | nearestNeighbourInterpolation (MInt, MInt, MFloat *) |
Nearest neighbour interpolation. More... | |
void | nearestNeighbourInterpolation (MInt, MFloat *) |
MInt | cellIndex (MInt i, MInt j, MInt k, MInt solverId) |
MInt | ic (MInt, MInt, MInt) |
void | computeCellCentreCoordinates (MInt *, MFloatScratchSpace &, MInt, MInt) |
Computes cell centered coordinates. More... | |
Static Protected Attributes | |
static const MInt | xsd = 0 |
static const MInt | ysd = 1 |
static const MInt | zsd = 2 |
static constexpr MInt | m_pyramidPoints [72] |
Definition at line 16 of file fvstructuredinterpolation.h.
StructuredInterpolation< nDim >::StructuredInterpolation | ( | const MPI_Comm | structuredCommunicator | ) |
The constructor for when the grid and the Q file are specified in the property file.
Definition at line 28 of file fvstructuredinterpolation.cpp.
StructuredInterpolation< nDim >::StructuredInterpolation | ( | MInt * | noDonorCellsDir, |
MFloat ** | donorCoordinates, | ||
MFloat ** | donorVariables, | ||
const MPI_Comm | structuredCommunicator | ||
) |
The constructor when the grid and the variable field are handed over manually, donorCoordinates are the coordinates at which the donorVariables are located, both have the amount of cells given by noDonorCells
Definition at line 60 of file fvstructuredinterpolation.cpp.
StructuredInterpolation< nDim >::StructuredInterpolation | ( | MInt * | noDonorCellsDir, |
MFloat ** | donorCoordinates, | ||
const MPI_Comm | structuredCommunicator | ||
) |
Definition at line 86 of file fvstructuredinterpolation.cpp.
StructuredInterpolation< nDim >::~StructuredInterpolation |
Definition at line 111 of file fvstructuredinterpolation.cpp.
|
inlineprotected |
Definition at line 1311 of file fvstructuredinterpolation.cpp.
|
protected |
Definition at line 140 of file fvstructuredinterpolation.cpp.
|
inlineprotected |
Definition at line 1283 of file fvstructuredinterpolation.cpp.
|
protected |
Computes the cell-centered donorCoordinates from node-centered grid
Definition at line 1212 of file fvstructuredinterpolation.cpp.
|
inlineprotected |
Definition at line 787 of file fvstructuredinterpolation.cpp.
|
inlineprotected |
Definition at line 1264 of file fvstructuredinterpolation.cpp.
|
inlineprotected |
Definition at line 522 of file fvstructuredinterpolation.cpp.
|
inlineprotected |
Definition at line 1296 of file fvstructuredinterpolation.cpp.
|
inlineprotected |
Definition at line 1276 of file fvstructuredinterpolation.cpp.
MFloat StructuredInterpolation< nDim >::getInterpolatedVariable | ( | MInt | receiverId, |
MInt | var | ||
) |
Performs trilinear interpolation from previously computed interpolation coefficients (see computeInterpolationCoefficients)
Definition at line 807 of file fvstructuredinterpolation.cpp.
MFloat StructuredInterpolation< nDim >::getInterpolatedVariableZonal | ( | MFloat * | donorVars, |
MInt | receiverId | ||
) |
Definition at line 831 of file fvstructuredinterpolation.cpp.
|
inlineprotected |
Definition at line 1291 of file fvstructuredinterpolation.cpp.
void StructuredInterpolation< nDim >::interpolateAtPoint | ( | MFloat * | intPoint | ) |
Definition at line 167 of file fvstructuredinterpolation.cpp.
void StructuredInterpolation< nDim >::interpolateField | ( | MString | varName, |
MFloat * | receiverVar | ||
) |
Definition at line 204 of file fvstructuredinterpolation.cpp.
void StructuredInterpolation< nDim >::interpolateVariables | ( | MFloat ** | interpolatedVariables | ) |
Definition at line 497 of file fvstructuredinterpolation.cpp.
MFloat StructuredInterpolation< nDim >::interpolateVariableZonal | ( | MFloat * | donorVars, |
MInt | cellIdBC | ||
) |
Definition at line 483 of file fvstructuredinterpolation.cpp.
void StructuredInterpolation< nDim >::loadDonorGrid |
Loads the grid file given in the property file. No domain decompositioning, all domains read whole grid file as it is necessary for neighbour search.
Definition at line 866 of file fvstructuredinterpolation.cpp.
void StructuredInterpolation< nDim >::loadDonorVariable | ( | MString | varName | ) |
loads a given variable (with varName) from donorFile
Definition at line 1130 of file fvstructuredinterpolation.cpp.
|
inlineprotected |
Definition at line 1257 of file fvstructuredinterpolation.cpp.
|
inlineprotected |
Fallback routine for when no trilinear interpolation is possible. Takes values from nearest neighbour.
Definition at line 1251 of file fvstructuredinterpolation.cpp.
void StructuredInterpolation< nDim >::prepareInterpolation | ( | MInt | noReceiverCells, |
MFloat ** | receiverCellCoordinates, | ||
MInt * | interpolationPartner | ||
) |
Definition at line 317 of file fvstructuredinterpolation.cpp.
void StructuredInterpolation< nDim >::prepareInterpolationField | ( | MInt * | noReceiverCells, |
MFloat ** | receiverCoordinates | ||
) |
Definition at line 244 of file fvstructuredinterpolation.cpp.
void StructuredInterpolation< nDim >::prepareZonalInterpolation | ( | MInt | noReceiverCells, |
MFloat ** | receiverCellCoordinates, | ||
MInt * | interpolationPartner, | ||
MBool | hasInterpolationPartnerDomain | ||
) |
Definition at line 392 of file fvstructuredinterpolation.cpp.
|
inlineprotected |
|
inlineprotected |
Transforms a given point from physical space to computational space with help of the surrounding eight points (which define a hexahedron). Iterative solution with Newton to solve system of equations. Benek (1987) - Chimera - A grid-embedding technique
Definition at line 626 of file fvstructuredinterpolation.cpp.
|
inlineprotected |
|
inlineprotected |
|
protected |
Definition at line 90 of file fvstructuredinterpolation.h.
|
protected |
Definition at line 72 of file fvstructuredinterpolation.h.
|
protected |
Definition at line 68 of file fvstructuredinterpolation.h.
|
protected |
Definition at line 63 of file fvstructuredinterpolation.h.
|
protected |
Definition at line 80 of file fvstructuredinterpolation.h.
|
protected |
Definition at line 74 of file fvstructuredinterpolation.h.
|
protected |
Definition at line 78 of file fvstructuredinterpolation.h.
|
protected |
Definition at line 92 of file fvstructuredinterpolation.h.
|
protected |
Definition at line 93 of file fvstructuredinterpolation.h.
|
protected |
Definition at line 65 of file fvstructuredinterpolation.h.
|
protected |
Definition at line 64 of file fvstructuredinterpolation.h.
|
protected |
Definition at line 76 of file fvstructuredinterpolation.h.
|
protected |
Definition at line 81 of file fvstructuredinterpolation.h.
|
protected |
Definition at line 82 of file fvstructuredinterpolation.h.
|
protected |
Definition at line 88 of file fvstructuredinterpolation.h.
|
protected |
Definition at line 83 of file fvstructuredinterpolation.h.
|
protected |
Definition at line 84 of file fvstructuredinterpolation.h.
|
protected |
Definition at line 79 of file fvstructuredinterpolation.h.
|
protected |
Definition at line 75 of file fvstructuredinterpolation.h.
|
protected |
Definition at line 69 of file fvstructuredinterpolation.h.
|
protected |
Definition at line 61 of file fvstructuredinterpolation.h.
|
protected |
Definition at line 59 of file fvstructuredinterpolation.h.
|
protected |
Definition at line 66 of file fvstructuredinterpolation.h.
|
protected |
Definition at line 62 of file fvstructuredinterpolation.h.
|
protected |
Definition at line 60 of file fvstructuredinterpolation.h.
|
protected |
Definition at line 73 of file fvstructuredinterpolation.h.
|
protected |
Definition at line 89 of file fvstructuredinterpolation.h.
|
staticconstexprprotected |
Definition at line 98 of file fvstructuredinterpolation.h.
|
protected |
Definition at line 87 of file fvstructuredinterpolation.h.
|
protected |
Definition at line 71 of file fvstructuredinterpolation.h.
|
protected |
Definition at line 67 of file fvstructuredinterpolation.h.
|
protected |
Definition at line 86 of file fvstructuredinterpolation.h.
|
staticprotected |
Definition at line 55 of file fvstructuredinterpolation.h.
|
staticprotected |
Definition at line 56 of file fvstructuredinterpolation.h.
|
staticprotected |
Definition at line 57 of file fvstructuredinterpolation.h.