OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
coupling_c_interface.cpp File Reference
#include "coupling_c_interface.h"
#include "coupling_factory.h"
#include "coupling.h"
#include <string>
#include <vector>
#include <iostream>

Go to the source code of this file.

Functions

void * coupling_adapter_create ()
void coupling_adapter_destroy (void *adapter)
int coupling_adapter_configure (void *adapter, const char *filename)
void coupling_adapter_set_nodes (void *adapter, const int *nodeIds, int numNodes)
int coupling_adapter_initialize (void *adapter, const double *coordinates, int totalNodes, int mpiRank, int mpiSize)
void coupling_adapter_write_data (void *adapter, const double *values, int totalNodes, double dt, int dataType)
void coupling_adapter_read_data (void *adapter, double *values, int totalNodes, double dt, int dataType)
void coupling_adapter_advance (void *adapter, double *dt)
int coupling_adapter_is_coupling_ongoing (void *adapter)
int coupling_adapter_requires_writing_checkpoint (void *adapter)
int coupling_adapter_requires_reading_checkpoint (void *adapter)
void coupling_adapter_finalize (void *adapter)
int coupling_adapter_is_active (void *adapter)
double coupling_adapter_get_max_time_step_size (void *adapter)
int coupling_adapter_get_num_coupling_nodes (void *adapter)
int coupling_adapter_get_group_node_id (void *adapter)
int coupling_adapter_get_surface_id (void *adapter)
int coupling_adapter_get_communicator (void *adapter)
void coupling_adapter_set_mesh (void *adapter, const int *elem_node_offsets, const int *elem_node_indices, int num_elements)

Function Documentation

◆ coupling_adapter_advance()

void coupling_adapter_advance ( void * adapter,
double * dt )

Definition at line 125 of file coupling_c_interface.cpp.

125 {
126 CouplingAdapter* ca = static_cast<CouplingAdapter*>(adapter);
127 ca->advance(*dt);
128}
virtual void advance(double &dt)=0

◆ coupling_adapter_configure()

int coupling_adapter_configure ( void * adapter,
const char * filename )

Definition at line 58 of file coupling_c_interface.cpp.

58 {
59 CouplingAdapter* ca = static_cast<CouplingAdapter*>(adapter);
60 return ca->configure(std::string(filename)) ? 1 : 0;
61}
virtual bool configure(const std::string &configFile)=0

◆ coupling_adapter_create()

void * coupling_adapter_create ( )

Definition at line 40 of file coupling_c_interface.cpp.

40 {
41 return createCouplingAdapter();
42}
CouplingAdapter * createCouplingAdapter()

◆ coupling_adapter_destroy()

void coupling_adapter_destroy ( void * adapter)

Definition at line 48 of file coupling_c_interface.cpp.

48 {
49 delete static_cast<CouplingAdapter*>(adapter);
50}

◆ coupling_adapter_finalize()

void coupling_adapter_finalize ( void * adapter)

Definition at line 163 of file coupling_c_interface.cpp.

163 {
164 CouplingAdapter* ca = static_cast<CouplingAdapter*>(adapter);
165 ca->finalize();
166}
virtual void finalize()=0

◆ coupling_adapter_get_communicator()

int coupling_adapter_get_communicator ( void * adapter)

Definition at line 204 of file coupling_c_interface.cpp.

204 {
205 CouplingAdapter* ca = static_cast<CouplingAdapter*>(adapter);
206 return ca->getCommunicator();
207}
virtual int getCommunicator() const
Definition coupling.h:66

◆ coupling_adapter_get_group_node_id()

int coupling_adapter_get_group_node_id ( void * adapter)

Definition at line 188 of file coupling_c_interface.cpp.

188 {
189 CouplingAdapter* ca = static_cast<CouplingAdapter*>(adapter);
190 return ca->getGroupNodeId();
191}
int getGroupNodeId() const
Definition coupling.h:62

◆ coupling_adapter_get_max_time_step_size()

double coupling_adapter_get_max_time_step_size ( void * adapter)

Definition at line 176 of file coupling_c_interface.cpp.

176 {
177 CouplingAdapter* ca = static_cast<CouplingAdapter*>(adapter);
178 return ca->getMaxTimeStepSize();
179}
virtual double getMaxTimeStepSize() const =0

◆ coupling_adapter_get_num_coupling_nodes()

int coupling_adapter_get_num_coupling_nodes ( void * adapter)

Definition at line 182 of file coupling_c_interface.cpp.

182 {
183 CouplingAdapter* ca = static_cast<CouplingAdapter*>(adapter);
184 return ca->getNumberOfCouplingNodes();
185}
virtual int getNumberOfCouplingNodes() const =0

◆ coupling_adapter_get_surface_id()

int coupling_adapter_get_surface_id ( void * adapter)

Definition at line 194 of file coupling_c_interface.cpp.

194 {
195 CouplingAdapter* ca = static_cast<CouplingAdapter*>(adapter);
196 return ca->getSurfaceId();
197}
int getSurfaceId() const
Definition coupling.h:64

◆ coupling_adapter_initialize()

int coupling_adapter_initialize ( void * adapter,
const double * coordinates,
int totalNodes,
int mpiRank,
int mpiSize )

Definition at line 92 of file coupling_c_interface.cpp.

93 {
94 CouplingAdapter* ca = static_cast<CouplingAdapter*>(adapter);
95 return ca->initialize(coordinates, totalNodes, mpiRank, mpiSize) ? 1 : 0;
96}
virtual bool initialize(const double *coordinates, int totalNodes, int mpiRank, int mpiSize)=0

◆ coupling_adapter_is_active()

int coupling_adapter_is_active ( void * adapter)

Definition at line 169 of file coupling_c_interface.cpp.

169 {
170 CouplingAdapter* ca = static_cast<CouplingAdapter*>(adapter);
171 return ca->isActive() ? 1 : 0;
172}
virtual bool isActive() const =0

◆ coupling_adapter_is_coupling_ongoing()

int coupling_adapter_is_coupling_ongoing ( void * adapter)

Definition at line 135 of file coupling_c_interface.cpp.

135 {
136 CouplingAdapter* ca = static_cast<CouplingAdapter*>(adapter);
137 return ca->isCouplingOngoing() ? 1 : 0;
138}
virtual bool isCouplingOngoing() const =0

◆ coupling_adapter_read_data()

void coupling_adapter_read_data ( void * adapter,
double * values,
int totalNodes,
double dt,
int dataType )

Definition at line 114 of file coupling_c_interface.cpp.

115 {
116 CouplingAdapter* ca = static_cast<CouplingAdapter*>(adapter);
117 ca->readData(values, totalNodes, dt, dataType);
118}
virtual void readData(double *values, int totalNodes, double dt, int dataType)=0

◆ coupling_adapter_requires_reading_checkpoint()

int coupling_adapter_requires_reading_checkpoint ( void * adapter)

Definition at line 155 of file coupling_c_interface.cpp.

155 {
156 CouplingAdapter* ca = static_cast<CouplingAdapter*>(adapter);
157 return ca->requiresReadingCheckpoint() ? 1 : 0;
158}
virtual bool requiresReadingCheckpoint() const
Definition coupling.h:53

◆ coupling_adapter_requires_writing_checkpoint()

int coupling_adapter_requires_writing_checkpoint ( void * adapter)

Definition at line 145 of file coupling_c_interface.cpp.

145 {
146 CouplingAdapter* ca = static_cast<CouplingAdapter*>(adapter);
147 return ca->requiresWritingCheckpoint() ? 1 : 0;
148}
virtual bool requiresWritingCheckpoint() const
Definition coupling.h:52

◆ coupling_adapter_set_mesh()

void coupling_adapter_set_mesh ( void * adapter,
const int * elem_node_offsets,
const int * elem_node_indices,
int num_elements )

Definition at line 213 of file coupling_c_interface.cpp.

213 {
214 CouplingAdapter* ca = static_cast<CouplingAdapter*>(adapter);
215
216 // Try to cast to CwipiCouplingAdapter to call setMesh
217#ifdef WITH_CWIPI
218 CwipiCouplingAdapter* cwipi_adapter = dynamic_cast<CwipiCouplingAdapter*>(ca);
219 if (cwipi_adapter) {
220 cwipi_adapter->setMesh(elem_node_offsets, elem_node_indices, num_elements);
221 return;
222 }
223#endif
224
225}

◆ coupling_adapter_set_nodes()

void coupling_adapter_set_nodes ( void * adapter,
const int * nodeIds,
int numNodes )

Definition at line 70 of file coupling_c_interface.cpp.

70 {
71 CouplingAdapter* ca = static_cast<CouplingAdapter*>(adapter);
72 std::vector<int> nodes(nodeIds, nodeIds + numNodes);
73 ca->setNodes(nodes);
74}
virtual void setNodes(const std::vector< int > &nodeIds)=0

◆ coupling_adapter_write_data()

void coupling_adapter_write_data ( void * adapter,
const double * values,
int totalNodes,
double dt,
int dataType )

Definition at line 103 of file coupling_c_interface.cpp.

104 {
105 CouplingAdapter* ca = static_cast<CouplingAdapter*>(adapter);
106 ca->writeData(values, totalNodes, dt, dataType);
107}
virtual void writeData(const double *values, int totalNodes, double dt, int dataType)=0