Documentation 6b54b78464
Loading...
Searching...
No Matches
CSurfaceFEMDataSorter Class Referencefinal

#include <CSurfaceFEMDataSorter.hpp>

Inheritance diagram for CSurfaceFEMDataSorter:
[legend]

Public Member Functions

 CSurfaceFEMDataSorter (CConfig *config, CGeometry *geometry, const CFEMDataSorter *valVolumeSorter)
 Construct a file writer using field names and the data sorter.
 
void SortOutputData () override
 Sort the output data for each grid node into a linear partitioning across all processors.
 
void SortConnectivity (CConfig *config, CGeometry *geometry, bool val_sort) override
 Sort the connectivities on the surface into data structures used for output file writing. All markers in MARKER_PLOTTING will be sorted.
 
void SortConnectivity (CConfig *config, CGeometry *geometry, const vector< string > &markerList) override
 Sort the connectivities (volume and surface) into data structures used for output file writing. Only markers in the markerList argument will be sorted.
 
unsigned long GetGlobalIndex (unsigned long iPoint) const override
 Get the global index of a point. \input iPoint - the point ID.
 
unsigned long GetNodeBegin (unsigned short rank) const override
 Get the beginning global renumbered node ID of the linear partition owned by a specific processor.
 
unsigned short FindProcessor (unsigned long iPoint) const override
 Get the Processor ID a Point belongs to.
 
unsigned long GetnPointCumulative (unsigned short rank) const override
 Get the cumulated number of points.
 
- Public Member Functions inherited from CParallelDataSorter
 CParallelDataSorter (CConfig *config, const vector< string > &valFieldNames)
 Constructor.
 
virtual ~CParallelDataSorter ()
 Destructor.
 
unsigned long GetnPoints () const
 Get the number of points the local rank owns.
 
unsigned long GetnLocalPointsBeforeSort () const
 Get the number of points to sort.
 
unsigned long GetnPointsGlobal () const
 Get the global number of points (accumulated from all ranks)
 
unsigned long GetnElem () const
 Get the global of elements (accumulated from all ranks and element types)
 
unsigned long GetnElem (GEO_TYPE type) const
 Get the local number of elements of a specific type that the current rank owns \input type - The type of element, ref GEO_TYPE.
 
unsigned long GetnElemGlobal (GEO_TYPE type) const
 Get the global number of elements of a specific type \input type - The type of element, ref GEO_TYPE.
 
unsigned long GetnElemGlobal () const
 Get the global number of elements.
 
unsigned long GetnConnGlobal () const
 Get the global number entries of the connectivity array.
 
unsigned long GetnConn () const
 Get the local number entries of the connectivity array.
 
unsigned long GetnElemCumulative (unsigned short rank) const
 Get the cumulated number of elements \input rank - the processor rank.
 
unsigned long GetnElemConnCumulative (unsigned short rank) const
 Get the cumulated number of entries of the connectivity array \input rank - the processor rank.
 
unsigned long GetElemConnectivity (GEO_TYPE type, unsigned long iElem, unsigned long iNode) const
 Get the connectivity of specific element. \input type - The type of element, ref GEO_TYPE \input iElem - The element ID \input iNode - The node ID.
 
unsigned long GetNodeEnd (unsigned short rank) const
 Ending node ID of the linear partition owned by a specific processor.
 
passivedouble GetData (unsigned short iField, unsigned long iPoint) const
 Get the value of the linear partitioned data. \input iField - the output field ID. \input iPoint - the point ID.
 
const passivedouble * GetData () const
 Get the pointer to the sorted linear partitioned data.
 
unsigned long GetnPointLinear (unsigned short rank) const
 Get the linear number of points \input rank - the processor rank.
 
bool GetConnectivitySorted () const
 Check whether the current connectivity is sorted (i.e. if SortConnectivity has been called)
 
void SetUnsortedData (unsigned long iPoint, unsigned short iField, su2double data)
 Set the value of a specific field at a point. PrepareSendBuffers must be called before using this function.
 
passivedouble GetUnsortedData (unsigned long iPoint, unsigned short iField) const
 
const vector< string > & GetFieldNames () const
 Get the vector containing the names of the output fields.
 
const vector< string > & GetRequiredFieldNames () const
 Get the vector containing the names of the required output fields.
 
void SetRequiredFieldNames (const vector< string > &req_field_names)
 Set the vector of required output fields.
 
unsigned short GetnDim () const
 Get the spatial dimension.
 
void SetTotalElements ()
 Set the total number of elements after sorting individual element types.
 

Additional Inherited Members

- Protected Member Functions inherited from CParallelDataSorter
void PrepareSendBuffers (std::vector< unsigned long > &globalID)
 Prepare the send buffers by filling them with the global indices. After calling this function, the data buffer for sending can be filled with the ::SetUnsorted_Data() routine.
 
- Protected Attributes inherited from CParallelDataSorter
const int rank
 The MPI rank.
 
const int size
 The MPI size, aka the number of processors.
 
unsigned long nGlobalPointBeforeSort
 Global number of points without halos before sorting.
 
unsigned long nLocalPointsBeforeSort
 Local number of points without halos before sorting on this proc.
 
int * Conn_Line_Par
 Local connectivity of line elements.
 
int * Conn_Tria_Par
 Local connectivity of triangle elements.
 
int * Conn_Quad_Par
 Local connectivity of quad elements.
 
int * Conn_Tetr_Par
 Local connectivity of tetrahedral elements.
 
int * Conn_Hexa_Par
 Local connectivity of hexahedral elements.
 
int * Conn_Pris_Par
 Local connectivity of prism elements.
 
int * Conn_Pyra_Par
 Local connectivity of pyramid elements.
 
array< unsigned long, N_ELEM_TYPES > nElemPerTypeGlobal
 Global number of elements after sorting on this proc.
 
array< unsigned long, N_ELEM_TYPES > nElemPerType
 Local number of elements after sorting on this proc.
 
struct { 
 
} TypeMap 
 Map that stores the index for each GEO_TYPE type where to find information in the element arrays.
 
unsigned long nPointsGlobal
 Global number of points without halos.
 
unsigned long nElemGlobal
 Global number of elems without halos.
 
unsigned long nConnGlobal
 Global size of the connectivity array.
 
unsigned long nPoints
 Local number of points.
 
unsigned long nElem
 Local number of elements.
 
unsigned long nConn
 Local size of the connectivity array.
 
CLinearPartitioner linearPartitioner
 Linear partitioner based on the global number of points.
 
unsigned short GlobalField_Counter
 Number of output fields.
 
bool connectivitySorted
 Boolean to store information on whether the connectivity is sorted.
 
int * nPoint_Send
 Number of points this processor has to send to other processors.
 
int * nPoint_Recv
 Number of points this processor receives from other processors.
 
int * nElem_Send
 Number of elements this processor has to send to other processors.
 
int * nElem_Cum
 Cumulative number of elements.
 
unsigned long * nElemConn_Send
 Number of element connectivity this processor has to send to other processors.
 
unsigned long * nElemConn_Cum
 Cumulative number of element connectivity entries.
 
unsigned long * Index
 Index each point has in the send buffer.
 
passivedouble * connSend
 Send buffer holding the data that will be send to other processors.
 
passivedouble * dataBuffer
 Buffer holding the sorted, partitioned data as passivedouble types.
 
unsigned long * idSend
 Send buffer holding global indices that will be send to other processors.
 
int nSends
 Number of sends.
 
int nRecvs
 Number of receives.
 
vector< string > fieldNames
 Vector with names of all the output fields.
 
vector< string > requiredFieldNames
 Vector with names of the required output fields that we write to file.
 
unsigned short nDim
 Spatial dimension of the data.
 

Constructor & Destructor Documentation

◆ CSurfaceFEMDataSorter()

CSurfaceFEMDataSorter::CSurfaceFEMDataSorter ( CConfig *  config,
CGeometry *  geometry,
const CFEMDataSorter *  valVolumeSorter 
)

Construct a file writer using field names and the data sorter.

Parameters
[in]config- Pointer to the current config structure
[in]geometry- Pointer to the current geometry
[in]valVolumeSorter- The datasorter containing the volume data

Member Function Documentation

◆ FindProcessor()

unsigned short CSurfaceFEMDataSorter::FindProcessor ( unsigned long  iPoint) const
inlineoverridevirtual

Get the Processor ID a Point belongs to.

Parameters
[in]iPoint- global renumbered ID of the point
Returns
The rank/processor number.

Reimplemented from CParallelDataSorter.

◆ GetGlobalIndex()

unsigned long CSurfaceFEMDataSorter::GetGlobalIndex ( unsigned long  iPoint) const
inlineoverridevirtual

Get the global index of a point. \input iPoint - the point ID.

Returns
Global index of a specific point.

Reimplemented from CParallelDataSorter.

◆ GetNodeBegin()

unsigned long CSurfaceFEMDataSorter::GetNodeBegin ( unsigned short  rank) const
inlineoverridevirtual

Get the beginning global renumbered node ID of the linear partition owned by a specific processor.

Parameters
[in]rank- the processor rank.
Returns
The beginning global renumbered node ID.

Reimplemented from CParallelDataSorter.

◆ GetnPointCumulative()

unsigned long CSurfaceFEMDataSorter::GetnPointCumulative ( unsigned short  rank) const
inlineoverridevirtual

Get the cumulated number of points.

Parameters
[in]rank- the processor rank.
Returns
The cumulated number of points up to certain processor rank.

Reimplemented from CParallelDataSorter.

◆ SortConnectivity() [1/2]

void CSurfaceFEMDataSorter::SortConnectivity ( CConfig *  config,
CGeometry *  geometry,
bool  val_sort 
)
overridevirtual

Sort the connectivities on the surface into data structures used for output file writing. All markers in MARKER_PLOTTING will be sorted.

Parameters
[in]config- Definition of the particular problem.
[in]geometry- Geometrical definition of the problem.
[in]val_sort- boolean controlling whether surface <TRUE> or volume connectivity <FALSE> should be sorted.

Reimplemented from CParallelDataSorter.

◆ SortConnectivity() [2/2]

void CSurfaceFEMDataSorter::SortConnectivity ( CConfig *  config,
CGeometry *  geometry,
const vector< string > &  markerList 
)
overridevirtual

Sort the connectivities (volume and surface) into data structures used for output file writing. Only markers in the markerList argument will be sorted.

Parameters
[in]config- Definition of the particular problem.
[in]geometry- Geometrical definition of the problem.
[in]markerList- List of markers to sort.

Reimplemented from CParallelDataSorter.

◆ SortOutputData()

void CSurfaceFEMDataSorter::SortOutputData ( )
overridevirtual

Sort the output data for each grid node into a linear partitioning across all processors.

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

Reimplemented from CParallelDataSorter.


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