LifeV
BCFunctionRobin Class Reference

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

#include <BCFunction.hpp>

+ Inheritance diagram for BCFunctionRobin:
+ Collaboration diagram for BCFunctionRobin:

Private Attributes

function_Type M_robinBoundaryMassCoeffFunction
 user defined function for the boundary mass coefficient in Robin conditions More...
 

Public Types

typedef BCFunctionBase::function_Type function_Type
 

Constructors & Destructor

 BCFunctionRobin ()
 Default constructor. More...
 
 BCFunctionRobin (const function_Type &rightHandSideFunction, const function_Type &massTermFunction)
 Constructing from user defined functions. More...
 
 BCFunctionRobin (const BCFunctionRobin &bcFunctionUDepRobin)
 Copy Constructor. More...
 
virtual ~BCFunctionRobin ()
 Destructor. More...
 

Operators

BCFunctionRobinoperator= (const BCFunctionRobin &bcFunctionUDepRobin)
 Assignment operator. More...
 

Methods

BCFunctionBase::BCFunctionBasePtr_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
 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 BCFunctionBase
typedef std::function< Real(const Real &, const Real &, const Real &, const Real &, const ID &) > function_Type
 
typedef std::shared_ptr< BCFunctionBaseBCFunctionBasePtr_Type
 
- Public Member Functions inherited from BCFunctionBase
 BCFunctionBase ()
 Empty Constructor. More...
 
 BCFunctionBase (function_Type userDefinedFunction)
 Constructor for a user defined function. More...
 
 BCFunctionBase (const BCFunctionBase &bcFunctionBase)
 Copy Constructor. More...
 
virtual ~BCFunctionBase ()
 Destructor. More...
 
virtual BCFunctionBaseoperator= (const BCFunctionBase &bcFunctionBase)
 Assignment Operator. More...
 
Real operator() (const Real &t, const Real &x, const Real &y, const Real &z, const ID &component) const
 Overloading function operator by calling M_userDefinedFunction. More...
 
void setFunction (function_Type userDefinedFunction)
 Set the user defined function. More...
 
const function_TypeFunction () const
 Get the function. More...
 
- Protected Attributes inherited from BCFunctionBase
function_Type M_userDefinedFunction
 user defined function More...
 

Detailed Description

BCFunctionRobin - 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. This class is derived by BCFunctionBase class

The data functions given by the user must have the following signature

Real f(const Real& t, const Real& x, const Real& y, const Real& z, const ID& component)

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(...).

Definition at line 231 of file BCFunction.hpp.

Member Typedef Documentation

◆ function_Type

Definition at line 238 of file BCFunction.hpp.

Constructor & Destructor Documentation

◆ BCFunctionRobin() [1/3]

BCFunctionRobin ( )
inline

Default constructor.

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

Definition at line 250 of file BCFunction.hpp.

◆ BCFunctionRobin() [2/3]

BCFunctionRobin ( 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 109 of file BCFunction.cpp.

◆ BCFunctionRobin() [3/3]

BCFunctionRobin ( const BCFunctionRobin bcFunctionUDepRobin)

Copy Constructor.

Parameters
bcFunctionUDepRobinThe BCFunctionRobin object

Definition at line 102 of file BCFunction.cpp.

+ Here is the caller graph for this function:

◆ ~BCFunctionRobin()

virtual ~BCFunctionRobin ( )
inlinevirtual

Destructor.

Definition at line 267 of file BCFunction.hpp.

Member Function Documentation

◆ operator=()

BCFunctionRobin & operator= ( const BCFunctionRobin bcFunctionUDepRobin)

Assignment operator.

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

Definition at line 124 of file BCFunction.cpp.

◆ clone()

BCFunctionBase::BCFunctionBasePtr_Type clone ( ) const
inlinevirtual

Clone the current object.

Returns
Pointer to the cloned object

Reimplemented from BCFunctionBase.

Definition at line 293 of file BCFunction.hpp.

◆ coef()

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

evaluate the user defined function M_robinBoundaryMassCoeffFunction

Parameters
tTime
xCoordinate
yCoordinate
zCoordinate
componentcomponent of the vector function
Returns
selected component of the user defined for @ coeff evaluated in (t,x,y,z)

Definition at line 308 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 140 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 339 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 349 of file BCFunction.hpp.


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