NeumannBC Class Reference
[Finite-differences framework]

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

Inheritance diagram for NeumannBC:

Inheritance graph
[legend]
List of all members.

Detailed Description

Neumann boundary condition (i.e., constant derivative).

Warning:
The value passed must not be the value of the derivative. Instead, it must be comprehensive of the grid step between the first two points--i.e., it must be the difference between f[0] and f[1].
Todo:
generalize to time-dependent conditions.


Public Member Functions

 NeumannBC (Real value, Side side)
void applyBeforeApplying (TridiagonalOperator &) const
void applyAfterApplying (Array &) const
void applyBeforeSolving (TridiagonalOperator &, Array &rhs) const
void applyAfterSolving (Array &) const
void setTime (Time)


Member Function Documentation

void applyBeforeApplying ( TridiagonalOperator  )  const [virtual]

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

Implements BoundaryCondition< TridiagonalOperator >.

void applyAfterApplying ( Array  )  const [virtual]

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

Implements BoundaryCondition< TridiagonalOperator >.

void applyBeforeSolving ( TridiagonalOperator ,
Array rhs 
) const [virtual]

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

Implements BoundaryCondition< TridiagonalOperator >.

void applyAfterSolving ( Array  )  const [virtual]

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

Implements BoundaryCondition< TridiagonalOperator >.

void setTime ( Time  t  )  [virtual]

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

Implements BoundaryCondition< TridiagonalOperator >.