LifeV
|
BCVectorInterface - class that holds the FE vectors used for prescribing boundary conditions on Interfaces. More...
#include <BCVector.hpp>
Public Member Functions | |
void | setup (const vector_Type &rightHandSideVector, UInt numberOfTotalDof, const dofInterfacePtr_Type &interfaceDofPtr, UInt type=0) |
setup after default constructor More... | |
void | setRhsVector (const vector_Type &rightHandSideVector, UInt numberOfTotalDof, const dofInterfacePtr_Type &interfaceDofPtr, UInt type=0) |
set the BC vector (after default construction) More... | |
Public Member Functions inherited from BCVectorBase | |
BCVectorBase () | |
Empty Constructor. More... | |
BCVectorBase (const vector_Type &rightHandSideVector, const UInt numberOfTotalDof, UInt type=0) | |
Constructor. More... | |
BCVectorBase (const BCVectorBase &bcVectorBase) | |
Copy Constructor. More... | |
virtual | ~BCVectorBase () |
Destructor. More... | |
virtual BCVectorBase & | operator= (BCVectorBase const &) |
Assignment operator. More... | |
const vector_Type & | rhsVector () const |
Return the underlying data structure for the RHS vector. More... | |
UInt | nbTotalDOF () const |
Return the number of total DOF. More... | |
UInt | type () const |
Return the type of conditions (see BCVector class description) More... | |
bool | isFinalized () const |
determine whether the BCVector is updated More... | |
bool | isRobinCoeffAVector () const |
determine whether the boundary mass coefficient for Robin bc is a Vector More... | |
bool | isBetaCoeffAVector () const |
Real | robinCoeff () const |
Return the value of the boundary mass coefficient of Robin conditions. More... | |
Real | resistanceCoeff () const |
Return the value of the resistance coefficient. More... | |
Real | betaCoeff () const |
Return the value of the beta coefficient. More... | |
void | setRobinCoeff (const Real &robinBoundaryMassCoeff) |
set the boundary mass coefficient of Robin bc More... | |
void | setResistanceCoeff (const Real &resistanceCoeff) |
set the Resistance coefficient More... | |
void | setBetaCoeff (const Real &betaCoeff) |
set the Beta coefficient FE vector More... | |
void | setRobinCoeffVector (const vector_Type &robinBoundaryMassCoeffVector) |
set the boundary mass coefficient FE vector for Robin boundary conditions More... | |
void | setBetaCoeffVector (const vector_Type &betaCoeffVector) |
set the beta coefficient FE vector More... | |
void | setRhsVector (const vector_Type &righHandSideVector, UInt numberOfTotalDOF, UInt type=0) |
set the right hand side FE vector More... | |
Protected Attributes | |
dofInterfacePtr_Type | M_interfaceDofPtr |
DOFInterface object holding the connections between the interface dofs. More... | |
Protected Attributes inherited from BCVectorBase | |
vectorConstPtr_Type | M_rightHandSideVectorPtr |
The pointer to FE vector for the right hand side part of the equation. More... | |
vectorConstPtr_Type | M_robinBoundaryMassCoeffVectorPtr |
The pointer to FE Vector holding the robin boundary Mass coefficients. More... | |
vectorConstPtr_Type | M_betaCoeffVectorPtr |
UInt | M_numberOfTotalDof |
Number of total dof in the vector of data. More... | |
Real | M_robinBoundaryMassCoeff |
Coefficient for boundary mass term in Robin conditions. More... | |
Real | M_resistanceCoeff |
Coefficient for Resistance coefficient. More... | |
Real | M_betaCoeff |
Coefficient for the beta coefficient. More... | |
bool | M_isRobinBdMassCoeffAVector |
boolean determining whether the boundary mass coefficient is a FE Vector More... | |
bool | M_isBetaCoeffAVector |
boolean determining whether the boundary mass coefficient is a FE Vector More... | |
UInt | M_type |
Type of boundary condition; see the BCBase class description. More... | |
bool | M_finalized |
true when the BCVector is updated More... | |
Public Types | |
typedef BCVectorBase | bcVectorBase_Type |
typedef std::shared_ptr< DOFInterface > | dofInterfacePtr_Type |
typedef BCVectorBase::vector_Type | vector_Type |
typedef BCVectorBase::vectorConstPtr_Type | vectorConstPtr_Type |
Constructors and Destructor | |
BCVectorInterface () | |
Default Constructor. More... | |
BCVectorInterface (const vector_Type &rightHandSideVector, UInt numberOfTotalDof, const dofInterfacePtr_Type &interfaceDofPtr, UInt type=0) | |
Constructor. More... | |
BCVectorInterface (const BCVectorInterface &bcVectorInterface) | |
Copy Constructor. More... | |
virtual | ~BCVectorInterface () |
Destructor. More... | |
Operators | |
BCVectorInterface & | operator= (const BCVectorInterface &bcVectorInterface) |
Assignment operator for BCVectorInterface. More... | |
Real | operator() (const ID &globalDofId, const ID &component) const |
Return the value of the selected component of rightHandSideVector at position globalDofID. More... | |
Methods | |
BCVectorBase::BCVectorBasePtr_Type | clone () const |
Clone the current object. More... | |
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. More... | |
Real | betaCoeffVector (const ID &globalDofId, const ID &component) const |
Return the value of the selected component of the beta coefficient vector at position dofID. More... | |
std::ostream & | showMe (bool verbose=false, std::ostream &out=std::cout) const |
showMe More... | |
DOFInterface const & | dofInterface () const |
Return reference to DOFInterface object, the container of connection of DOFs. More... | |
Additional Inherited Members | |
Public Types inherited from BCVectorBase | |
typedef VectorEpetra | vector_Type |
typedef vector_Type const * | vectorConstPtr_Type |
typedef std::shared_ptr< BCVectorBase > | BCVectorBasePtr_Type |
BCVectorInterface - class that holds the FE vectors used for prescribing boundary conditions on Interfaces.
This class holds the FE vectors used for prescribing boundary conditions. It is derived from the class BCVectorBase The FE vectors given by the user must have the dimension of the total DOFs, although only DOFs on the boundary are considered.
In the case of Essential boundary condition, we want to prescribe u = v on part of the boundary ( u is the solution, v the given FE vector). In the case of Natural boundary condition, depending on the type, we want to add to the right hand side of the equation one of the following terms:
type 0: v, in this case v is a quantity integrated on the boundary (i.e. a residual)
type 1: ( v, n phi)_bd with v scalar and phi vector
type 2: ( v n, phi)_bd v vector, phi scalar
type 3: ( v, phi)_bd v and phi can be both vectors or scalars (not yet implemented)
here ( . , . )_bd denote the L2 inner product on the boundary, n is the normal, v the given FE vector
This class holds data structure also for Robin, Resistance and Flux boundary conditions.
Since the FE vector v is used in the right hand side of the equation, the associate code variable is M_rightHandSideVector
(VectorEpetra)
In Robin boundary conditions we add to the matrix the term:
(coeff u, phi)_bd
and to the right hand side of the equation the term:
@ ( v, phi)_bd
The code variables associated with coeff are M_boundaryMassCoeff and M_boundaryMassCoeffVector, the former being a scalar (Real), the latter an FE Vector (VectorEpetra)
This is the base class for other BCVectorInterface class. Inheritance is used to hold specific boundary condition data.
Definition at line 475 of file BCVector.hpp.
typedef BCVectorBase bcVectorBase_Type |
Definition at line 485 of file BCVector.hpp.
typedef std::shared_ptr<DOFInterface> dofInterfacePtr_Type |
Definition at line 486 of file BCVector.hpp.
typedef BCVectorBase::vector_Type vector_Type |
Definition at line 487 of file BCVector.hpp.
Definition at line 488 of file BCVector.hpp.
|
inline |
BCVectorInterface | ( | const vector_Type & | rightHandSideVector, |
UInt | numberOfTotalDof, | ||
const dofInterfacePtr_Type & | interfaceDofPtr, | ||
UInt | type = 0 |
||
) |
Constructor.
rightHandSideVector | The given Finite Element vector holding data to prescribe on boundary |
numberOfTotalDof | Number of total dof in the vector of data |
interfaceDofPtr | The pointer to the container of connections between the DOFs on two matching meshes |
type | The type can assume the following values (0, 1, 2); see BCVector class description for their meaning |
Definition at line 259 of file BCVector.cpp.
BCVectorInterface | ( | const BCVectorInterface & | bcVectorInterface | ) |
Copy Constructor.
Definition at line 269 of file BCVector.cpp.
|
inlinevirtual |
Destructor.
Definition at line 518 of file BCVector.hpp.
BCVectorInterface & operator= | ( | const BCVectorInterface & | bcVectorInterface | ) |
Assignment operator for BCVectorInterface.
Definition at line 279 of file BCVector.cpp.
Return the value of the selected component of rightHandSideVector at position globalDofID.
globalDofId | The global DOF id |
component | The vector component |
Reimplemented from BCVectorBase.
Definition at line 292 of file BCVector.cpp.
void setup | ( | const vector_Type & | rightHandSideVector, |
UInt | numberOfTotalDof, | ||
const dofInterfacePtr_Type & | interfaceDofPtr, | ||
UInt | type = 0 |
||
) |
setup after default constructor
rightHandSideVector | The given Finite Element vector holding data to prescribe on boundary |
numberOfTotalDof | Number of total dof in the vector of data |
interfaceDofPtr | The pointer to the container of connections between the DOFs on two matching meshes |
type | The type can assume the following values (0, 1, 2); see BCVectorInterface class description for their meaning |
Definition at line 302 of file BCVector.cpp.
void setRhsVector | ( | const vector_Type & | rightHandSideVector, |
UInt | numberOfTotalDof, | ||
const dofInterfacePtr_Type & | interfaceDofPtr, | ||
UInt | type = 0 |
||
) |
set the BC vector (after default construction)
rightHandSideVector | The given Finite Element vector holding data to prescribe on boundary |
numberOfTotalDof | Number of total dof in the vector of data |
interfaceDofPtr | The pointer to the container of connections between the DOFs on two matching meshes |
type | The type can assume the following values (0, 1, 2); see BCVectorInterface class description for their meaning |
Definition at line 318 of file BCVector.cpp.
|
inlinevirtual |
Clone the current object.
Reimplemented from BCVectorBase.
Definition at line 573 of file BCVector.hpp.
Return the value of the selected component of the boundary mass coefficient vector at position dofID.
globalDofId | The global DOF id |
component | The vector component |
Reimplemented from BCVectorBase.
Definition at line 330 of file BCVector.cpp.
Return the value of the selected component of the beta coefficient vector at position dofID.
globalDofId | The global DOF id |
component | The vector component |
Reimplemented from BCVectorBase.
Definition at line 338 of file BCVector.cpp.
|
virtual |
showMe
verbose | The verbosity |
out | The output stream (default: cout) |
Reimplemented from BCVectorBase.
Definition at line 346 of file BCVector.cpp.
|
inline |
Return reference to DOFInterface object, the container of connection of DOFs.
Definition at line 604 of file BCVector.hpp.
|
protected |
DOFInterface object holding the connections between the interface dofs.
Definition at line 614 of file BCVector.hpp.