### A free/open-source library for quantitative finance

Public Types | Public Member Functions
BoundaryCondition< Operator > Class Template Reference
Finite-differences framework

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

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

List of all members.

## 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

enum Side

Possible enhancements:
  Generalize for n-dimensional conditions

## Member Function Documentation

virtual void applyBeforeApplying | ( | operator_type & |  | ) | const`[pure virtual]`

This method modifies an operator before it is applied to an array so that will satisfy the given condition.

Implemented in DirichletBC, and NeumannBC.

virtual void applyAfterApplying | ( | array_type & |  | ) | const`[pure virtual]`

This method modifies an array 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 before the linear system is solved so that will satisfy the given condition.

Implemented in DirichletBC, and NeumannBC.

virtual void applyAfterSolving | ( | array_type & |  | ) | const`[pure virtual]`

This method modifies an array 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.