Table of Contents

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

parameters FdmVPPStepConditionParams

The plant's parameters.

nStarts int?

The most starts, or null for no limit.

mesh FdmVPPStepConditionMesher

The mesher and the states' direction.

gasPrice FdmInnerValueCalculator

The gas price.

sparkSpreadPrice FdmInnerValueCalculator

The 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

gasPrice double

The gas price.

state ReadOnlySpan<double>

The states' values before the change.

t double

The time.

result Span<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

states ReadOnlySpan<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

tMinUp int

The minimum up time, in steps.

tMinDown int

The minimum down time, in steps.

nStarts int?

The most starts, or null for no limit (one block).

Returns

int

The number of states.