marian::BoundaryCondition Class Referenceabstract

Interface for boundary conditions. More...

#include <boundaryCondition.hpp>

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

Public Member Functions

 BoundaryCondition ()
 Constructor.
 
virtual void beforeExplicitStep (TridiagonalOperator &L)=0
 Modification of tridiagonal matrix before explicit step. More...
 
virtual void afterExplicitStep (std::vector< double > &f, double t)=0
 Modification of solution of after explicit step. More...
 
virtual void beforeImplicitStep (TridiagonalOperator &L, std::vector< double > &f, double t)=0
 Modification of tridiagonal matrix before equation f'=Lf is solved. More...
 
virtual void afterImplicitStep (std::vector< double > &f, double t)=0
 Modification of solution of after solving equation f'=Lf is solved. More...
 
virtual std::string info () const =0
 Returns the type of boundary condition. More...
 
virtual BoundaryConditionclone () const =0
 Virtual copy constructor.
 
virtual ~BoundaryCondition ()
 Destructor.
 

Detailed Description

Class implements the boundary condition interface. It modifies tridiagonal operator and solution to ensure proper value of solution on boundaries.

Member Function Documentation

virtual void marian::BoundaryCondition::afterExplicitStep ( std::vector< double > &  f,
double  t 
)
pure virtual

Modification of solution of after explicit step

Parameters
fSolution after calculating derivative
tActual time, passing time value enables using time-dependent boundary conditions

Implemented in marian::DirichletBoundaryCondition< F >.

virtual void marian::BoundaryCondition::afterImplicitStep ( std::vector< double > &  f,
double  t 
)
pure virtual

Modification of solution of after solving equation f'=Lf is solved

Parameters
fSolution after calculating derivative
tActual time, passing time value enables using time-dependent boundary conditions

Implemented in marian::DirichletBoundaryCondition< F >.

virtual void marian::BoundaryCondition::beforeExplicitStep ( TridiagonalOperator L)
pure virtual

Modification of tridiagonal matrix before explicit step

Parameters
LLinear operator of PDE

Implemented in marian::DirichletBoundaryCondition< F >.

virtual void marian::BoundaryCondition::beforeImplicitStep ( TridiagonalOperator L,
std::vector< double > &  f,
double  t 
)
pure virtual

Modification of tridiagonal matrix before equation f'=Lf is solved

Parameters
LLinear operator of PDE
fFunction before solving
tActual time, passing time value enables using time-dependent boundary conditions

Implemented in marian::DirichletBoundaryCondition< F >.

virtual std::string marian::BoundaryCondition::info ( ) const
pure virtual

Returns the type of boundary condition

Implemented in marian::DirichletBoundaryCondition< F >.


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