ExaDG
Loading...
Searching...
No Matches
ExaDG::preCICE::DoFCoupling< dim, data_dim, VectorizedArrayType > Class Template Reference

#include <dof_coupling.h>

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

Public Member Functions

 DoFCoupling (dealii::MatrixFree< dim, double, VectorizedArrayType > const &data, std::string const mesh_name, dealii::types::boundary_id const surface_id, int const mf_dof_index)
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 Evaluates the given
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.
virtual void read_block_data (std::string const &data_name) const
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).

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::DoFCoupling< dim, data_dim, VectorizedArrayType >

Derived class of the CouplingBase: the classical coupling approach, where each participant defines an interface based on the locally owned triangulation. Here, dof support points are used for reading and writing. data_dim is equivalent to n_components, indicating the type of your data in the preCICE sense (Vector vs Scalar)

Member Function Documentation

◆ define_coupling_mesh()

template<int dim, int data_dim, typename VectorizedArrayType>
void ExaDG::preCICE::DoFCoupling< 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 >.

◆ write_data()

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

write_data Evaluates the given

Parameters
dataat the quadrature_points of the defined mesh and passes them to preCICE
[in]data_vectorThe data to be passed to preCICE (absolute displacement for FSI)

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


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