27 #include <lifev/core/LifeV.hpp> 29 #include <lifev/fsi/solver/MonolithicRobinInterface.hpp> 37 void MonolithicRobinInterface::setRobinData (
const GetPot& data,
const std::string& section)
39 M_alphas = data ( (section +
"/alphas").data(), 0.);
40 M_alphaf = data ( (section +
"/alphaf").data(), 0.);
43 void MonolithicRobinInterface::applyRobinCoupling ( std::vector<MonolithicBlock::matrixPtr_Type> blockVector)
45 M_robinPart.reset (
new MonolithicBlock::matrix_Type (M_robinCoupling->map(), 0) );
47 for ( UInt ITBlock = 0; ITBlock < blockVector.size(); ++ITBlock )
49 applyRobinCoupling ( blockVector[ITBlock] );
58 void MonolithicRobinInterface::applyRobinCoupling ( MonolithicBlock::matrixPtr_Type block)
60 MonolithicBlock::matrixPtr_Type tmpMatrix (
new MonolithicBlock::matrix_Type (M_robinCoupling->map(), 0) );
61 Int err = EpetraExt::MatrixMatrix::Multiply ( *M_robinCoupling->matrixPtr(),
false, *block->matrixPtr(),
false, *tmpMatrix->matrixPtr() );
62 ASSERT (!err,
"Error in multiplication");
63 tmpMatrix->globalAssemble();
64 *M_robinPart += *tmpMatrix;
int32_type Int
Generic integer data.
void updateInverseJacobian(const UInt &iQuadPt)