OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
CouplingAdapter Class Referenceabstract

#include <coupling.h>

Inheritance diagram for CouplingAdapter:
DummyCouplingAdapter

Public Types

enum class  DataType {
  NOTHING = 0 , DISPLACEMENTS = 1 , FORCES = 2 , POSITIONS = 3 ,
  DATA_COUNT = 4
}
enum class  Mode { SKIP = 0 , REPLACE = 1 , ADD = 2 }

Public Member Functions

virtual ~CouplingAdapter ()=default
virtual bool configure (const std::string &configFile)=0
virtual void setNodes (const std::vector< int > &nodeIds)=0
virtual bool initialize (const double *coordinates, int totalNodes, int mpiRank, int mpiSize)=0
virtual void writeData (const double *values, int totalNodes, double dt, int dataType)=0
virtual void readData (double *values, int totalNodes, double dt, int dataType)=0
virtual void advance (double &dt)=0
virtual bool isCouplingOngoing () const =0
virtual bool requiresWritingCheckpoint () const
virtual bool requiresReadingCheckpoint () const
virtual void finalize ()=0
virtual bool isActive () const =0
virtual double getMaxTimeStepSize () const =0
virtual int getNumberOfCouplingNodes () const =0
int getGroupNodeId () const
void setGroupNodeId (int id)
int getSurfaceId () const
void setSurfaceId (int id)
virtual int getCommunicator () const

Static Public Member Functions

static DataType stringToDataType (const std::string &str)
static std::string dataTypeToString (DataType type)

Private Attributes

int groupNodeId_
int surfaceId_

Detailed Description

Definition at line 30 of file coupling.h.

Member Enumeration Documentation

◆ DataType

enum class CouplingAdapter::DataType
strong
Enumerator
NOTHING 
DISPLACEMENTS 
FORCES 
POSITIONS 
DATA_COUNT 

Definition at line 69 of file coupling.h.

69 {
70 NOTHING = 0,
71 DISPLACEMENTS = 1,
72 FORCES = 2,
73 POSITIONS = 3,
74 DATA_COUNT = 4 // Total number of data types
75 };

◆ Mode

enum class CouplingAdapter::Mode
strong
Enumerator
SKIP 
REPLACE 
ADD 

Definition at line 78 of file coupling.h.

78 {
79 SKIP = 0,
80 REPLACE = 1, // For positions, replace the existing data
81 ADD = 2 // For forces, we add to the existing data
82 };

Constructor & Destructor Documentation

◆ ~CouplingAdapter()

virtual CouplingAdapter::~CouplingAdapter ( )
virtualdefault

Member Function Documentation

◆ advance()

virtual void CouplingAdapter::advance ( double & dt)
pure virtual

Implemented in DummyCouplingAdapter.

◆ configure()

virtual bool CouplingAdapter::configure ( const std::string & configFile)
pure virtual

Implemented in DummyCouplingAdapter.

◆ dataTypeToString()

std::string CouplingAdapter::dataTypeToString ( DataType type)
inlinestatic

Definition at line 92 of file coupling.h.

92 {
93 switch (type) {
94 case DataType::DISPLACEMENTS: return "DISPLACEMENTS";
95 case DataType::FORCES: return "FORCES";
96 case DataType::POSITIONS: return "POSITIONS";
97 case DataType::NOTHING: return "NOTHING";
98 case DataType::DATA_COUNT: break; // Don't convert this
99 }
100 return "NOTHING";
101 }

◆ finalize()

virtual void CouplingAdapter::finalize ( )
pure virtual

Implemented in DummyCouplingAdapter.

◆ getCommunicator()

virtual int CouplingAdapter::getCommunicator ( ) const
inlinevirtual

Definition at line 66 of file coupling.h.

66{ return 0; }

◆ getGroupNodeId()

int CouplingAdapter::getGroupNodeId ( ) const
inline

Definition at line 62 of file coupling.h.

62{ return groupNodeId_; }

◆ getMaxTimeStepSize()

virtual double CouplingAdapter::getMaxTimeStepSize ( ) const
pure virtual

Implemented in DummyCouplingAdapter.

◆ getNumberOfCouplingNodes()

virtual int CouplingAdapter::getNumberOfCouplingNodes ( ) const
pure virtual

Implemented in DummyCouplingAdapter.

◆ getSurfaceId()

int CouplingAdapter::getSurfaceId ( ) const
inline

Definition at line 64 of file coupling.h.

64{ return surfaceId_; }

◆ initialize()

virtual bool CouplingAdapter::initialize ( const double * coordinates,
int totalNodes,
int mpiRank,
int mpiSize )
pure virtual

Implemented in DummyCouplingAdapter.

◆ isActive()

virtual bool CouplingAdapter::isActive ( ) const
pure virtual

Implemented in DummyCouplingAdapter.

◆ isCouplingOngoing()

virtual bool CouplingAdapter::isCouplingOngoing ( ) const
pure virtual

Implemented in DummyCouplingAdapter.

◆ readData()

virtual void CouplingAdapter::readData ( double * values,
int totalNodes,
double dt,
int dataType )
pure virtual

Implemented in DummyCouplingAdapter.

◆ requiresReadingCheckpoint()

virtual bool CouplingAdapter::requiresReadingCheckpoint ( ) const
inlinevirtual

Reimplemented in DummyCouplingAdapter.

Definition at line 53 of file coupling.h.

53{return false; };

◆ requiresWritingCheckpoint()

virtual bool CouplingAdapter::requiresWritingCheckpoint ( ) const
inlinevirtual

Reimplemented in DummyCouplingAdapter.

Definition at line 52 of file coupling.h.

52{return false; };

◆ setGroupNodeId()

void CouplingAdapter::setGroupNodeId ( int id)
inline

Definition at line 63 of file coupling.h.

63{ groupNodeId_ = id; }
initmumps id

◆ setNodes()

virtual void CouplingAdapter::setNodes ( const std::vector< int > & nodeIds)
pure virtual

Implemented in DummyCouplingAdapter.

◆ setSurfaceId()

void CouplingAdapter::setSurfaceId ( int id)
inline

Definition at line 65 of file coupling.h.

65{ surfaceId_ = id; }

◆ stringToDataType()

DataType CouplingAdapter::stringToDataType ( const std::string & str)
inlinestatic

Definition at line 85 of file coupling.h.

85 {
86 if (str == "DISPLACEMENTS") return DataType::DISPLACEMENTS;
87 if (str == "FORCES") return DataType::FORCES;
88 if (str == "POSITIONS") return DataType::POSITIONS;
89 return DataType::NOTHING;
90 }

◆ writeData()

virtual void CouplingAdapter::writeData ( const double * values,
int totalNodes,
double dt,
int dataType )
pure virtual

Implemented in DummyCouplingAdapter.

Field Documentation

◆ groupNodeId_

int CouplingAdapter::groupNodeId_
private

Definition at line 32 of file coupling.h.

◆ surfaceId_

int CouplingAdapter::surfaceId_
private

Definition at line 33 of file coupling.h.


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