LifeV
|
BCFunctionUDepRobin - class that holds the function used for prescribing Robin boundary conditions. More...
#include <BCFunction.hpp>
Private Attributes | |
function_Type | M_robinBoundaryMassCoeffFunction |
user defined function for the boundary mass coefficient in Robin conditions More... | |
Public Types | |
typedef BCFunctionUDepBase::function_Type | function_Type |
Constructors & Destructor | |
BCFunctionUDepRobin () | |
Empty constructor. More... | |
BCFunctionUDepRobin (const function_Type &rightHandSideFunction, const function_Type &massTermFunction) | |
Constructing from user defined functions. More... | |
BCFunctionUDepRobin (const BCFunctionUDepRobin &bcFunctionUDepRobin) | |
Copy Constructor. More... | |
virtual | ~BCFunctionUDepRobin () |
Destructor. More... | |
Operators | |
BCFunctionUDepRobin & | operator= (const BCFunctionUDepRobin &bcFunctionUDepRobin) |
Assignment operator. More... | |
Methods | |
BCFunctionUDepBase::BCFunctionUDepBasePtr_Type | clone () const |
Clone the current object. More... | |
Real | coef (const Real &t, const Real &x, const Real &y, const Real &z, const ID &component, const Real &feVectorEvaluatedInThisPoint) const |
evaluate the user defined function M_robinBoundaryMassCoeffFunction More... | |
Set Methods | |
void | setFunctions_Robin (const function_Type &rightHandSideFunction, const function_Type &massCoeffFunction) |
Set the functions. More... | |
Get Methods | |
const function_Type & | Functions_Robin () const |
Get the user defined function M_robinBoundaryMassCoeffFunction. More... | |
Additional Inherited Members | |
Public Types inherited from BCFunctionUDepBase | |
typedef std::function< Real(const Real &, const Real &, const Real &, const Real &, const ID &, const Real &) > | function_Type |
typedef std::shared_ptr< BCFunctionUDepBase > | BCFunctionUDepBasePtr_Type |
Public Member Functions inherited from BCFunctionUDepBase | |
BCFunctionUDepBase () | |
Empty Constructor. More... | |
BCFunctionUDepBase (const function_Type &userDefinedFunction) | |
Constructor for a user defined function. More... | |
BCFunctionUDepBase (const BCFunctionUDepBase &bcFunctionUDepBase) | |
Copy Constructor. More... | |
virtual | ~BCFunctionUDepBase () |
Destructor. More... | |
virtual BCFunctionUDepBase & | operator= (const BCFunctionUDepBase &bcFunctionUDepBase) |
Assignment Operator. More... | |
Real | operator() (const Real &t, const Real &x, const Real &y, const Real &z, const ID &component, const Real &feVectorEvaluatedInThisPoint) const |
Overloading function operator by calling M_userDefinedFunction. More... | |
void | setFunction (const function_Type &userDefinedFunction) |
Set the user defined function. More... | |
const function_Type & | Function () const |
Get the function. More... | |
Protected Attributes inherited from BCFunctionUDepBase | |
function_Type | M_userDefinedFunction |
user defined function More... | |
BCFunctionUDepRobin - class that holds the function used for prescribing Robin boundary conditions.
This class holds the functions used for prescribing Robin boundary conditions in the case in which the function depend on a FE vector (usually the solution at the previous iteration). This class is derived by BCFunctionUDepBase class
In order to prescribe Robin boundary condition we want to add to the system matrix the boundary mass term
(coeff u, phi)_bd
and to add to the right hand side the term
(f, phi)_bd
where u is the solution, phi the test function and ( , )_bd the L2 inner product on the boundary
Functions f and coeff are set using the correct constructor or using setFunctionRobin(f, coeff).
To get the function f use getFunction()
, to evaluate it use the operator()
.
To get the function coeff use getFunction_Robin()
, to evaluate it use the method coef
(...).
Function f and coeff have the following signature:
Real f(const Real& t, const Real& x, const Real& y, const Real& z, const ID& component, const Real& feVectorEvaluatedInThisPoint)
Definition at line 526 of file BCFunction.hpp.
Definition at line 533 of file BCFunction.hpp.
|
inline |
Empty constructor.
The user must supply the functions by calling setFunction_Robin(..)
Definition at line 545 of file BCFunction.hpp.
BCFunctionUDepRobin | ( | const function_Type & | rightHandSideFunction, |
const function_Type & | massTermFunction | ||
) |
Constructing from user defined functions.
rightHandSideFunction | The user defined function for f |
massTermFunction | The user defined function for coeff |
Definition at line 213 of file BCFunction.cpp.
BCFunctionUDepRobin | ( | const BCFunctionUDepRobin & | bcFunctionUDepRobin | ) |
Copy Constructor.
bcFunctionUDepRobin | The BCFunctionUDepRobin object |
Definition at line 206 of file BCFunction.cpp.
|
inlinevirtual |
Destructor.
Definition at line 563 of file BCFunction.hpp.
BCFunctionUDepRobin & operator= | ( | const BCFunctionUDepRobin & | bcFunctionUDepRobin | ) |
Assignment operator.
bcFunctionUDepRobin | The BCFunctionUDepRobin object |
Definition at line 227 of file BCFunction.cpp.
|
inlinevirtual |
Clone the current object.
Reimplemented from BCFunctionUDepBase.
Definition at line 592 of file BCFunction.hpp.
|
inline |
evaluate the user defined function M_robinBoundaryMassCoeffFunction
t | Time |
x | Coordinate |
y | Coordinate |
z | Coordinate |
component | component of the vector function |
feVectorEvaluatedInThisPoint | The FE vector evaluated in the point (x, y, z) at time t. |
coeff
evaluated in (t,x,y,z) Definition at line 608 of file BCFunction.hpp.
void setFunctions_Robin | ( | const function_Type & | rightHandSideFunction, |
const function_Type & | massCoeffFunction | ||
) |
Set the functions.
rightHandSideFunction | The user defined function for f |
massTermFunction | The user defined function for coeff |
Definition at line 243 of file BCFunction.cpp.
|
inline |
Get the user defined function M_robinBoundaryMassCoeffFunction.
coeff
Definition at line 640 of file BCFunction.hpp.
|
private |
user defined function for the boundary mass coefficient in Robin conditions
Definition at line 649 of file BCFunction.hpp.