LifeV
|
MonolithicRobinInterface - Class for the Robin coupling of etherogeneaous problems. More...
#include <MonolithicRobinInterface.hpp>
Constructor & Destructor | |
MonolithicRobinInterface () | |
~MonolithicRobinInterface () | |
Public Methods | |
void | setRobinData (const GetPot &data, const std::string §ion) |
method to set the data relative to the Robin coupling from GetPot More... | |
void | setRobinMatrix (MonolithicBlock::matrixPtr_Type &robinMatrix) |
method to initialize the pointer to the robin coupling part of the matrix More... | |
void | setRobinRhs (MonolithicBlock::vectorPtr_Type &vec) |
method to initialize the pointer to the robin RHS More... | |
void | applyRobinCoupling (std::vector< MonolithicBlock::matrixPtr_Type > blockVector) |
method to apply the robin coupling to the blocks. More... | |
Protected Methods | |
void | applyRobinCoupling (MonolithicBlock::matrixPtr_Type firstBlock) |
Protected Members | |
Real | M_alphaf |
Real | M_alphas |
MonolithicBlock::matrixPtr_Type | M_robinCoupling |
MonolithicBlock::matrixPtr_Type | M_robinPart |
MonolithicBlock::vectorPtr_Type | M_rhsVec |
MonolithicRobinInterface - Class for the Robin coupling of etherogeneaous problems.
This class is a base interface for the monolithic Robin coupling of 2 problems. A coupled Dirichlet-Neumann problem can be transformed into a Robin one by inheriting from this class. The allocation of the memory for M_robinCoupling has to be done outside.
The Robin conditions are obtained algebraically through linear combination of the lines corresponding to the Dirichlet and Neumann coupling conditions already present in the matrix. This is achieved by multiplying the matrix times a restriction matrix (M_robinCoupling) which performs the restriction to the interface and the linear combination. Then the result is summed to the original matrix. The update of the rhs vector must be done outside this class.
Definition at line 64 of file MonolithicRobinInterface.hpp.
|
inline |
Definition at line 72 of file MonolithicRobinInterface.hpp.
|
inline |
Definition at line 80 of file MonolithicRobinInterface.hpp.
void setRobinData | ( | const GetPot & | data, |
const std::string & | section | ||
) |
method to set the data relative to the Robin coupling from GetPot
data | data file |
section | the section (usually /robin) in the GetPot file where the parameters are specified |
Definition at line 37 of file MonolithicRobinInterface.cpp.
|
inline |
method to initialize the pointer to the robin coupling part of the matrix
data | data file |
section | the section (usually /robin) in the GetPot file where the parameters are specified |
Definition at line 100 of file MonolithicRobinInterface.hpp.
|
inline |
method to initialize the pointer to the robin RHS
vec | the rhs vector |
Definition at line 109 of file MonolithicRobinInterface.hpp.
void applyRobinCoupling | ( | std::vector< MonolithicBlock::matrixPtr_Type > | blockVector | ) |
method to apply the robin coupling to the blocks.
Note that the coupling matrix M_robinCoupling must be set before calling this.
blockVector | the vector of blocks to couple. |
Definition at line 43 of file MonolithicRobinInterface.cpp.
|
protected |
Definition at line 58 of file MonolithicRobinInterface.cpp.
|
protected |
Definition at line 137 of file MonolithicRobinInterface.hpp.
|
protected |
Definition at line 138 of file MonolithicRobinInterface.hpp.
|
protected |
Definition at line 139 of file MonolithicRobinInterface.hpp.
|
protected |
Definition at line 140 of file MonolithicRobinInterface.hpp.
|
protected |
Definition at line 141 of file MonolithicRobinInterface.hpp.