Documentation a537f1bdf2
Loading...
Searching...
No Matches
CMirror Class Referencefinal

Mirror interpolation, transpose interpolation matrix of opposing mesh. More...

#include <CMirror.hpp>

Inheritance diagram for CMirror:
[legend]

Public Member Functions

 CMirror (CGeometry ****geometry_container, const CConfig *const *config, const CInterpolator *interpolator, unsigned int iZone, unsigned int jZone)
 The transpose interpolator (from j to i).
 
void SetTransferCoeff (CGeometry ****geometry, const CConfig *const *config) override
 Set up transfer matrix defining relation between two meshes.
 
- Public Member Functions inherited from CInterpolator
 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 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.
 

Additional Inherited Members

- Static Public Member Functions inherited from CInterpolator
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.
 
- Public Attributes inherited from CInterpolator
vector< vector< CDonorInfo > > targetVertices
 
vector< vector< CSpanDonorInfo > > targetSpans
 
- Protected Member Functions inherited from CInterpolator
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.
 
- Protected Attributes inherited from CInterpolator
const int rank
 MPI Rank.
 
const int size
 MPI Size.
 
const unsigned donorZone
 Index of donor zone.
 
const unsigned targetZone
 Index of target zone.
 
unsigned long MaxLocalVertex_Donor
 Maximum vertices per processor.
 
unsigned long Buffer_Send_nVertex_Donor [1]
 Buffer to send number of vertices on the local processor.
 
unsigned long * Buffer_Receive_nVertex_Donor
 Buffer to store the number of vertices per processor on the Donor domain.
 
su2vector< unsigned long > Buffer_Send_GlobalPoint
 Buffer to send global point indices.
 
su2vector< unsigned long > Buffer_Receive_GlobalPoint
 Buffer to receive global point indices.
 
su2activematrix Buffer_Send_Coord
 Buffer to send coordinate values.
 
su2activematrix Buffer_Receive_Coord
 Buffer to receive coordinate values.
 
su2vector< unsigned long > Buffer_Receive_nLinkedNodes
 Buffer to receive the number of surface-connected edges, for each vertex.
 
su2vector< unsigned long > Buffer_Receive_StartLinkedNodes
 Buffer to receive the index of the Receive_LinkedNodes buffer where corresponding list of linked nodes begins.
 
su2vector< unsigned long > Buffer_Receive_LinkedNodes
 Buffer to receive the list of surface-connected nodes, for each vertex.
 
su2vector< unsigned long > Buffer_Receive_Proc
 Buffer to receive the rank that owns the vertex.
 
unsigned long nGlobalVertex_Target
 Global number of vertex of the target boundary.
 
unsigned long nLocalVertex_Target
 Number of vertex of the target boundary owned by the thread.
 
unsigned long nGlobalVertex_Donor
 Global number of vertex of the donor boundary.
 
unsigned long nLocalVertex_Donor
 Number of vertex of the donor boundary owned by the thread.
 
unsigned long nGlobalVertex
 Dummy variable to temporarily store the global number of vertex of a boundary.
 
unsigned long nLocalLinkedNodes
 Dummy variable to temporarily store the number of vertex of a boundary.
 
CGeometry ****const Geometry
 
CGeometry *const donor_geometry
 Vector which stores n zones of geometry.
 
CGeometry *const target_geometry
 Donor geometry.
 

Detailed Description

Mirror interpolation, transpose interpolation matrix of opposing mesh.

Note
Requires that the opposing mesh has already run interpolation (jZone > iZone), otherwise throws.

Constructor & Destructor Documentation

◆ CMirror()

CMirror::CMirror ( CGeometry ****  geometry_container,
const CConfig *const *  config,
const CInterpolator *  interpolator,
unsigned int  iZone,
unsigned int  jZone 
)

The transpose interpolator (from j to i).

Constructor of the class.

Note
Data is set in geometry[targetZone].
Parameters
[in]geometry_container
[in]config- config container
[in]interpolator- Transpose interpolator
[in]iZone- First zone
[in]jZone- Second zone

Member Function Documentation

◆ SetTransferCoeff()

void CMirror::SetTransferCoeff ( CGeometry ****  geometry,
const CConfig *const *  config 
)
overridevirtual

Set up transfer matrix defining relation between two meshes.

Parameters
[in]config- Definition of the particular problem.

Implements CInterpolator.


The documentation for this class was generated from the following files: