40 #include <lifev/core/fem/BCVector.hpp> 103 if (
this != &bcVectorBase )
125 ASSERT_PRE (
this->isFinalized(),
"BC Vector should be finalized before being accessed." );
137 ASSERT_PRE (
this->isFinalized(),
"BC Vector should be finalized before being accessed." );
147 ASSERT_PRE (
this->isFinalized(),
"BC Vector should be finalized before being accessed." );
213 if (
this != &bcVector )
229 ASSERT_PRE (
this->isFinalized(),
"BC Vector should be finalized before being accessed." );
230 out <<
"+++++++++++++++++++++++++++++++" << std::endl;
231 out <<
"BC Vector Interface: " << std::endl;
232 out <<
"number of interface vector DOF : " <<
this->nbTotalDOF() << std::endl;
233 out <<
"==>Interface DOF :\n";
234 out <<
"+++++++++++++++++++++++++++++++" << std::endl;
281 if (
this != &bcVectorInterface )
294 ASSERT_PRE (
this->isFinalized(),
"BC Vector should be finalized before being accessed." );
295 return ( *M_rightHandSideVectorPtr ) ( component * M_numberOfTotalDof + M_interfaceDofPtr->getInterfaceDof ( globalDofId ) );
320 ASSERT_PRE ( !
this->isFinalized(),
"BC Vector cannot be set twice." );
332 ASSERT_PRE (
this->isFinalized(),
"BC Vector should be finalized before being accessed." );
333 return ( *M_robinBoundaryMassCoeffVectorPtr ) ( component * M_numberOfTotalDof + M_interfaceDofPtr->getInterfaceDof ( globalDofId ) );
340 ASSERT_PRE (
this->isFinalized(),
"BC Vector should be finalized before being accessed." );
341 return ( *M_betaCoeffVectorPtr ) ( component * M_numberOfTotalDof + M_interfaceDofPtr->getInterfaceDof ( globalDofId ) );
348 ASSERT_PRE (
this->isFinalized(),
"BC Vector should be finalized before being accessed." );
349 out <<
"+++++++++++++++++++++++++++++++" << std::endl;
350 out <<
"BC Vector Interface: " << std::endl;
351 out <<
"number of interface vector DOF : " << M_numberOfTotalDof << std::endl;
352 out <<
"==>Interface DOF :\n";
353 M_interfaceDofPtr->showMe ( verbose, out );
354 out <<
"+++++++++++++++++++++++++++++++" << std::endl;
VectorEpetra - The Epetra Vector format Wrapper.
BCVectorBase * createBCVector(BCVectorBase const *__bc)
std::ostream & showMe(bool verbose=false, std::ostream &out=std::cout) const
showMe
virtual Real robinCoeffVector(const ID &globalDofId, const ID &component) const
Return the value of the selected component of the boundary mass coefficient vector at position dofID...
vectorConstPtr_Type M_robinBoundaryMassCoeffVectorPtr
The pointer to FE Vector holding the robin boundary Mass coefficients.
BCVector(const vector_Type &rightHandSideVector, UInt const numberOfTotalDof, UInt type=0)
Constructor.
Real M_betaCoeff
Coefficient for the beta coefficient.
dofInterfacePtr_Type M_interfaceDofPtr
DOFInterface object holding the connections between the interface dofs.
bool M_finalized
true when the BCVector is updated
BCVectorBase bcVectorBase_Type
Real operator()(const ID &globalDofId, const ID &component) const
Return the value of the selected component of rightHandSideVector at position globalDofID.
std::ostream & showMe(bool verbose=false, std::ostream &out=std::cout) const
showMe
bool M_isRobinBdMassCoeffAVector
boolean determining whether the boundary mass coefficient is a FE Vector
void setup(const vector_Type &rightHandSideVector, UInt numberOfTotalDof, const dofInterfacePtr_Type &interfaceDofPtr, UInt type=0)
setup after default constructor
Real M_resistanceCoeff
Coefficient for Resistance coefficient.
UInt M_type
Type of boundary condition; see the BCBase class description.
void updateInverseJacobian(const UInt &iQuadPt)
BCVector & operator=(const BCVector &bcVector)
Assignment operator for BCVector.
vectorConstPtr_Type M_rightHandSideVectorPtr
The pointer to FE vector for the right hand side part of the equation.
Real betaCoeffVector(const ID &globalDofId, const ID &component) const
Return the value of the selected component of the beta coefficient vector at position dofID...
BCVectorBase - class that holds the FE vectors used for prescribing boundary conditions.
BCVectorInterface(const BCVectorInterface &bcVectorInterface)
Copy Constructor.
virtual BCVectorBase & operator=(BCVectorBase const &)
Assignment operator.
BCVectorInterface & operator=(const BCVectorInterface &bcVectorInterface)
Assignment operator for BCVectorInterface.
BCVectorInterface - class that holds the FE vectors used for prescribing boundary conditions on Inter...
BCVectorBase(const BCVectorBase &bcVectorBase)
Copy Constructor.
void setRhsVector(const vector_Type &rightHandSideVector, UInt numberOfTotalDof, const dofInterfacePtr_Type &interfaceDofPtr, UInt type=0)
set the BC vector (after default construction)
vectorConstPtr_Type M_betaCoeffVectorPtr
BCVectorInterface(const vector_Type &rightHandSideVector, UInt numberOfTotalDof, const dofInterfacePtr_Type &interfaceDofPtr, UInt type=0)
Constructor.
BCVectorBase()
Empty Constructor.
void setRhsVector(const vector_Type &righHandSideVector, UInt numberOfTotalDOF, UInt type=0)
set the right hand side FE vector
BCVectorBase bcVectorBase_Type
super class
void setRobinCoeffVector(const vector_Type &robinBoundaryMassCoeffVector)
set the boundary mass coefficient FE vector for Robin boundary conditions
Real M_robinBoundaryMassCoeff
Coefficient for boundary mass term in Robin conditions.
virtual Real operator()(const ID &globalDofId, const ID &component) const
Return the value of the selected component of rightHandSideVector at position globalDofID.
double Real
Generic real data.
Real robinCoeffVector(const ID &globalDofId, const ID &component) const
Return the value of the selected component of the boundary mass coefficient vector at position dofID...
BCVectorBase(const vector_Type &rightHandSideVector, const UInt numberOfTotalDof, UInt type=0)
Constructor.
void setBetaCoeffVector(const vector_Type &betaCoeffVector)
set the beta coefficient FE vector
BCVectorBase * createBCVectorInterface(BCVectorBase const *bcVectorBase)
std::shared_ptr< DOFInterface > dofInterfacePtr_Type
BCVector - class that holds the FE vectors used for prescribing boundary conditions.
UInt M_numberOfTotalDof
Number of total dof in the vector of data.
bool M_isBetaCoeffAVector
boolean determining whether the boundary mass coefficient is a FE Vector
virtual Real betaCoeffVector(const ID &globalDofId, const ID &component) const
Return the value of the selected component of the beta coefficient vector at position dofID...
const data_type & operator()(const UInt row) const
Access operators.
uint32_type UInt
generic unsigned integer (used mainly for addressing)
BCVector(const BCVector &bcVector)