BoundaryCondition< Operator > Class Template Referenceabstract
Finite-differences framework

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 Function Documentation

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.

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.

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.

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.

virtual void setTime | ( | Time | t | ) |

pure virtual

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

Implemented in DirichletBC, and NeumannBC.