MaMiCo 1.2
Loading...
Searching...
No Matches
coupling::interface::MacroscopicSolverInterface< dim > Class Template Referenceabstract

interface for the macroscopic, i.e. continuum solver More...

#include <MacroscopicSolverInterface.h>

Inheritance diagram for coupling::interface::MacroscopicSolverInterface< dim >:

Public Member Functions

 MacroscopicSolverInterface ()
 
virtual ~MacroscopicSolverInterface ()
 
virtual unsigned int getOuterRegion ()=0
 
virtual std::vector< unsigned int > getRanks (I01 idx)=0
 
virtual std::vector< unsigned int > getSourceRanks (I01 idx)
 
virtual std::vector< unsigned int > getTargetRanks (I01 idx)
 

Detailed Description

template<unsigned int dim>
class coupling::interface::MacroscopicSolverInterface< dim >

interface for the macroscopic, i.e. continuum solver

This class provides

Template Parameters
dimNumber of dimensions; it can be 1, 2 or 3
Author
Philipp Neumann

Constructor & Destructor Documentation

◆ MacroscopicSolverInterface()

template<unsigned int dim>
coupling::interface::MacroscopicSolverInterface< dim >::MacroscopicSolverInterface ( )
inline

Costructor

◆ ~MacroscopicSolverInterface()

template<unsigned int dim>
virtual coupling::interface::MacroscopicSolverInterface< dim >::~MacroscopicSolverInterface ( )
inlinevirtual

Destructor

Member Function Documentation

◆ getRanks()

template<unsigned int dim>
virtual std::vector< unsigned int > coupling::interface::MacroscopicSolverInterface< dim >::getRanks ( I01 idx)
pure virtual

This function determines all the ranks on which the macroscopic solver holds data of the coupling cell at index idx. By default, this method is used for send/recv operations. However, there are situations where the target and source rank definitions (target rank=rank of macroscopic solver that shall receive data from MD; source rank=rank of macroscopic solver that shall send data to MD) may differ. For example, assume a domain decomposition using ghost layers. You may want to send data from cells inside a process-local domain and want to receive data in all copies of a given coupling cell (incl. ghost cells), but you may not be able to provide valid data on every process for each cell instance (e.g., if this cell is part of a ghost layer). For this case, the method getSourceRanks() and getTargetRanks() can be implemented accordingly.

Parameters
idx
Returns
all the ranks on which the macroscopic solver holds data of the coupling cell at index idx.

Implemented in coupling::solvers::CouetteSolverInterface< dim >, and coupling::solvers::LBCouetteSolverInterface.

◆ getSourceRanks()

template<unsigned int dim>
virtual std::vector< unsigned int > coupling::interface::MacroscopicSolverInterface< dim >::getSourceRanks ( I01 idx)
inlinevirtual

This function determines the source ranks for the global coupling cell at index idx. A "source rank" is defined as a rank of the macroscopic solver that provides a valid copy of the cell at idx to the coupling tool. You may have multiple source ranks; however, each source rank should hold a valid copy. Default: return all ranks that the cell at idx is associated to.

Parameters
idx
Returns
the source ranks for the global coupling cell at index idx.

Reimplemented in coupling::solvers::LBCouetteSolverInterface.

◆ getTargetRanks()

template<unsigned int dim>
virtual std::vector< unsigned int > coupling::interface::MacroscopicSolverInterface< dim >::getTargetRanks ( I01 idx)
inlinevirtual

This function determines the target ranks for the global coupling cell at index idx. A "target rank" is defined as a rank of the macroscopic solver that obtains a valid copy of the cell at idx from the coupling tool. You may have multiple target ranks. Default: return all ranks that the cell at idx is associated to.

Parameters
idx
Returns
the target ranks for the global coupling cell at index idx

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