Class BoundaryCondition<TOperator>
A boundary condition of a finite-difference problem, applied around an operator's applies and solves.
public abstract class BoundaryCondition<TOperator>
Type Parameters
TOperatorThe operator the condition modifies.
- Inheritance
-
BoundaryCondition<TOperator>
- Derived
- Inherited Members
Remarks
An extension point, as in QuantLib: later units derive their boundary conditions from it. A condition modifies the
values in place, through the caller's span. QuantLib's deprecated NeumannBC and DirichletBC, on the
old framework's tridiagonal operator, aren't ported.
Constructors
BoundaryCondition()
protected BoundaryCondition()
Methods
ApplyAfterApplying(Span<double>)
Modifies values u, in place, so that they satisfy the condition.
public abstract void ApplyAfterApplying(Span<double> a)
Parameters
ApplyAfterSolving(Span<double>)
Modifies values u, in place, so that they satisfy the condition.
public abstract void ApplyAfterSolving(Span<double> a)
Parameters
ApplyBeforeApplying(TOperator)
Modifies an operator L before it is applied to values u, so that v = Lu satisfies the condition.
public abstract void ApplyBeforeApplying(TOperator op)
Parameters
opTOperatorThe operator.
ApplyBeforeSolving(TOperator, Span<double>)
Modifies an operator L and the right-hand side before the system Lu' = u is solved, so that u' satisfies the condition.
public abstract void ApplyBeforeSolving(TOperator op, Span<double> rhs)
Parameters
SetTime(double)
Sets the current time of a time-dependent condition.
public abstract void SetTime(double t)
Parameters
tdoubleThe time.