QuantLib: BoundaryCondition Class Template Reference

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

# BoundaryCondition Class Template Reference
[Finite-differences framework]

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

Inheritance diagram for BoundaryCondition:

[legend]

List of all members.

## Detailed Description

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

Abstract boundary condition class for finite difference problems.

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

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

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

This method modifies an array so that it satisfies the given condition.

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.

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

This method modifies an array so that it satisfies the given condition.

virtual void setTime | ( | Time | t | ) | `[pure virtual]`

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

Implemented in NeumannBC, and DirichletBC.