Directories | |
| rad2rad | |
This directory implements the coupling infrastructure for OpenRadioss, enabling data exchange between OpenRadioss and external solvers via the preCICE and CWIPI libraries. The design supports both C++ and Fortran integration, with a separation between the C interface, C++ adapters, and Fortran bindings.
We are using preCICE v3 API, and CWIPI default (legacy) API for coupling. The architecture consists of:
| C Interface Function | preCICE Adapter Method | CWIPI Adapter Method | Underlying Library Calls |
|---|---|---|---|
| coupling_adapter_create | PreciceCouplingAdapter() | CwipiCouplingAdapter() | - |
| coupling_adapter_destroy | Destructor | Destructor | finalize(), cwipi_finalize() |
| coupling_adapter_configure | configure() | configure() | precice::Participant, cwipi_init |
| coupling_adapter_set_nodes | setNodes() | setNodes() | - |
| coupling_adapter_set_mesh | - | setMesh() | - |
| coupling_adapter_initialize | initialize() | initialize() | precice::Participant, cwipi_create_coupling, cwipi_define_mesh, cwipi_locate |
| coupling_adapter_write_data | writeData() | writeData() | precice::writeData, cwipi_issend |
| coupling_adapter_read_data | readData() | readData() | precice::readData, cwipi_irecv |
| coupling_adapter_advance | advance() | advance() | precice::advance, cwipi_locate |
| coupling_adapter_finalize | finalize() | finalize() | precice::finalize, cwipi_finalize |