LifeV
BCFunctionUDepRobin Class Reference

BCFunctionUDepRobin - class that holds the function used for prescribing Robin boundary conditions. More...

#include <BCFunction.hpp>

+ Inheritance diagram for BCFunctionUDepRobin:
+ Collaboration diagram for BCFunctionUDepRobin:

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

BCFunctionUDepRobinoperator= (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_TypeFunctions_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< BCFunctionUDepBaseBCFunctionUDepBasePtr_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 BCFunctionUDepBaseoperator= (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_TypeFunction () const
 Get the function. More...
 
- Protected Attributes inherited from BCFunctionUDepBase
function_Type M_userDefinedFunction
 user defined function More...
 

Detailed Description

BCFunctionUDepRobin - class that holds the function used for prescribing Robin boundary conditions.

Author
Miguel Fernandez

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.

Member Typedef Documentation

◆ function_Type

Constructor & Destructor Documentation

◆ BCFunctionUDepRobin() [1/3]

BCFunctionUDepRobin ( )
inline

Empty constructor.

The user must supply the functions by calling setFunction_Robin(..)

Definition at line 545 of file BCFunction.hpp.

◆ BCFunctionUDepRobin() [2/3]

BCFunctionUDepRobin ( const function_Type rightHandSideFunction,
const function_Type massTermFunction 
)

Constructing from user defined functions.

Parameters
rightHandSideFunctionThe user defined function for f
massTermFunctionThe user defined function for coeff

Definition at line 213 of file BCFunction.cpp.

◆ BCFunctionUDepRobin() [3/3]

BCFunctionUDepRobin ( const BCFunctionUDepRobin bcFunctionUDepRobin)

Copy Constructor.

Parameters
bcFunctionUDepRobinThe BCFunctionUDepRobin object

Definition at line 206 of file BCFunction.cpp.

+ Here is the caller graph for this function:

◆ ~BCFunctionUDepRobin()

virtual ~BCFunctionUDepRobin ( )
inlinevirtual

Destructor.

Definition at line 563 of file BCFunction.hpp.

Member Function Documentation

◆ operator=()

BCFunctionUDepRobin & operator= ( const BCFunctionUDepRobin bcFunctionUDepRobin)

Assignment operator.

Parameters
bcFunctionUDepRobinThe BCFunctionUDepRobin object
Returns
Reference to a new BCFunctionUDepRobin object which is a copy of bcFunctionMixt

Definition at line 227 of file BCFunction.cpp.

◆ clone()

BCFunctionUDepBase::BCFunctionUDepBasePtr_Type clone ( ) const
inlinevirtual

Clone the current object.

Returns
Pointer to the cloned object

Reimplemented from BCFunctionUDepBase.

Definition at line 592 of file BCFunction.hpp.

◆ coef()

Real coef ( const Real t,
const Real x,
const Real y,
const Real z,
const ID component,
const Real feVectorEvaluatedInThisPoint 
) const
inline

evaluate the user defined function M_robinBoundaryMassCoeffFunction

Parameters
tTime
xCoordinate
yCoordinate
zCoordinate
componentcomponent of the vector function
feVectorEvaluatedInThisPointThe FE vector evaluated in the point (x, y, z) at time t.
Returns
selected component of the user defined for coeff evaluated in (t,x,y,z)

Definition at line 608 of file BCFunction.hpp.

◆ setFunctions_Robin()

void setFunctions_Robin ( const function_Type rightHandSideFunction,
const function_Type massCoeffFunction 
)

Set the functions.

Parameters
rightHandSideFunctionThe user defined function for f
massTermFunctionThe user defined function for coeff

Definition at line 243 of file BCFunction.cpp.

◆ Functions_Robin()

const function_Type& Functions_Robin ( ) const
inline

Get the user defined function M_robinBoundaryMassCoeffFunction.

Returns
user defined function for coeff

Definition at line 640 of file BCFunction.hpp.

Field Documentation

◆ M_robinBoundaryMassCoeffFunction

function_Type M_robinBoundaryMassCoeffFunction
private

user defined function for the boundary mass coefficient in Robin conditions

Definition at line 649 of file BCFunction.hpp.


The documentation for this class was generated from the following files: