MaMiCo
1.2
Toggle main menu visibility
Loading...
Searching...
No Matches
coupling
interface
MacroscopicSolverInterface.h
1
// Copyright (C) 2015 Technische Universitaet Muenchen
2
// This file is part of the Mamico project. For conditions of distribution
3
// and use, please see the copyright notice in Mamico's main folder, or at
4
// www5.in.tum.de/mamico
5
#ifndef _MOLECULARDYNAMICS_COUPLING_INTERFACE_MACROSCOPICSOLVERINTERFACE_H_
6
#define _MOLECULARDYNAMICS_COUPLING_INTERFACE_MACROSCOPICSOLVERINTERFACE_H_
7
8
#include "coupling/CouplingMDDefinitions.h"
9
#include "tarch/la/Vector.h"
10
#include <vector>
11
12
namespace
coupling
{
13
namespace
interface {
14
template
<
unsigned
int
dim>
class
MacroscopicSolverInterface
;
15
}
16
}
// namespace coupling
17
23
template
<
unsigned
int
dim>
class
coupling::interface::MacroscopicSolverInterface
{
24
25
public
:
27
MacroscopicSolverInterface
() {}
29
virtual
~MacroscopicSolverInterface
() {}
30
31
/* This function defines an offset of cells which is considered to be the outer region.
32
* It replaces the legacy functions 'receiveMacroscopicQuantityFromMDSolver' and 'sendMacroscopicQuantityToMDSolver'
33
* from older versions of MaMiCo. Data are sent to MD solver for cells that are not in the ghost layer
34
* and not part of the inner region. Data needs so be send from micro to macro solver for all inner cells.
35
* @return number of cells in outer region per direction at each boundary, e.g. 3
36
*/
37
virtual
unsigned
int
getOuterRegion() = 0;
38
55
virtual
std::vector<unsigned int>
getRanks
(I01 idx) = 0;
56
67
virtual
std::vector<unsigned int>
getSourceRanks
(I01 idx) {
return
getRanks
(idx); }
68
78
virtual
std::vector<unsigned int>
getTargetRanks
(I01 idx) {
return
getRanks
(idx); }
79
};
80
#endif
// _MOLECULARDYNAMICS_COUPLING_INTERFACE_MACROSCOPICSOLVERINTERFACE_H_
coupling::interface::MacroscopicSolverInterface
interface for the macroscopic, i.e. continuum solver
Definition
MacroscopicSolverInterface.h:23
coupling::interface::MacroscopicSolverInterface::getSourceRanks
virtual std::vector< unsigned int > getSourceRanks(I01 idx)
Definition
MacroscopicSolverInterface.h:67
coupling::interface::MacroscopicSolverInterface::getTargetRanks
virtual std::vector< unsigned int > getTargetRanks(I01 idx)
Definition
MacroscopicSolverInterface.h:78
coupling::interface::MacroscopicSolverInterface::getRanks
virtual std::vector< unsigned int > getRanks(I01 idx)=0
coupling::interface::MacroscopicSolverInterface::~MacroscopicSolverInterface
virtual ~MacroscopicSolverInterface()
Definition
MacroscopicSolverInterface.h:29
coupling::interface::MacroscopicSolverInterface::MacroscopicSolverInterface
MacroscopicSolverInterface()
Definition
MacroscopicSolverInterface.h:27
coupling
everything necessary for coupling operations, is defined in here
Definition
AdditiveMomentumInsertion.h:15
Generated by
1.17.0