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

#include <quad_coupling.h>

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

Public Types

using FEFaceIntegrator
 Alias as defined in the base class.
 
using value_type = typename CouplingBase<dim, data_dim, VectorizedArrayType>::value_type
 
- 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
 

Public Member Functions

 QuadCoupling (dealii::MatrixFree< dim, double, VectorizedArrayType > const &data, std::string const mesh_name, dealii::types::boundary_id const surface_id, int const mf_dof_index, int const mf_quad_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

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

Derived class of the CouplingBase: the classical coupling approach, where each participant defines an surface based on the locally owned triangulation. Here, quadrature 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 Typedef Documentation

◆ FEFaceIntegrator

template<int dim, int data_dim, typename VectorizedArrayType >
using ExaDG::preCICE::QuadCoupling< dim, data_dim, VectorizedArrayType >::FEFaceIntegrator
Initial value:
FaceIntegrator< dim, data_dim, double, VectorizedArrayType > FEFaceIntegrator
Alias for the face integrator.
Definition coupling_base.h:78

Alias as defined in the base class.

Member Function Documentation

◆ define_coupling_mesh()

template<int dim, int data_dim, typename VectorizedArrayType >
void ExaDG::preCICE::QuadCoupling< 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::QuadCoupling< 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). Note that the data_vector needs to contain valid ghost values for parallel runs, i.e. update_ghost_values must be calles before. In addition, constraints need to be applied manually to the data before passing it into this function

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


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