24#ifndef quantlib_boundary_condition_hpp
25#define quantlib_boundary_condition_hpp
34 template <
class Operator>
1-D array used in linear algebra.
Abstract boundary condition class for finite difference problems.
virtual void applyAfterSolving(array_type &) const =0
virtual void applyBeforeSolving(operator_type &, array_type &rhs) const =0
virtual void applyBeforeApplying(operator_type &) const =0
Operator::array_type array_type
virtual void applyAfterApplying(array_type &) const =0
virtual ~BoundaryCondition()=default
virtual void setTime(Time t)=0
Neumann boundary condition (i.e., constant value)
void applyAfterApplying(Array &) const override
void applyBeforeApplying(TridiagonalOperator &) const override
void applyAfterSolving(Array &) const override
void applyBeforeSolving(TridiagonalOperator &, Array &rhs) const override
void setTime(Time) override
Neumann boundary condition (i.e., constant derivative)
void applyAfterApplying(Array &) const override
void applyBeforeApplying(TridiagonalOperator &) const override
void applyAfterSolving(Array &) const override
void applyBeforeSolving(TridiagonalOperator &, Array &rhs) const override
void setTime(Time) override
Base implementation for tridiagonal operator.
Real Time
continuous quantity with 1-year units