BoundaryCondition< Operator > Class Template Reference

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 $ L $ before it is applied to an array $ u $ so that $ v = Lu $ will satisfy the given condition.

Implemented in NeumannBC, and DirichletBC.

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

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

Implemented in NeumannBC, and DirichletBC.

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 NeumannBC, and DirichletBC.

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

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

Implemented in NeumannBC, and DirichletBC.

virtual void setTime ( Time  t) [pure virtual]

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

Implemented in NeumannBC, and DirichletBC.