Main class for defining the interpolator, it requires a child class for each particular interpolation method.
More...
#include <CInterpolator.hpp>
|
| | CInterpolator (CGeometry ****geometry_container, const CConfig *const *config, unsigned int iZone, unsigned int jZone) |
| | Constructor of the class.
|
| |
| | CInterpolator (void)=delete |
| | No default construction allowed to force zones and geometry to always be set.
|
| |
| virtual | ~CInterpolator (void)=default |
| | Destructor of the class, nothing is deleted, derived classes need to manage the MPI buffers.
|
| |
| virtual void | SetTransferCoeff (CGeometry ****geometry, const CConfig *const *config)=0 |
| | Set up transfer matrix defining relation between two meshes.
|
| |
| virtual void | PrintStatistics (void) const |
| | Print information about the interpolation.
|
| |
| virtual void | WriteInterpolationDetails (const string &filename, const CConfig *const *config) |
| | Write mixing plane interpolation details to file.
|
| |
|
| static bool | CheckInterfaceBoundary (int val_markDonor, int val_markTarget) |
| | Check whether an interface should be processed or not, i.e. if it is part of the zones.
|
| |
| static bool | CheckZonesInterface (const CConfig *donor, const CConfig *target) |
| | Check whether two zones have a common interface.
|
| |
|
| void | ReconstructBoundary (unsigned long val_zone, int val_marker) |
| | Reconstruct the boundary connectivity from parallel partitioning and broadcasts it to all threads.
|
| |
| void | Determine_ArraySize (int markDonor, int markTarget, unsigned long nVertexDonor, unsigned short nDim) |
| | Determine array sizes used to collect and send coordinate and global point information.
|
| |
| void | Collect_VertexInfo (int markDonor, int markTarget, unsigned long nVertexDonor, unsigned short nDim) |
| | Collect and communicate vertex info: coord, global point.
|
| |
| unsigned long | Collect_ElementInfo (int markDonor, unsigned short nDim, bool compress, vector< unsigned long > &allNumElem, vector< unsigned short > &numNodes, su2matrix< long > &idxNodes) const |
| | Collect all donor elements in an interface pair.
|
| |
Main class for defining the interpolator, it requires a child class for each particular interpolation method.
- Author
- H. Kline
◆ CInterpolator() [1/2]
| CInterpolator::CInterpolator |
( |
CGeometry **** |
geometry_container, |
|
|
const CConfig *const * |
config, |
|
|
unsigned int |
iZone, |
|
|
unsigned int |
jZone |
|
) |
| |
Constructor of the class.
- Parameters
-
| [in] | geometry_container | - Geometrical definition of the problem. |
| [in] | config | - Definition of the particular problem. |
| [in] | iZone | - index of the donor zone. |
| [in] | jZone | - index of the target zone. |
◆ CInterpolator() [2/2]
| CInterpolator::CInterpolator |
( |
void |
| ) |
|
|
delete |
No default construction allowed to force zones and geometry to always be set.
◆ ~CInterpolator()
| virtual CInterpolator::~CInterpolator |
( |
void |
| ) |
|
|
virtualdefault |
Destructor of the class, nothing is deleted, derived classes need to manage the MPI buffers.
◆ CheckInterfaceBoundary()
| bool CInterpolator::CheckInterfaceBoundary |
( |
int |
val_markDonor, |
|
|
int |
val_markTarget |
|
) |
| |
|
static |
Check whether an interface should be processed or not, i.e. if it is part of the zones.
- Parameters
-
| [in] | val_markDonor | - Marker tag from donor zone. |
| [in] | val_markTarget | - Marker tag from target zone. |
◆ CheckZonesInterface()
| bool CInterpolator::CheckZonesInterface |
( |
const CConfig * |
donor, |
|
|
const CConfig * |
target |
|
) |
| |
|
static |
Check whether two zones have a common interface.
- Parameters
-
| [in] | donor | - Configuration of the donor zone. |
| [in] | target | - Configuration of the target zone. |
◆ Collect_ElementInfo()
| unsigned long CInterpolator::Collect_ElementInfo |
( |
int |
markDonor, |
|
|
unsigned short |
nDim, |
|
|
bool |
compress, |
|
|
vector< unsigned long > & |
allNumElem, |
|
|
vector< unsigned short > & |
numNodes, |
|
|
su2matrix< long > & |
idxNodes |
|
) |
| const |
|
protected |
Collect all donor elements in an interface pair.
- Parameters
-
| [in] | markDonor | - Index of the boundary on the donor domain. |
| [in] | nDim | - number of physical dimensions. |
| [in] | compress | - Squeeze the information (Allgatherv instead of Allgather). |
| [out] | allNumElem | - Number of donor element per rank. |
| [out] | numNodes | - Number of nodes for each element. |
| [out] | idxNodes | - Index (global) of those nodes. |
- Returns
- Number of collected donor elements.
- Note
- The last two outputs are always sized for Allgather.
◆ Collect_VertexInfo()
| void CInterpolator::Collect_VertexInfo |
( |
int |
markDonor, |
|
|
int |
markTarget, |
|
|
unsigned long |
nVertexDonor, |
|
|
unsigned short |
nDim |
|
) |
| |
|
protected |
Collect and communicate vertex info: coord, global point.
- Parameters
-
| [in] | markDonor | - Index of the boundary on the donor domain. |
| [in] | markTarget | - Index of the boundary on the target domain. |
| [in] | nVertexDonor | - Number of vertices on the donor boundary. |
| [in] | nDim | - number of physical dimensions. |
◆ Determine_ArraySize()
| void CInterpolator::Determine_ArraySize |
( |
int |
markDonor, |
|
|
int |
markTarget, |
|
|
unsigned long |
nVertexDonor, |
|
|
unsigned short |
nDim |
|
) |
| |
|
protected |
Determine array sizes used to collect and send coordinate and global point information.
- Parameters
-
| [in] | markDonor | - Index of the boundary on the donor domain. |
| [in] | markTarget | - Index of the boundary on the target domain. |
| [in] | nVertexDonor | - Number of vertices on the donor boundary. |
| [in] | nDim | - number of physical dimensions. |
◆ PrintStatistics()
| virtual void CInterpolator::PrintStatistics |
( |
void |
| ) |
const |
|
inlinevirtual |
◆ ReconstructBoundary()
| void CInterpolator::ReconstructBoundary |
( |
unsigned long |
val_zone, |
|
|
int |
val_marker |
|
) |
| |
|
protected |
Reconstruct the boundary connectivity from parallel partitioning and broadcasts it to all threads.
- Parameters
-
| [in] | val_zone | - index of the zone |
| [in] | val_marker | - index of the marker |
◆ SetTransferCoeff()
| virtual void CInterpolator::SetTransferCoeff |
( |
CGeometry **** |
geometry, |
|
|
const CConfig *const * |
config |
|
) |
| |
|
pure virtual |
◆ WriteInterpolationDetails()
| virtual void CInterpolator::WriteInterpolationDetails |
( |
const string & |
filename, |
|
|
const CConfig *const * |
config |
|
) |
| |
|
inlinevirtual |
Write mixing plane interpolation details to file.
Reimplemented in CMixingPlane.
◆ Buffer_Receive_Coord
Buffer to receive coordinate values.
◆ Buffer_Receive_GlobalPoint
| su2vector<unsigned long> CInterpolator::Buffer_Receive_GlobalPoint |
|
protected |
Buffer to receive global point indices.
◆ Buffer_Receive_LinkedNodes
| su2vector<unsigned long> CInterpolator::Buffer_Receive_LinkedNodes |
|
protected |
Buffer to receive the list of surface-connected nodes, for each vertex.
The vertices are ordered as in Buffer_Receive_nLinkedNodes and Buffer_Receive_StartLinkedNodes, but for each
◆ Buffer_Receive_nLinkedNodes
| su2vector<unsigned long> CInterpolator::Buffer_Receive_nLinkedNodes |
|
protected |
Buffer to receive the number of surface-connected edges, for each vertex.
◆ Buffer_Receive_nVertex_Donor
| unsigned long * CInterpolator::Buffer_Receive_nVertex_Donor |
|
protected |
Buffer to store the number of vertices per processor on the Donor domain.
◆ Buffer_Receive_Proc
| su2vector<unsigned long> CInterpolator::Buffer_Receive_Proc |
|
protected |
Buffer to receive the rank that owns the vertex.
◆ Buffer_Receive_StartLinkedNodes
| su2vector<unsigned long> CInterpolator::Buffer_Receive_StartLinkedNodes |
|
protected |
Buffer to receive the index of the Receive_LinkedNodes buffer where corresponding list of linked nodes begins.
◆ Buffer_Send_Coord
Buffer to send coordinate values.
◆ Buffer_Send_GlobalPoint
| su2vector<unsigned long> CInterpolator::Buffer_Send_GlobalPoint |
|
protected |
Buffer to send global point indices.
◆ Buffer_Send_nVertex_Donor
| unsigned long CInterpolator::Buffer_Send_nVertex_Donor[1] |
|
protected |
Buffer to send number of vertices on the local processor.
◆ donor_geometry
| CGeometry* const CInterpolator::donor_geometry |
|
protected |
Vector which stores n zones of geometry.
◆ donorZone
| const unsigned CInterpolator::donorZone |
|
protected |
◆ Geometry
◆ MaxLocalVertex_Donor
| unsigned long CInterpolator::MaxLocalVertex_Donor |
|
protected |
Maximum vertices per processor.
◆ nGlobalVertex
| unsigned long CInterpolator::nGlobalVertex |
|
protected |
Dummy variable to temporarily store the global number of vertex of a boundary.
◆ nGlobalVertex_Donor
| unsigned long CInterpolator::nGlobalVertex_Donor |
|
protected |
Global number of vertex of the donor boundary.
◆ nGlobalVertex_Target
| unsigned long CInterpolator::nGlobalVertex_Target |
|
protected |
Global number of vertex of the target boundary.
◆ nLocalLinkedNodes
| unsigned long CInterpolator::nLocalLinkedNodes |
|
protected |
Dummy variable to temporarily store the number of vertex of a boundary.
◆ nLocalVertex_Donor
| unsigned long CInterpolator::nLocalVertex_Donor |
|
protected |
Number of vertex of the donor boundary owned by the thread.
◆ nLocalVertex_Target
| unsigned long CInterpolator::nLocalVertex_Target |
|
protected |
Number of vertex of the target boundary owned by the thread.
◆ rank
| const int CInterpolator::rank |
|
protected |
◆ size
| const int CInterpolator::size |
|
protected |
◆ target_geometry
| CGeometry* const CInterpolator::target_geometry |
|
protected |
◆ targetSpans
◆ targetVertices
| vector<vector<CDonorInfo> > CInterpolator::targetVertices |
◆ targetZone
| const unsigned CInterpolator::targetZone |
|
protected |
The documentation for this class was generated from the following files: