ExaDG
Loading...
Searching...
No Matches
Public Member Functions | Static Public Attributes | List of all members
ExaDG::preCICE::ExaDGCoupling< dim, data_dim, VectorizedArrayType > Class Template Reference

#include <exadg_coupling.h>

Inheritance diagram for ExaDG::preCICE::ExaDGCoupling< dim, data_dim, VectorizedArrayType >:
ExaDG::preCICE::CouplingBase< dim, data_dim, VectorizedArrayType >

Public Member Functions

 ExaDGCoupling (dealii::MatrixFree< dim, double, VectorizedArrayType > const &data, std::string const mesh_name, std::shared_ptr< ContainerInterfaceData< rank, dim, double > > interface_data_, dealii::types::boundary_id const surface_id=dealii::numbers::invalid_unsigned_int)
 
virtual void define_coupling_mesh () override
 define_mesh_vertices Define a vertex coupling mesh for preCICE coupling the classical preCICE way
 
virtual void write_data (dealii::LinearAlgebra::distributed::Vector< double > const &data_vector, std::string const &data_name) override
 write_data
 
virtual void read_block_data (std::string const &data_name) const override
 
- Public Member Functions inherited from ExaDG::preCICE::CouplingBase< dim, data_dim, VectorizedArrayType >
 CouplingBase (dealii::MatrixFree< dim, double, VectorizedArrayType > const &data, std::string const mesh_name, dealii::types::boundary_id const surface_id)
 
virtual void process_coupling_mesh ()
 process_coupling_mesh (optional) Handle post-preCICE-initialization steps, e.g. do computations on received partitions or create communication patterns. This function just returns in the base class implementation.
 
void add_read_data (std::string const &read_data_name)
 Queries data IDs from preCICE for the given read data name.
 
void add_write_data (std::string const &write_data_name)
 Queries data IDs from preCICE for the given write data name.
 
void set_write_data_type (WriteDataType write_data_specification)
 Set the WriteDataType in this class which determines the location of the write data (e.g. DoFs)
 

Static Public Attributes

static unsigned int const rank = n_components_to_rank<data_dim, dim>()
 

Additional Inherited Members

- Public Types inherited from ExaDG::preCICE::CouplingBase< dim, data_dim, VectorizedArrayType >
using FEFaceIntegrator = FaceIntegrator<dim, data_dim, double, VectorizedArrayType>
 Alias for the face integrator.
 
using value_type = typename FEFaceIntegrator::value_type
 
- Protected Member Functions inherited from ExaDG::preCICE::CouplingBase< dim, data_dim, VectorizedArrayType >
void print_info (bool const reader, unsigned int const local_size) const
 Print information of the current setup.
 
- Protected Attributes inherited from ExaDG::preCICE::CouplingBase< dim, data_dim, VectorizedArrayType >
dealii::MatrixFree< dim, double, VectorizedArrayType > const & matrix_free
 The dealii::MatrixFree object (preCICE can only handle double precision)
 
std::string const mesh_name
 public precice solverinterface
 
int mesh_id
 
std::map< std::string, int > read_data_map
 
std::map< std::string, int > write_data_map
 
dealii::types::boundary_id const dealii_boundary_surface_id
 
WriteDataType write_data_type
 

Detailed Description

template<int dim, int data_dim, typename VectorizedArrayType>
class ExaDG::preCICE::ExaDGCoupling< dim, data_dim, VectorizedArrayType >

Derived class of the CouplingBase: shallow wrapper around the preCICE API functions, where the participant defines a vector of points and the interface class here handles the data exchange with preCICE, i.e., defining a coupling mesh and passing data to preCICE.

Member Function Documentation

◆ define_coupling_mesh()

template<int dim, int data_dim, typename VectorizedArrayType >
void ExaDG::preCICE::ExaDGCoupling< dim, data_dim, VectorizedArrayType >::define_coupling_mesh ( )
overridevirtual

define_mesh_vertices Define a vertex coupling mesh for preCICE coupling the classical preCICE way

Implements ExaDG::preCICE::CouplingBase< dim, data_dim, VectorizedArrayType >.

◆ read_block_data()

template<int dim, int data_dim, typename VectorizedArrayType >
void ExaDG::preCICE::ExaDGCoupling< dim, data_dim, VectorizedArrayType >::read_block_data ( std::string const & data_name) const
overridevirtual

◆ write_data()

template<int dim, int data_dim, typename VectorizedArrayType >
void ExaDG::preCICE::ExaDGCoupling< dim, data_dim, VectorizedArrayType >::write_data ( dealii::LinearAlgebra::distributed::Vector< double > const & data_vector,
std::string const & data_name )
overridevirtual

write_data

Parameters
[in]data_vectorThe data to be passed to preCICE (absolute displacement for FSI). Note that the data_vector needs to contain valid ghost values for parallel runs, i.e. update_ghost_values must be calles before

Implements ExaDG::preCICE::CouplingBase< dim, data_dim, VectorizedArrayType >.


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