marian::DirichletBoundaryCondition< F > Class Template Reference

Class implements Dirichlet Boundary Condition. More...

#include <dirichletBoundaryCondition.hpp>

Inheritance diagram for marian::DirichletBoundaryCondition< F >:
marian::DCBoundaryCondition< DirichletBoundaryCondition< F > > marian::BoundaryCondition

Public Member Functions

 DirichletBoundaryCondition ()
 Default constructor.
 
 DirichletBoundaryCondition (BCSide side, F value)
 Constructor. More...
 
void beforeExplicitStep (TridiagonalOperator &) override
 Modification of tridiagonal matrix before explicit step. More...
 
void afterExplicitStep (std::vector< double > &, double t) override
 Modification of solution after explicit step. More...
 
void beforeImplicitStep (TridiagonalOperator &, std::vector< double > &, double t) override
 Modification of solution and linear operator before explicit step. More...
 
void afterImplicitStep (std::vector< double > &, double t) override
 Empty method, no modification performed. More...
 
std::string info () const override
 Returns the type of boundary condition. More...
 
virtual ~DirichletBoundaryCondition ()
 Destructor.
 
- Public Member Functions inherited from marian::DCBoundaryCondition< DirichletBoundaryCondition< F > >
virtual BoundaryConditionclone () const
 Virtual copy constructor.
 
- Public Member Functions inherited from marian::BoundaryCondition
 BoundaryCondition ()
 Constructor.
 
virtual ~BoundaryCondition ()
 Destructor.
 

Private Attributes

BCSide side_
 Side for which boundary condition is set.
 
value_
 Value on the boundary.
 

Detailed Description

template<typename F>
class marian::DirichletBoundaryCondition< F >

The condition specifies the value of a solution on the boundary of the domain.

\[y(x,t)|_{x=boundary} = \chi(t) \]

Examples:
FokkerPlanckEqExample.cpp.

Constructor & Destructor Documentation

template<typename F>
marian::DirichletBoundaryCondition< F >::DirichletBoundaryCondition ( BCSide  side,
value 
)
inline
Parameters
sideSide for which boundary condition is set
valueValue that be assigned to solution on the boundary

Member Function Documentation

template<typename F >
void marian::DirichletBoundaryCondition< F >::afterExplicitStep ( std::vector< double > &  f,
double  t 
)
overridevirtual

The first (in case of low boundary) or the last (in case of upper boundary) element is set to certain value.

Implements marian::BoundaryCondition.

template<typename F >
void marian::DirichletBoundaryCondition< F >::afterImplicitStep ( std::vector< double > &  ,
double  t 
)
overridevirtual
template<typename F >
void marian::DirichletBoundaryCondition< F >::beforeExplicitStep ( TridiagonalOperator op)
overridevirtual

Elements of the first (in case of low boundary) or the last (in case of upper boundary) row of tridiagonal operator are set to 0.0, expect the diagonal element which is set to 1.0.

Implements marian::BoundaryCondition.

template<typename F >
void marian::DirichletBoundaryCondition< F >::beforeImplicitStep ( TridiagonalOperator L,
std::vector< double > &  f,
double  t 
)
overridevirtual

Elements of the first (in case of low boundary) or the last (in case of upper boundary) row of tridiagonal operator are set to 0.0, expect the diagonal element which is set to 1.0.

The first (in case of low boundary) or the last (in case of upper boundary) element is set to certain value.

Implements marian::BoundaryCondition.

template<typename F>
std::string marian::DirichletBoundaryCondition< F >::info ( ) const
inlineoverridevirtual

Returns the type of boundary condition

Implements marian::BoundaryCondition.


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