Class FdmVPPStartLimitStepCondition
- Namespace
- NanoQL.Experimental
- Assembly
- NanoQL.dll
A virtual power plant's step condition with its minimum up and down times and, optionally, a limit on its starts: a block of states per start left.
[Experimental("NQL0001")]
public sealed class FdmVPPStartLimitStepCondition : FdmVPPStepCondition
- Inheritance
-
FdmVPPStartLimitStepCondition
- Inherited Members
Constructors
FdmVPPStartLimitStepCondition(FdmVPPStepConditionParams, int?, FdmVPPStepConditionMesher, FdmInnerValueCalculator, FdmInnerValueCalculator)
Initializes a new instance of the FdmVPPStartLimitStepCondition class.
public FdmVPPStartLimitStepCondition(FdmVPPStepConditionParams parameters, int? nStarts, FdmVPPStepConditionMesher mesh, FdmInnerValueCalculator gasPrice, FdmInnerValueCalculator sparkSpreadPrice)
Parameters
parametersFdmVPPStepConditionParamsThe plant's parameters.
nStartsint?The most starts, or null for no limit.
meshFdmVPPStepConditionMesherThe mesher and the states' direction.
gasPriceFdmInnerValueCalculatorThe gas price.
sparkSpreadPriceFdmInnerValueCalculatorThe spark spread.
Exceptions
- ArgumentNullException
An argument is null.
- NanoQLException
The mesher doesn't fit the states, or a minimum time isn't positive ("minimum up time must be greater than one", "minimum down time must be greater than one").
Methods
ChangeState(double, ReadOnlySpan<double>, double, Span<double>)
A point's states after the plant's allowed changes, at the gas price there.
protected override void ChangeState(double gasPrice, ReadOnlySpan<double> state, double t, Span<double> result)
Parameters
gasPricedoubleThe gas price.
stateReadOnlySpan<double>The states' values before the change.
tdoubleThe time.
resultSpan<double>The states' values after it.
MaxValue(ReadOnlySpan<double>)
The value of a point's states: the best of them the plant can be in.
public override double MaxValue(ReadOnlySpan<double> states)
Parameters
statesReadOnlySpan<double>The values of a point's states.
Returns
- double
The value.
NStatesOf(int, int, int?)
The number of states of a plant: a block of 2·tMinUp + tMinDown, per start left plus one.
public static int NStatesOf(int tMinUp, int tMinDown, int? nStarts)
Parameters
tMinUpintThe minimum up time, in steps.
tMinDownintThe minimum down time, in steps.
nStartsint?The most starts, or null for no limit (one block).
Returns
- int
The number of states.