29#include "../../include/basic_types/datatype_structure.hpp"
30#include "../../include/containers/C2DContainer.hpp"
31#include "../../include/containers/container_decorators.hpp"
175 void Determine_ArraySize(
int markDonor,
int markTarget,
unsigned long nVertexDonor,
unsigned short nDim);
184 void Collect_VertexInfo(
int markDonor,
int markTarget,
unsigned long nVertexDonor,
unsigned short nDim);
198 vector<unsigned long>& allNumElem, vector<unsigned short>& numNodes,
A templated matrix/vector-like object.
Definition C2DContainer.hpp:374
Main class for defining the problem; basically this class reads the configuration file,...
Definition CConfig.hpp:64
Parent class for defining the geometry of the problem (complete geometry, multigrid agglomerated geom...
Definition CGeometry.hpp:75
Main class for defining the interpolator, it requires a child class for each particular interpolation...
Definition CInterpolator.hpp:47
CGeometry ****const Geometry
Definition CInterpolator.hpp:84
const unsigned donorZone
Index of donor zone.
Definition CInterpolator.hpp:51
unsigned long nLocalVertex_Target
Number of vertex of the target boundary owned by the thread.
Definition CInterpolator.hpp:78
void ReconstructBoundary(unsigned long val_zone, int val_marker)
Reconstruct the boundary connectivity from parallel partitioning and broadcasts it to all threads.
Definition CInterpolator.cpp:155
su2vector< unsigned long > Buffer_Send_GlobalPoint
Buffer to send global point indices.
Definition CInterpolator.hpp:59
const int size
MPI Size.
Definition CInterpolator.hpp:50
virtual ~CInterpolator(void)=default
Destructor of the class, nothing is deleted, derived classes need to manage the MPI buffers.
unsigned long nLocalLinkedNodes
Dummy variable to temporarily store the number of vertex of a boundary.
Definition CInterpolator.hpp:82
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.
Definition CInterpolator.cpp:102
unsigned long nGlobalVertex
Dummy variable to temporarily store the global number of vertex of a boundary.
Definition CInterpolator.hpp:81
su2vector< unsigned long > Buffer_Receive_StartLinkedNodes
Buffer to receive the index of the Receive_LinkedNodes buffer where corresponding list of linked node...
Definition CInterpolator.hpp:69
unsigned long MaxLocalVertex_Donor
Maximum vertices per processor.
Definition CInterpolator.hpp:54
const int rank
MPI Rank.
Definition CInterpolator.hpp:49
unsigned long Buffer_Send_nVertex_Donor[1]
Buffer to send number of vertices on the local processor.
Definition CInterpolator.hpp:55
CInterpolator(void)=delete
No default construction allowed to force zones and geometry to always be set.
su2vector< unsigned long > Buffer_Receive_Proc
Buffer to receive the rank that owns the vertex.
Definition CInterpolator.hpp:75
unsigned long nGlobalVertex_Target
Global number of vertex of the target boundary.
Definition CInterpolator.hpp:77
CGeometry *const target_geometry
Donor geometry.
Definition CInterpolator.hpp:86
su2activematrix Buffer_Receive_Coord
Buffer to receive coordinate values.
Definition CInterpolator.hpp:63
CGeometry *const donor_geometry
Vector which stores n zones of geometry.
Definition CInterpolator.hpp:85
virtual void WriteInterpolationDetails(const string &filename, const CConfig *const *config)
Write mixing plane interpolation details to file.
Definition CInterpolator.hpp:144
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.
Definition CInterpolator.cpp:45
virtual void SetTransferCoeff(CGeometry ****geometry, const CConfig *const *config)=0
Set up transfer matrix defining relation between two meshes.
void Collect_VertexInfo(int markDonor, int markTarget, unsigned long nVertexDonor, unsigned short nDim)
Collect and communicate vertex info: coord, global point.
Definition CInterpolator.cpp:79
unsigned long nGlobalVertex_Donor
Global number of vertex of the donor boundary.
Definition CInterpolator.hpp:79
su2vector< unsigned long > Buffer_Receive_LinkedNodes
Buffer to receive the list of surface-connected nodes, for each vertex.
Definition CInterpolator.hpp:73
static bool CheckZonesInterface(const CConfig *donor, const CConfig *target)
Check whether two zones have a common interface.
Definition CInterpolator.cpp:54
virtual void PrintStatistics(void) const
Print information about the interpolation.
Definition CInterpolator.hpp:139
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.
Definition CInterpolator.cpp:62
vector< vector< CSpanDonorInfo > > targetSpans
Definition CInterpolator.hpp:108
const unsigned targetZone
Index of target zone.
Definition CInterpolator.hpp:52
unsigned long nLocalVertex_Donor
Number of vertex of the donor boundary owned by the thread.
Definition CInterpolator.hpp:80
vector< vector< CDonorInfo > > targetVertices
Definition CInterpolator.hpp:102
su2activematrix Buffer_Send_Coord
Buffer to send coordinate values.
Definition CInterpolator.hpp:62
su2vector< unsigned long > Buffer_Receive_GlobalPoint
Buffer to receive global point indices.
Definition CInterpolator.hpp:60
su2vector< unsigned long > Buffer_Receive_nLinkedNodes
Buffer to receive the number of surface-connected edges, for each vertex.
Definition CInterpolator.hpp:66
unsigned long * Buffer_Receive_nVertex_Donor
Buffer to store the number of vertices per processor on the Donor domain.
Definition CInterpolator.hpp:56
passivedouble su2double
Definition code_config.hpp:181
Target geometry.
Definition CInterpolator.hpp:89
vector< unsigned long > globalPoint
Definition CInterpolator.hpp:91
vector< int > processor
Definition CInterpolator.hpp:90
void resize(size_t nDonor)
Definition CInterpolator.hpp:96
vector< su2double > coefficient
Definition CInterpolator.hpp:92
unsigned long nDonor() const
Definition CInterpolator.hpp:94
Donor information per marker per vertex of the target.
Definition CInterpolator.hpp:104
size_t donorSpan
Definition CInterpolator.hpp:105
su2double coefficient
Definition CInterpolator.hpp:106