QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.34
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
FdmVPPStepCondition Class Referenceabstract

#include <fdmvppstepcondition.hpp>

+ Inheritance diagram for FdmVPPStepCondition:
+ Collaboration diagram for FdmVPPStepCondition:

Public Member Functions

 FdmVPPStepCondition (const FdmVPPStepConditionParams &params, Size nStates, const FdmVPPStepConditionMesher &mesh, ext::shared_ptr< FdmInnerValueCalculator > gasPrice, ext::shared_ptr< FdmInnerValueCalculator > sparkSpreadPrice)
 
Size nStates () const
 
void applyTo (Array &a, Time t) const override
 
virtual Real maxValue (const Array &states) const =0
 
- Public Member Functions inherited from StepCondition< Array >
virtual ~StepCondition ()=default
 
virtual void applyTo (Array &a, Time t) const=0
 

Protected Member Functions

Real evolveAtPMin (Real sparkSpread) const
 
Real evolveAtPMax (Real sparkSpread) const
 
Real evolve (const FdmLinearOpIterator &iter, Time t) const
 
virtual Array changeState (Real gasPrice, const Array &state, Time t) const =0
 

Protected Attributes

const Real heatRate_
 
const Real pMin_
 
const Real pMax_
 
const Size tMinUp_
 
const Size tMinDown_
 
const Real startUpFuel_
 
const Real startUpFixCost_
 
const Real fuelCostAddon_
 
const Size stateDirection_
 
const Size nStates_
 
const ext::shared_ptr< FdmMeshermesher_
 
const ext::shared_ptr< FdmInnerValueCalculatorgasPrice_
 
const ext::shared_ptr< FdmInnerValueCalculatorsparkSpreadPrice_
 
std::vector< ext::function< Real(Real)> > stateEvolveFcts_
 

Detailed Description

Definition at line 51 of file fdmvppstepcondition.hpp.

Constructor & Destructor Documentation

◆ FdmVPPStepCondition()

FdmVPPStepCondition ( const FdmVPPStepConditionParams params,
Size  nStates,
const FdmVPPStepConditionMesher mesh,
ext::shared_ptr< FdmInnerValueCalculator gasPrice,
ext::shared_ptr< FdmInnerValueCalculator sparkSpreadPrice 
)

Definition at line 32 of file fdmvppstepcondition.cpp.

+ Here is the call graph for this function:

Member Function Documentation

◆ nStates()

Size nStates ( ) const

Definition at line 61 of file fdmvppstepcondition.cpp.

+ Here is the caller graph for this function:

◆ applyTo()

void applyTo ( Array a,
Time  t 
) const
overridevirtual

Implements StepCondition< Array >.

Definition at line 66 of file fdmvppstepcondition.cpp.

+ Here is the call graph for this function:

◆ maxValue()

virtual Real maxValue ( const Array states) const
pure virtual

◆ evolveAtPMin()

Real evolveAtPMin ( Real  sparkSpread) const
protected

Definition at line 105 of file fdmvppstepcondition.cpp.

+ Here is the caller graph for this function:

◆ evolveAtPMax()

Real evolveAtPMax ( Real  sparkSpread) const
protected

Definition at line 109 of file fdmvppstepcondition.cpp.

+ Here is the caller graph for this function:

◆ evolve()

Real evolve ( const FdmLinearOpIterator iter,
Time  t 
) const
protected

Definition at line 90 of file fdmvppstepcondition.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ changeState()

virtual Array changeState ( Real  gasPrice,
const Array state,
Time  t 
) const
protectedpure virtual

Implemented in FdmVPPStartLimitStepCondition.

+ Here is the caller graph for this function:

Member Data Documentation

◆ heatRate_

const Real heatRate_
protected

Definition at line 72 of file fdmvppstepcondition.hpp.

◆ pMin_

const Real pMin_
protected

Definition at line 73 of file fdmvppstepcondition.hpp.

◆ pMax_

const Real pMax_
protected

Definition at line 73 of file fdmvppstepcondition.hpp.

◆ tMinUp_

const Size tMinUp_
protected

Definition at line 74 of file fdmvppstepcondition.hpp.

◆ tMinDown_

const Size tMinDown_
protected

Definition at line 74 of file fdmvppstepcondition.hpp.

◆ startUpFuel_

const Real startUpFuel_
protected

Definition at line 75 of file fdmvppstepcondition.hpp.

◆ startUpFixCost_

const Real startUpFixCost_
protected

Definition at line 75 of file fdmvppstepcondition.hpp.

◆ fuelCostAddon_

const Real fuelCostAddon_
protected

Definition at line 76 of file fdmvppstepcondition.hpp.

◆ stateDirection_

const Size stateDirection_
protected

Definition at line 77 of file fdmvppstepcondition.hpp.

◆ nStates_

const Size nStates_
protected

Definition at line 78 of file fdmvppstepcondition.hpp.

◆ mesher_

const ext::shared_ptr<FdmMesher> mesher_
protected

Definition at line 80 of file fdmvppstepcondition.hpp.

◆ gasPrice_

const ext::shared_ptr<FdmInnerValueCalculator> gasPrice_
protected

Definition at line 81 of file fdmvppstepcondition.hpp.

◆ sparkSpreadPrice_

const ext::shared_ptr<FdmInnerValueCalculator> sparkSpreadPrice_
protected

Definition at line 82 of file fdmvppstepcondition.hpp.

◆ stateEvolveFcts_

std::vector<ext::function<Real (Real)> > stateEvolveFcts_
protected

Definition at line 84 of file fdmvppstepcondition.hpp.