QuantLib: a free/open-source library for quantitative finance
Reference manual - version 1.40
Loading...
Searching...
No Matches
BoundaryCondition< Operator > Class Template Referenceabstract

Abstract boundary condition class for finite difference problems. More...

#include <ql/methods/finitedifferences/boundarycondition.hpp>

Public Types

enum  Side { None , Upper , Lower }
typedef Operator operator_type
typedef Operator::array_type array_type

Public Member Functions

virtual void applyBeforeApplying (operator_type &) const =0
virtual void applyAfterApplying (array_type &) const =0
virtual void applyBeforeSolving (operator_type &, array_type &rhs) const =0
virtual void applyAfterSolving (array_type &) const =0
virtual void setTime (Time t)=0

Detailed Description

template<class Operator>
class QuantLib::BoundaryCondition< Operator >

Abstract boundary condition class for finite difference problems.

Member Enumeration Documentation

◆ Side

template<class Operator>
enum Side

Member Function Documentation

◆ applyBeforeApplying()

template<class Operator>
virtual void applyBeforeApplying ( operator_type & ) const
pure virtual

This method modifies an operator \( L \) before it is applied to an array \( u \) so that \( v = Lu \) will satisfy the given condition.

Implemented in DirichletBC, and NeumannBC.

◆ applyAfterApplying()

template<class Operator>
virtual void applyAfterApplying ( array_type & ) const
pure virtual

This method modifies an array \( u \) so that it satisfies the given condition.

Implemented in DirichletBC, and NeumannBC.

◆ applyBeforeSolving()

template<class Operator>
virtual void applyBeforeSolving ( operator_type & ,
array_type & rhs ) const
pure virtual

This method modifies an operator \( L \) before the linear system \( Lu' = u \) is solved so that \( u' \) will satisfy the given condition.

Implemented in DirichletBC, and NeumannBC.

◆ applyAfterSolving()

template<class Operator>
virtual void applyAfterSolving ( array_type & ) const
pure virtual

This method modifies an array \( u \) so that it satisfies the given condition.

Implemented in DirichletBC, and NeumannBC.

◆ setTime()

template<class Operator>
virtual void setTime ( Time t)
pure virtual

This method sets the current time for time-dependent boundary conditions.

Implemented in DirichletBC, and NeumannBC.