QuantLib: a free/open-source library for quantitative finance
Reference manual - version 1.40
Loading...
Searching...
No Matches
NeumannBC Class Reference

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

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

Inheritance diagram for NeumannBC:

Public Member Functions

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

Additional Inherited Members

Public Types inherited from BoundaryCondition< TridiagonalOperator >
enum  Side
typedef TridiagonalOperator operator_type
typedef TridiagonalOperator::array_type array_type

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

Member Function Documentation

◆ applyBeforeApplying()

void applyBeforeApplying ( TridiagonalOperator & ) const
overridevirtual

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

◆ applyAfterApplying()

void applyAfterApplying ( Array & ) const
overridevirtual

This method modifies an array \( u \) so that it satisfies the given condition.

Implements BoundaryCondition< TridiagonalOperator >.

◆ applyBeforeSolving()

void applyBeforeSolving ( TridiagonalOperator & ,
Array & rhs ) const
overridevirtual

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

◆ applyAfterSolving()

void applyAfterSolving ( Array & ) const
overridevirtual

This method modifies an array \( u \) so that it satisfies the given condition.

Implements BoundaryCondition< TridiagonalOperator >.

◆ setTime()

void setTime ( Time t)
overridevirtual

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

Implements BoundaryCondition< TridiagonalOperator >.