DHI.MPC.Engine Namespace

DHI.MPC.Engine is an API for setting up a fast optimisation model for a water network. The dynamics of the water propagation is approximated by a linear model. The flow set points in the water network are optimised while respecting constraints and adhering to references. The optimisation model is formulated as a Quadratic Program. The entry point for setting up the surrogate model and the optimisation is the "Configuration" class. Once configured, one of the three "NetworkBlock" classes are used to execute the optimisation and/or simulation with the surrogate model. The typical choice of NetworkBlock class is "NetworkBlock2", which is preferred over "NetworkBlock" for networks that consist of more than a few model blocks and/or have more than a few time steps in the forecast horizon. "NetworkBlock3" is in experimental state.
Classes
Class Description
Public class ArrayExtensions
Extensions for Array
Public class BlockBandedLowerTriangular
A matrix with the pattern
| A 0 0 0 |
| B A 0 0 |
| C B A 0 |
| D C B A |
is represented by a vector of the blocks A, B, C, D
Public class BlockCalibrationData
Class for holding the information needed for calibration of a block object.
Public class BlockConcatenated
Container for concatenation of matrices of type BlockMatrix.
Public class BlockConcatenatedSymmetric
Class which concatenates BlockSymmetric matrices diagonally
| S1 0 |
| 0 S2|
S1 and S2 are symmetric, but need not be of the same dimension.
Public class BlockData
Abstract superclass for a building block for a linear system. For a water network building blocks will be reaches and reservoirs. All building blocks must inherit this base class in order to loop over the building blocks' datainformation when setting up the network.
Public class BlockDiagonal
A block diagonal matrix of the form:
| A0 0 0 0 |
| 0 A1 0 0 |
| 0 0 A2 0 |
| 0 0 0 A3 |
The blocks must be quadratic, of the same size and symmetric
The data structure will store only the block diagonal elements.
Public class BlockDiagonalRepeatedBlock
| A 0 0 0|
| 0 A 0 0|
| 0 0 A 0|
| 0 0 0 A|
A need not be quadratic.
Public class BlockMatrix
Base class for block matrix storage and manipulation
Public class BlockOneColumn
A block matrix with only one "block column"
| A |
| : |
| : |
| Z |
A .. Z must be matrices of equal dimensions.
Public class BlockSymmetric
| A0 B0.T C0.T D0.T |
| B0 A1 B1.T C1.T |
| C0 B1 A2 B2.T |
| D0 C1 B2 A3 |
The blocks must be quadratic, and the diagonal blocks A0, A1,... must be symmetric
The data structure will store only the diagonal elements and the lower triangular elements.
Public class BlockVector
|A_1|
| . |
| . |
|A_n|
A vector of matrices (A_1 to A_n). The sub-matrices must be of equal dimensions.
Public class BlockVectorBase
Base class for block vector storage and manipulation
Public class BlockVectorConcatenated
Concatenation of block vectors.
Public class BlockZero
A zero matrix in BlockMatrix format
Public class BuildingBlock
Abstract base class for all model building blocks. The "building block" is the smallest model component, i.e. the component that the LinearModelFactory creates matrices for. Examples of model blocks are ReservoirBlock and ReachBlock. A full network is built by linking model blocks together.
Public class CancelEventArgsT
Class for holding cancel event arguments.
Public class Configuration
The overall class for holding the optimisation configuration for a network of reaches and reservoirs.
The optimisation is based on surrogate models.
The configuration object is populated by the Add methods, e.g. AddReservoir(String, ReservoirCalculationModel, NullableDouble, DictionaryDouble, Double). The Add methods fill the data object and add it to the configuration.
Public class ConfigurationHandler
A class for making CRUD operations on a repository of configurations.
CRUD = Create, Read, Update, Delete.
Public class ConfigurationRepository
Class for holding a repository of MPC configurations
Public class ControlledFlow
Class for holding information about a flow that is controlled by MPC. Primarily used to pick up the result, i.e. the optimised control input.
Public class ControlledLinkData
Class for holding data for a controlled link. A "link" is the connection between two model blocks.
Outflow --> (link) --> Inflow
Public class EventArgsT
Class for holding event arguments.
Public class FlowConstraintData
Class for defining lower and upper bounds on controlled flows.
Public class FlowData
Abstract base class for defining flow data. Specialised classes for inflow, outflow and lateral flow inherits from this base class.
Public class ForecastLengthConverter
Static class for converting between forecast length in hours and forecast length in steps, given the time step.
Public class InflowData
Class for holding data for inflow to a reach at the upstream end.
The time series specified by TimeSeriesId in FlowData will be used as forcing, if an ordinary simulation is run via the MPC.Business.Network.Simulator. When using the MPC.Business.Network.Simulator to run an MPC controlled forecast, the forcing will be calculated by the MPC. In this case, it is valid not to set the TimeSerisId.
Public class InitialStateData
Class for holding data for the initial state of a model block. The interpretation of the data depends on the model block in question. For example for reservoirs
  • The tank and the level-volume reservoir need the initial LEVEL.
  • The volume reservoir needs VOLUME.
  • The linear reservoir needs the initial OUTFLOW.
Public class LateralFlowData
Class for holding configuration data for the lateral flows along a reach. This is an abstract superclass for the two special cases of inflow and outflow: LateralInflowData and LateralOutflowData. The two descendants share all properties, but differ in how the sign in the time series is interpreted.
  • LateralInflowData will interpret positive values as injections and negative numbers as extractions.
  • LateralOutflowData will interpret positive values as extractions and negative values as injections.
Public class LateralInflowData
Class for holding configuration data for the lateral inflows along a reach. Catchment runoff can be specified as a lateral inflow. Positive numbers in the flow time series (specified through TimeSeriesId) count as injections. A loss/gain time series containing both positive and negative values can be specified. In this case positive values count as injections and negative values as extractions). Lateral flows are boundary conditions to the model block, and cannot be controlled.
Public class LateralOutflowData
Class for holding configuration data for the lateral outflows along a reach. Lateral outflows are minor irrigation users distributed along the reach, as well as losses due to e.g leakage and evaporation. Positive numbers in the flow time series (specified through TimeSeriesId) counts as extractions. Lateral flows are boundary conditions to the model, and cannot be controlled.
Public class LinearModel
Class for holding state space matrices that are prepared for Model Predictive Control (MPC) A: System matrix (state transition) B_u: Forcing matrix (control inputs) B_d: disturbance matrix (boundary conditions) C: Observation matrix (convert state to outputs)
Public class LinearModelFactory
Abstract superclass for setting up linear models in derived classes. Note: there is a one-to-one relation between arranging the matrix elements in the specialised class, and how the specialised boundary object (the implementation of the IBoundary interface) should arrange forcings, disturbances and initial states.
Public class LinearModelSimulator
This class is the engine for using the Forecast for simulations. The LinearModelSimulator is not used by the Model Predictive Control, but will be useful for calibrating the linear model.
Public class LinearModelSimulator2
This class is the engine for using the Forecast2 for simulations. The LinearModelSimulator is not used by the Model Predictive Control, but will be useful for calibrating the linear model.
Public class LinearReservoirData
Class for holding the configuration data for a linear reservoir model.
The linear reservoir calculates the outflow from the reservoir as a fraction of the volume: q_out = b*V. b is the flow-volume conversion coefficient. In a discretised model, b depends on the discretisation time step, therefore it is preferred to enter the half-life decay time as parameter.
Public class MatrixExtension
Class for defining extensions for concatenation to Extreme.Mathematics' Matrix.
Public class MatrixProvider
abstract base class for interfacing to 3rd party matrix libraries.
Public class Network
In Network, the Forecast of surrogate model is held in matrix objects that DO NOT exploit the block structure of the forecast. This imposes a heavy memory use, and in general, models that contain more than a few reaches will cause an OutOfMemory exception.

Network is an abstract class which contains methods for
  • Creation of the model blocks from the data records held by Configuration.
  • Linking the model blocks into a network.
  • Execution of an optimisation.
  • Execution of a simulation with the surrogate model.
Public class Network2
In Network2, the Forecast2 of surrogate model is held in matrix objects that exploit the block structure of the forecast. This makes the memory footprint of Network2 much smaller than that of Network. The adverse effect is that there is a performance overhead in retrieving values from the matrices organised as BlockMatrix, so small networks with very few BuildingBlocks should rather use Network.

Network2 is an abstract class which contains methods for
  • Creation of the model blocks from the data records held by Configuration.
  • Linking the model blocks into a network.
  • Execution of an optimisation.
  • Execution of a simulation with the surrogate model.
Public class Network3
Network3 does not assemble the network, but prepares the model blocks for being connected by equality constraints in the optimisation model. This approach uses Network to generate separate surrogate models for each model block (and thus the memory consumption of Network is not an issue.

Network3 is an abstract class which contains methods for
  • Creation of the model blocks from the data records held by Configuration.
  • Execution of an optimisation.
  • Execution of a simulation with the surrogate model.
Public class NetworkBlock
When the Configuration has been populated, NetworkBlock is the main entry point for executing the optimisation and simulation (both based on the surrogate model).

NetworkBlock inherits from Network. In Network, the Forecast of surrogate model is held in matrix objects that DO NOT exploit the block structure of the forecast. This imposes a heavy memory use, and in general, models that contain more than a few reaches will cause an OutOfMemory exception.

Network is an abstract class which contains methods for
  • Creation of the model blocks from the data records held by Configuration.
  • Linking the model blocks into a network.
  • Execution of an optimisation.
  • Execution of a simulation with the surrogate model.
Public class NetworkBlock2
When the Configuration has been populated, NetworkBlock2 is the main entry point for executing the optimisation and simulation (both based on the surrogate model).

NetworkBlock2 inherits from Network2. In Network2, the Forecast2 of surrogate model is held in matrix objects that exploit the block structure of the forecast. This makes the memory footprint of Network2 much smaller than that of Network. The adverse effect is that there is a performance overhead in retrieving values from the matrices organised as BlockMatrix, so small networks with very few BuildingBlocks should rather use Network.

Network2 is an abstract class which contains methods for
  • Creation of the model blocks from the data records held by Configuration.
  • Linking the model blocks into a network.
  • Execution of an optimisation.
  • Execution of a simulation with the surrogate model.
Public class NetworkBlock3
When the Configuration has been populated, NetworkBlock3 is the main entry point for executing the optimisation and simulation (both based on the surrogate model).

NetworkBlock3 inherits from Network3. Network3 does not assemble the network, but prepares the model blocks for being connected by equality constraints in the optimisation model. This approach uses Network to generate separate surrogate models for each model block (and thus the memory consumption of Network is not an issue.

Network3 is an abstract class which contains methods for
  • Creation of the model blocks from the data records held by Configuration.
  • Execution of an optimisation.
  • Execution of a simulation with the surrogate model.
Public class OutflowData
Class for holding configuration data for outflow from a reservoir. The outflow may be a boundary (i.e. an extraction) or it may be linked to a downstream model block's inflow.
Public class OutputConstraintData
Data record for specifying upper and lower bounds on the output variable from a model block.
Public class PenaltyData
Class for holding data for penalty of change in forcing
Public class ReachData
Class for holding configuration data for a simple reach model, where the travel time is modelled as a delay.
Public class ReservoirBaseData
Class for holding the configuration data in common for all types of reservoirs
Public class ReservoirData
Class for holding the configuration data for the tank model and the level-volume reservoir model.
Public class ReservoirWithOverflowData
Class for holding the configuration data for a reservoir, which has an overflow structure at a specific level
Public class Result
This class is used by BuildingBlock to hold information about results from a run. Results may be outputvariables from the optimisation, or may be a mapping of the output variables. For example, for a reservoir the result variable is "level", but the output variable is in some cases "volume". Result will the facilitate the conversion to level via the attached level-volume curve.
The result object is used by the ResultHandler).
Public class ResultHandler
Class that provides methods for saving the results (from MPC and ordinary simulation).
Public class ResultInfo
Class for holding information that shall be passed on to the Time Series Manager when crating the result time series
Public class SlackFlow
Class for holding information about a flow that is represented as a slack variable in the state space model. Primarily used to pick up the result, i.e. the optimised control input.
Public class SparseMatrixExtension
Class for defining extensions for concatenation to Extreme.Mathematics' SparseMatrix.
Public class TargetData
Generic class for holding target data for a building block whose data is kept in a BlockData object. The target is what the block's output is aimed at - e.g. target level for a reservoir or target flow for a reach.
Public class TimeSeries
Time series class.
Public class TimeSeriesExtensions
Extension methods for TimeSeries
Public class TimeSeriesHandler
Class that provides methods for handling of time series. This is an MPC-specific proxy for a MIKE Foundation Libraries time series repository.
Public class TsProviderHelper
Static class to aid the conversion between Units and (string) codes used by the time series provider in question.
Public class UncontrolledLinkData
Class for defining uncontrolled links between model blocks
Public class XYLocation
Class to store the geographic location for the flow data. It uses a simple X,Y coordinate system.
Interfaces
 | Interface | Description
Public interface | IBlockData | Generic interface for data records that define model blocks.
Public interface | IConfigurationRepository | Interface for a repository of MPC configurations.
Public interface | IForcingConstraintData | Interface for defining data records for lower and upper bounds on forcings. Other names for "forcings are": optimisation variables, decision variables, control actions...
Public interface | IOutputConstraintData | Interface for holding the configuration of output constraints
Enumerations
 | Enumeration | Description
Public enumeration | ConstraintOption | Specifies whether a constraint is interpreted a lower or an upper bound or a rate-of-change constraint.
Public enumeration | LateralFlowDistributionType | LateralFlowDistribution type determines how the Location will be interpreted when the model is up.
Public enumeration | OptimisationMethod | The OptimisationMethod chooses the optimisation method.
Public enumeration | QPAssemblyMethod | The QPAssemblyMethod chooses how to assemble the model
Public enumeration | ReservoirCalculationModel | Enumeration, which specified the relationship between the unit of the state variable of the reservoir model and the units of the external data (initial state, target and constraints).
Public enumeration | TimeUnit | Time unit.


ArrayExtensions Class

Extensions for Array
Inheritance Hierarchy
SystemObject
DHI.MPC.EngineArrayExtensions

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public static class ArrayExtensions
<ExtensionAttribute>
Public NotInheritable Class ArrayExtensions
[ExtensionAttribute]
public ref class ArrayExtensions abstract sealed

The ArrayExtensions type exposes the following members.

Methods
Name | Description
SliceT | Get the array slice between the two indexes. ... Inclusive for start index, exclusive for end index. Simulates the built-in slice method of python.
Top
See Also

Reference

DHI.MPC.Engine Namespace


ArrayExtensions Methods

The ArrayExtensions type exposes the following members.

Methods
Name | Description
SliceT | Get the array slice between the two indexes. ... Inclusive for start index, exclusive for end index. Simulates the built-in slice method of python.
Top
See Also

Reference

ArrayExtensions Class


ArrayExtensions.Slice(T) Method

API documentation of DHI.MPC.Engine v 6.1.6

ArrayExtensionsSliceT Method

Get the array slice between the two indexes. ... Inclusive for start index, exclusive for end index. Simulates the built-in slice method of python.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public static T[] Slice<T>(
    this T[] source,
    int start,
    int end
)

<ExtensionAttribute>
Public Shared Function Slice(Of T) (
    source As T(),
    start As Integer,
    end As Integer
) As T()
public:
[ExtensionAttribute]
generic<typename T>
static array<T>^ Slice(
    array<T>^ source,
    int start,
    int end
)

Parameters

source
Type: T
Input array
start
Type: SystemInt32
Start index (will be included in the slice).
end
Type: SystemInt32
End index (not included in the slice). Negative end index counts backwards from the end of the input array.

Type Parameters

T
The type of the elements in the array.

Return Value

Type: T
A new array with the slice.

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type . When you use instance method syntax to call this method, omit the first parameter. For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).
See Also

Reference

ArrayExtensions Class


BlockBandedLowerTriangular Class

A matrix with the pattern
| A 0 0 0 |
| B A 0 0 |
| C B A 0 |
| D C B A |
is represented by a vector of the blocks A, B, C, D
Inheritance Hierarchy
SystemObject
DHI.MPC.EngineBlockMatrix
DHI.MPC.EngineBlockBandedLowerTriangular

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public class BlockBandedLowerTriangular : BlockMatrix
Public Class BlockBandedLowerTriangular
    Inherits BlockMatrix
public ref class BlockBandedLowerTriangular : public BlockMatrix

The BlockBandedLowerTriangular type exposes the following members.

Properties
 | Name | Description
Public property | ColumnCount | Gets the total number of columns of the block matrix. (Overrides BlockMatrixColumnCount.)
Public property | IsEmpty | Property to flag an empty matrix. (Inherited from BlockMatrix.)
Public property | RowCount | Gets the total number of rows of the block matrix (Overrides BlockMatrixRowCount.)
Top
Methods
 | Name | Description
Public method | CalcSymmetric | Calculates the symmetric form A.T*Q*A, where A is THIS matrix (Overrides BlockMatrixCalcSymmetric(BlockMatrix).)
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetRow | Get the i'th row of the BlockMatrix (Overrides BlockMatrixGetRow(Int32, ListDouble, ListInt32).)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | Multiply(Double) | Multiply THIS matrix by a scalar (Overrides BlockMatrixMultiply(Double).)
Public method | Multiply(BlockVectorBase) | Multiply THIS matrix by a BlockVectorBase. (Overrides BlockMatrixMultiply(BlockVectorBase).)
Public method | RowsNonZeroIndexed | Generic representation of a matrix: the outer list contains the rows, each row is represented by a list of non-zero values and a list of non-zero indices. (Inherited from BlockMatrix.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Public method | TransposeAndMultiply | A.T*vector (Overrides BlockMatrixTransposeAndMultiply(BlockVectorBase).)
Public method | TuplesNonZeroIndexed | Returns all non-zero elements in this BlockMatrix as tuples of (row, column, value) (Inherited from BlockMatrix.)
Top
See Also

Reference

DHI.MPC.Engine Namespace


BlockBandedLowerTriangular Properties

The BlockBandedLowerTriangular type exposes the following members.

Properties
 | Name | Description
Public property | ColumnCount | Gets the total number of columns of the block matrix. (Overrides BlockMatrixColumnCount.)
Public property | IsEmpty | Property to flag an empty matrix. (Inherited from BlockMatrix.)
Public property | RowCount | Gets the total number of rows of the block matrix (Overrides BlockMatrixRowCount.)
Top
See Also

Reference

BlockBandedLowerTriangular Class


BlockBandedLowerTriangular.ColumnCount Property

BlockBandedLowerTriangularColumnCount Property

Gets the total number of columns of the block matrix.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public override int ColumnCount { get; }
Public Overrides ReadOnly Property ColumnCount As Integer
    Get
public:
virtual property int ColumnCount {
    int get () override;
}

Property Value

Type: Int32
See Also

Reference

BlockBandedLowerTriangular Class


BlockBandedLowerTriangular.RowCount Property

BlockBandedLowerTriangularRowCount Property

Gets the total number of rows of the block matrix

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public override int RowCount { get; }
Public Overrides ReadOnly Property RowCount As Integer
    Get
public:
virtual property int RowCount {
    int get () override;
}

Property Value

Type: Int32
See Also

Reference

BlockBandedLowerTriangular Class


BlockBandedLowerTriangular Methods

The BlockBandedLowerTriangular type exposes the following members.

Methods
 | Name | Description
Public method | CalcSymmetric | Calculates the symmetric form A.T*Q*A, where A is THIS matrix (Overrides BlockMatrixCalcSymmetric(BlockMatrix).)
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetRow | Get the i'th row of the BlockMatrix (Overrides BlockMatrixGetRow(Int32, ListDouble, ListInt32).)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | Multiply(Double) | Multiply THIS matrix by a scalar (Overrides BlockMatrixMultiply(Double).)
Public method | Multiply(BlockVectorBase) | Multiply THIS matrix by a BlockVectorBase. (Overrides BlockMatrixMultiply(BlockVectorBase).)
Public method | RowsNonZeroIndexed | Generic representation of a matrix: the outer list contains the rows, each row is represented by a list of non-zero values and a list of non-zero indices. (Inherited from BlockMatrix.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Public method | TransposeAndMultiply | A.T*vector (Overrides BlockMatrixTransposeAndMultiply(BlockVectorBase).)
Public method | TuplesNonZeroIndexed | Returns all non-zero elements in this BlockMatrix as tuples of (row, column, value) (Inherited from BlockMatrix.)
Top
See Also

Reference

BlockBandedLowerTriangular Class


BlockBandedLowerTriangular.CalcSymmetric Method

BlockBandedLowerTriangularCalcSymmetric Method

Calculates the symmetric form A.T*Q*A, where A is THIS matrix

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public override BlockMatrix CalcSymmetric(
    BlockMatrix Q
)
Public Overrides Function CalcSymmetric (
    Q As BlockMatrix
) As BlockMatrix
public:
virtual BlockMatrix^ CalcSymmetric(
    BlockMatrix^ Q
) override

Parameters

Q
Type: DHI.MPC.EngineBlockMatrix

[Missing <param name="Q"/> documentation for "M:DHI.MPC.Engine.BlockBandedLowerTriangular.CalcSymmetric(DHI.MPC.Engine.BlockMatrix)"]

Return Value

Type: BlockMatrix
A symmetric matrix.
See Also

Reference

BlockBandedLowerTriangular Class


BlockBandedLowerTriangular.GetRow Method

BlockBandedLowerTriangularGetRow Method

Get the i'th row of the BlockMatrix

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public override void GetRow(
    int i,
    out List<double> nonzeroValues,
    out List<int> nonzeroIndex
)
Public Overrides Sub GetRow (
    i As Integer,
    <OutAttribute> ByRef nonzeroValues As List(Of Double),
    <OutAttribute> ByRef nonzeroIndex As List(Of Integer)
)
public:
virtual void GetRow(
    int i,
    [OutAttribute] List<double>^% nonzeroValues,
    [OutAttribute] List<int>^% nonzeroIndex
) override

Parameters

i
Type: SystemInt32
The row number.
nonzeroValues
Type: System.Collections.GenericList Double
List containing the values of the non-zero elements.
nonzeroIndex
Type: System.Collections.GenericList Int32
List containing the indices of the non-zero elements.
See Also

Reference

BlockBandedLowerTriangular Class


BlockBandedLowerTriangular.Multiply Method

BlockBandedLowerTriangularMultiply Method

Overload List
 | Name | Description
Public method | Multiply(Double) | Multiply THIS matrix by a scalar (Overrides BlockMatrixMultiply(Double).)
Public method | Multiply(BlockVectorBase) | Multiply THIS matrix by a BlockVectorBase. (Overrides BlockMatrixMultiply(BlockVectorBase).)
Top
See Also

Reference

BlockBandedLowerTriangular Class


BlockBandedLowerTriangular.Multiply Method (Double)

BlockBandedLowerTriangularMultiply Method (Double)

Multiply THIS matrix by a scalar

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public override BlockMatrix Multiply(
    double a
)
Public Overrides Function Multiply (
    a As Double
) As BlockMatrix
public:
virtual BlockMatrix^ Multiply(
    double a
) override

Parameters

a
Type: SystemDouble

[Missing <param name="a"/> documentation for "M:DHI.MPC.Engine.BlockBandedLowerTriangular.Multiply(System.Double)"]

Return Value

Type: BlockMatrix
THIS * a
See Also

Reference

BlockBandedLowerTriangular Class
Multiply Overload


BlockBandedLowerTriangular.Multiply Method (BlockVectorBase)

BlockBandedLowerTriangularMultiply Method (BlockVectorBase)

Multiply THIS matrix by a BlockVectorBase.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public override BlockVectorBase Multiply(
    BlockVectorBase vector
)
Public Overrides Function Multiply (
    vector As BlockVectorBase
) As BlockVectorBase
public:
virtual BlockVectorBase^ Multiply(
    BlockVectorBase^ vector
) override

Parameters

vector
Type: DHI.MPC.EngineBlockVectorBase

[Missing <param name="vector"/> documentation for "M:DHI.MPC.Engine.BlockBandedLowerTriangular.Multiply(DHI.MPC.Engine.BlockVectorBase)"]

Return Value

Type: BlockVectorBase

[Missing <returns> documentation for "M:DHI.MPC.Engine.BlockBandedLowerTriangular.Multiply(DHI.MPC.Engine.BlockVectorBase)"]

See Also

Reference

BlockBandedLowerTriangular Class
Multiply Overload


BlockBandedLowerTriangular.TransposeAndMultiply Method

BlockBandedLowerTriangularTransposeAndMultiply Method

A.T*vector

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public override BlockVectorBase TransposeAndMultiply(
    BlockVectorBase vector
)
Public Overrides Function TransposeAndMultiply (
    vector As BlockVectorBase
) As BlockVectorBase
public:
virtual BlockVectorBase^ TransposeAndMultiply(
    BlockVectorBase^ vector
) override

Parameters

vector
Type: DHI.MPC.EngineBlockVectorBase

[Missing <param name="vector"/> documentation for "M:DHI.MPC.Engine.BlockBandedLowerTriangular.TransposeAndMultiply(DHI.MPC.Engine.BlockVectorBase)"]

Return Value

Type: BlockVectorBase

[Missing <returns> documentation for "M:DHI.MPC.Engine.BlockBandedLowerTriangular.TransposeAndMultiply(DHI.MPC.Engine.BlockVectorBase)"]

See Also

Reference

BlockBandedLowerTriangular Class


BlockCalibrationData Class

Class for holding the information needed for calibration of a block object.
Inheritance Hierarchy
SystemObject
DHI.MPC.EngineBlockCalibrationData

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
[SerializableAttribute]
public class BlockCalibrationData
<SerializableAttribute>
Public Class BlockCalibrationData
[SerializableAttribute]
public ref class BlockCalibrationData

The BlockCalibrationData type exposes the following members.

Constructors
 | Name | Description
Public method | BlockCalibrationData | Initializes a new instance of the BlockCalibrationData class
Top
Properties
 | Name | Description
Public property | BlockId | Gets or sets the block id that the calibration time series belongs
Public property | CalibrationActive | Set to true if the block should be calibrated.
Public property | DelayStatic | Objective value from calibration. The reach delay from a long-term "static" calibration.
Public property | FlowMax | Set maximum flow velocity. Only relevant for reach.
Public property | FlowMin | Set minimum flow velocity. Only relevant for reach.
Public property | ObjectiveValue | Objective value from calibration.
Public property | ObjectiveValueStatic | Objective value from calibration. The objective value from a long-term "static" calibration. This is used for comparison when making short-term "dynamic" calibration.
Public property | TimeSeriesId | Gets or sets the calibration time series id for the block.
Top
Methods
 | Name | Description
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

DHI.MPC.Engine Namespace


BlockCalibrationData Constructor

Initializes a new instance of the BlockCalibrationData class

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public BlockCalibrationData()
Public Sub New
public:
BlockCalibrationData()
See Also

Reference

BlockCalibrationData Class


BlockCalibrationData Properties

The BlockCalibrationData type exposes the following members.

Properties
 | Name | Description
Public property | BlockId | Gets or sets the block id that the calibration time series belongs
Public property | CalibrationActive | Set to true if the block should be calibrated.
Public property | DelayStatic | Objective value from calibration. The reach delay from a long-term "static" calibration.
Public property | FlowMax | Set maximum flow velocity. Only relevant for reach.
Public property | FlowMin | Set minimum flow velocity. Only relevant for reach.
Public property | ObjectiveValue | Objective value from calibration.
Public property | ObjectiveValueStatic | Objective value from calibration. The objective value from a long-term "static" calibration. This is used for comparison when making short-term "dynamic" calibration.
Public property | TimeSeriesId | Gets or sets the calibration time series id for the block.
Top
See Also

Reference

BlockCalibrationData Class


BlockCalibrationData.BlockId Property

BlockCalibrationDataBlockId Property

Gets or sets the block id that the calibration time series belongs

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public Guid BlockId { get; set; }
Public Property BlockId As Guid
    Get
    Set
public:
property Guid BlockId {
    Guid get ();
    void set (Guid value);
}

Property Value

Type: Guid
See Also

Reference

BlockCalibrationData Class


BlockCalibrationData.CalibrationActive Property

BlockCalibrationDataCalibrationActive Property

Set to true if the block should be calibrated.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public bool CalibrationActive { get; set; }
Public Property CalibrationActive As Boolean
    Get
    Set
public:
property bool CalibrationActive {
    bool get ();
    void set (bool value);
}

Property Value

Type: Boolean
See Also

Reference

BlockCalibrationData Class


BlockCalibrationData.DelayStatic Property

BlockCalibrationDataDelayStatic Property

Objective value from calibration. The reach delay from a long-term "static" calibration.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public int DelayStatic { get; set; }
Public Property DelayStatic As Integer
    Get
    Set
public:
property int DelayStatic {
    int get ();
    void set (int value);
}

Property Value

Type: Int32
See Also

Reference

BlockCalibrationData Class


BlockCalibrationData.FlowMax Property

BlockCalibrationDataFlowMax Property

Set maximum flow velocity. Only relevant for reach.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public double FlowMax { get; set; }
Public Property FlowMax As Double
    Get
    Set
public:
property double FlowMax {
    double get ();
    void set (double value);
}

Property Value

Type: Double
See Also

Reference

BlockCalibrationData Class


BlockCalibrationData.FlowMin Property

BlockCalibrationDataFlowMin Property

Set minimum flow velocity. Only relevant for reach.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public double FlowMin { get; set; }
Public Property FlowMin As Double
    Get
    Set
public:
property double FlowMin {
    double get ();
    void set (double value);
}

Property Value

Type: Double
See Also

Reference

BlockCalibrationData Class


BlockCalibrationData.ObjectiveValue Property

BlockCalibrationDataObjectiveValue Property

Objective value from calibration.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public double ObjectiveValue { get; set; }
Public Property ObjectiveValue As Double
    Get
    Set
public:
property double ObjectiveValue {
    double get ();
    void set (double value);
}

Property Value

Type: Double
See Also

Reference

BlockCalibrationData Class


BlockCalibrationData.ObjectiveValueStatic Property

BlockCalibrationDataObjectiveValueStatic Property

Objective value from calibration. The objective value from a long-term "static" calibration. This is used for comparison when making short-term "dynamic" calibration.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public double ObjectiveValueStatic { get; set; }
Public Property ObjectiveValueStatic As Double
    Get
    Set
public:
property double ObjectiveValueStatic {
    double get ();
    void set (double value);
}

Property Value

Type: Double
See Also

Reference

BlockCalibrationData Class


BlockCalibrationData.TimeSeriesId Property

BlockCalibrationDataTimeSeriesId Property

Gets or sets the calibration time series id for the block.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public string TimeSeriesId { get; set; }
Public Property TimeSeriesId As String
    Get
    Set
public:
property String^ TimeSeriesId {
    String^ get ();
    void set (String^ value);
}

Property Value

Type: String
See Also

Reference

BlockCalibrationData Class


BlockCalibrationData Methods

The BlockCalibrationData type exposes the following members.

Methods
 | Name | Description
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

BlockCalibrationData Class


BlockConcatenated Class

Container for concatenation of matrices of type BlockMatrix.
Inheritance Hierarchy
SystemObject
DHI.MPC.EngineBlockMatrix
DHI.MPC.EngineBlockConcatenated

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public class BlockConcatenated : BlockMatrix
Public Class BlockConcatenated
    Inherits BlockMatrix
public ref class BlockConcatenated : public BlockMatrix

The BlockConcatenated type exposes the following members.

Properties
 | Name | Description
Public property | ColumnCount | Gets the total number of columns of the block matrix. (Overrides BlockMatrixColumnCount.)
Public property | IsEmpty | Property to flag an empty matrix. (Inherited from BlockMatrix.)
Public property | RowCount | Gets the total number of rows of the block matrix (Overrides BlockMatrixRowCount.)
Top
Methods
 | Name | Description
Public method | CalcSymmetric | Calculates the symmetric form A.T*Q*A, where A is THIS matrix (Overrides BlockMatrixCalcSymmetric(BlockMatrix).)
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetRow | Get the i'th row of the BlockMatrix (Overrides BlockMatrixGetRow(Int32, ListDouble, ListInt32).)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | Multiply(Double) | Abstract method for multiplying a matrix by a scalar. The implementation depends on the matrix type (Overrides BlockMatrixMultiply(Double).)
Public method | Multiply(BlockVectorBase) | Abstract method for multiplying a matrix by a vector from the right: A*x (Overrides BlockMatrixMultiply(BlockVectorBase).)
Public method | RowsNonZeroIndexed | Generic representation of a matrix: the outer list contains the rows, each row is represented by a list of non-zero values and a list of non-zero indices. (Inherited from BlockMatrix.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Public method | TransposeAndMultiply | A.T*vector (Overrides BlockMatrixTransposeAndMultiply(BlockVectorBase).)
Public method | TuplesNonZeroIndexed | Returns all non-zero elements in this BlockMatrix as tuples of (row, column, value) (Inherited from BlockMatrix.)
Top
See Also

Reference

DHI.MPC.Engine Namespace


BlockConcatenated Properties

The BlockConcatenated type exposes the following members.

Properties
 | Name | Description
Public property | ColumnCount | Gets the total number of columns of the block matrix. (Overrides BlockMatrixColumnCount.)
Public property | IsEmpty | Property to flag an empty matrix. (Inherited from BlockMatrix.)
Public property | RowCount | Gets the total number of rows of the block matrix (Overrides BlockMatrixRowCount.)
Top
See Also

Reference

BlockConcatenated Class


BlockConcatenated.ColumnCount Property

BlockConcatenatedColumnCount Property

Gets the total number of columns of the block matrix.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public override int ColumnCount { get; }
Public Overrides ReadOnly Property ColumnCount As Integer
    Get
public:
virtual property int ColumnCount {
    int get () override;
}

Property Value

Type: Int32
See Also

Reference

BlockConcatenated Class


BlockConcatenated.RowCount Property

BlockConcatenatedRowCount Property

Gets the total number of rows of the block matrix

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public override int RowCount { get; }
Public Overrides ReadOnly Property RowCount As Integer
    Get
public:
virtual property int RowCount {
    int get () override;
}

Property Value

Type: Int32
See Also

Reference

BlockConcatenated Class


BlockConcatenated Methods

The BlockConcatenated type exposes the following members.

Methods
 | Name | Description
Public method | CalcSymmetric | Calculates the symmetric form A.T*Q*A, where A is THIS matrix (Overrides BlockMatrixCalcSymmetric(BlockMatrix).)
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetRow | Get the i'th row of the BlockMatrix (Overrides BlockMatrixGetRow(Int32, ListDouble, ListInt32).)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | Multiply(Double) | Abstract method for multiplying a matrix by a scalar. The implementation depends on the matrix type (Overrides BlockMatrixMultiply(Double).)
Public method | Multiply(BlockVectorBase) | Abstract method for multiplying a matrix by a vector from the right: A*x (Overrides BlockMatrixMultiply(BlockVectorBase).)
Public method | RowsNonZeroIndexed | Generic representation of a matrix: the outer list contains the rows, each row is represented by a list of non-zero values and a list of non-zero indices. (Inherited from BlockMatrix.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Public method | TransposeAndMultiply | A.T*vector (Overrides BlockMatrixTransposeAndMultiply(BlockVectorBase).)
Public method | TuplesNonZeroIndexed | Returns all non-zero elements in this BlockMatrix as tuples of (row, column, value) (Inherited from BlockMatrix.)
Top
See Also

Reference

BlockConcatenated Class


BlockConcatenated.CalcSymmetric Method

BlockConcatenatedCalcSymmetric Method

Calculates the symmetric form A.T*Q*A, where A is THIS matrix

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public override BlockMatrix CalcSymmetric(
    BlockMatrix Q
)
Public Overrides Function CalcSymmetric (
    Q As BlockMatrix
) As BlockMatrix
public:
virtual BlockMatrix^ CalcSymmetric(
    BlockMatrix^ Q
) override

Parameters

Q
Type: DHI.MPC.EngineBlockMatrix

[Missing <param name="Q"/> documentation for "M:DHI.MPC.Engine.BlockConcatenated.CalcSymmetric(DHI.MPC.Engine.BlockMatrix)"]

Return Value

Type: BlockMatrix
A symmetric matrix.
See Also

Reference

BlockConcatenated Class


BlockConcatenated.GetRow Method

BlockConcatenatedGetRow Method

Get the i'th row of the BlockMatrix

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public override void GetRow(
    int i,
    out List<double> nonzeroValues,
    out List<int> nonzeroIndex
)
Public Overrides Sub GetRow (
    i As Integer,
    <OutAttribute> ByRef nonzeroValues As List(Of Double),
    <OutAttribute> ByRef nonzeroIndex As List(Of Integer)
)
public:
virtual void GetRow(
    int i,
    [OutAttribute] List<double>^% nonzeroValues,
    [OutAttribute] List<int>^% nonzeroIndex
) override

Parameters

i
Type: SystemInt32
The row number.
nonzeroValues
Type: System.Collections.GenericList Double
List containing the values of the non-zero elements.
nonzeroIndex
Type: System.Collections.GenericList Int32
List containing the indices of the non-zero elements.
See Also

Reference

BlockConcatenated Class


BlockConcatenated.Multiply Method

BlockConcatenatedMultiply Method

Overload List
 | Name | Description
Public method | Multiply(Double) | Abstract method for multiplying a matrix by a scalar. The implementation depends on the matrix type (Overrides BlockMatrixMultiply(Double).)
Public method | Multiply(BlockVectorBase) | Abstract method for multiplying a matrix by a vector from the right: A*x (Overrides BlockMatrixMultiply(BlockVectorBase).)
Top
See Also

Reference

BlockConcatenated Class


BlockConcatenated.Multiply Method (Double)

BlockConcatenatedMultiply Method (Double)

Abstract method for multiplying a matrix by a scalar. The implementation depends on the matrix type

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public override BlockMatrix Multiply(
    double a
)
Public Overrides Function Multiply (
    a As Double
) As BlockMatrix
public:
virtual BlockMatrix^ Multiply(
    double a
) override

Parameters

a
Type: SystemDouble
Scaling factor

Return Value

Type: BlockMatrix
The scaled matrix.
See Also

Reference

BlockConcatenated Class
Multiply Overload


BlockConcatenated.Multiply Method (BlockVectorBase)

BlockConcatenatedMultiply Method (BlockVectorBase)

Abstract method for multiplying a matrix by a vector from the right: A*x

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public override BlockVectorBase Multiply(
    BlockVectorBase x
)
Public Overrides Function Multiply (
    x As BlockVectorBase
) As BlockVectorBase
public:
virtual BlockVectorBase^ Multiply(
    BlockVectorBase^ x
) override

Parameters

x
Type: DHI.MPC.EngineBlockVectorBase
A vector.

Return Value

Type: BlockVectorBase
A vector.
See Also

Reference

BlockConcatenated Class
Multiply Overload


BlockConcatenated.TransposeAndMultiply Method

BlockConcatenatedTransposeAndMultiply Method

A.T*vector

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public override BlockVectorBase TransposeAndMultiply(
    BlockVectorBase vector
)
Public Overrides Function TransposeAndMultiply (
    vector As BlockVectorBase
) As BlockVectorBase
public:
virtual BlockVectorBase^ TransposeAndMultiply(
    BlockVectorBase^ vector
) override

Parameters

vector
Type: DHI.MPC.EngineBlockVectorBase

[Missing <param name="vector"/> documentation for "M:DHI.MPC.Engine.BlockConcatenated.TransposeAndMultiply(DHI.MPC.Engine.BlockVectorBase)"]

Return Value

Type: BlockVectorBase

[Missing <returns> documentation for "M:DHI.MPC.Engine.BlockConcatenated.TransposeAndMultiply(DHI.MPC.Engine.BlockVectorBase)"]

See Also

Reference

BlockConcatenated Class


BlockConcatenatedSymmetric Class

Class which concatenates BlockSymmetric matrices diagonally
| S1 0 |
| 0 S2|
S1 and S2 are symmetric, but need not be of the same dimension.
Inheritance Hierarchy
SystemObject
DHI.MPC.EngineBlockMatrix
DHI.MPC.EngineBlockConcatenatedSymmetric

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public class BlockConcatenatedSymmetric : BlockMatrix
Public Class BlockConcatenatedSymmetric
    Inherits BlockMatrix
public ref class BlockConcatenatedSymmetric : public BlockMatrix

The BlockConcatenatedSymmetric type exposes the following members.

Constructors
 | Name | Description
Public method | BlockConcatenatedSymmetric | Creates a new BlockConcatenatedSymmetric from a list of matrices, which must all be
Top
Properties
 | Name | Description
Public property | ColumnCount | Gets the total number of columns of the block matrix. (Overrides BlockMatrixColumnCount.)
Public property | IsEmpty | Property to flag an empty matrix. (Inherited from BlockMatrix.)
Public property | RowCount | Gets the total number of rows of the block matrix (Overrides BlockMatrixRowCount.)
Top
Methods
 | Name | Description
Public method | CalcSymmetric | Calculates the symmetric form A.T*Q*A, where A is THIS matrix (Overrides BlockMatrixCalcSymmetric(BlockMatrix).)
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetRow | Get the i'th row of the BlockMatrix (Overrides BlockMatrixGetRow(Int32, ListDouble, ListInt32).)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | Multiply(Double) | Abstract method for multiplying a matrix by a scalar. The implementation depends on the matrix type (Overrides BlockMatrixMultiply(Double).)
Public method | Multiply(BlockVectorBase) | Abstract method for multiplying a matrix by a vector from the right: A*x (Overrides BlockMatrixMultiply(BlockVectorBase).)
Public method | RowsNonZeroIndexed | Generic representation of a matrix: the outer list contains the rows, each row is represented by a list of non-zero values and a list of non-zero indices. (Inherited from BlockMatrix.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Public method | TransposeAndMultiply | A.T*vector (Overrides BlockMatrixTransposeAndMultiply(BlockVectorBase).)
Public method | TuplesNonZeroIndexed | Returns all non-zero elements in this BlockMatrix as tuples of (row, column, value) (Inherited from BlockMatrix.)
Top
See Also

Reference

DHI.MPC.Engine Namespace


BlockConcatenatedSymmetric Constructor

Creates a new BlockConcatenatedSymmetric from a list of matrices, which must all be

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public BlockConcatenatedSymmetric(
    List<BlockMatrix> diagonalBlockList
)
Public Sub New (
    diagonalBlockList As List(Of BlockMatrix)
)
public:
BlockConcatenatedSymmetric(
    List<BlockMatrix^>^ diagonalBlockList
)

Parameters

diagonalBlockList
Type: System.Collections.GenericList BlockMatrix
See Also

Reference

BlockConcatenatedSymmetric Class


BlockConcatenatedSymmetric Properties

The BlockConcatenatedSymmetric type exposes the following members.

Properties
 | Name | Description
Public property | ColumnCount | Gets the total number of columns of the block matrix. (Overrides BlockMatrixColumnCount.)
Public property | IsEmpty | Property to flag an empty matrix. (Inherited from BlockMatrix.)
Public property | RowCount | Gets the total number of rows of the block matrix (Overrides BlockMatrixRowCount.)
Top
See Also

Reference

BlockConcatenatedSymmetric Class


BlockConcatenatedSymmetric.ColumnCount Property

BlockConcatenatedSymmetricColumnCount Property

Gets the total number of columns of the block matrix.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public override int ColumnCount { get; }
Public Overrides ReadOnly Property ColumnCount As Integer
    Get
public:
virtual property int ColumnCount {
    int get () override;
}

Property Value

Type: Int32
See Also

Reference

BlockConcatenatedSymmetric Class


BlockConcatenatedSymmetric.RowCount Property

BlockConcatenatedSymmetricRowCount Property

Gets the total number of rows of the block matrix

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public override int RowCount { get; }
Public Overrides ReadOnly Property RowCount As Integer
    Get
public:
virtual property int RowCount {
    int get () override;
}

Property Value

Type: Int32
See Also

Reference

BlockConcatenatedSymmetric Class


BlockConcatenatedSymmetric Methods

The BlockConcatenatedSymmetric type exposes the following members.

Methods
 | Name | Description
Public method | CalcSymmetric | Calculates the symmetric form A.T*Q*A, where A is THIS matrix (Overrides BlockMatrixCalcSymmetric(BlockMatrix).)
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetRow | Get the i'th row of the BlockMatrix (Overrides BlockMatrixGetRow(Int32, ListDouble, ListInt32).)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | Multiply(Double) | Abstract method for multiplying a matrix by a scalar. The implementation depends on the matrix type (Overrides BlockMatrixMultiply(Double).)
Public method | Multiply(BlockVectorBase) | Abstract method for multiplying a matrix by a vector from the right: A*x (Overrides BlockMatrixMultiply(BlockVectorBase).)
Public method | RowsNonZeroIndexed | Generic representation of a matrix: the outer list contains the rows, each row is represented by a list of non-zero values and a list of non-zero indices. (Inherited from BlockMatrix.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Public method | TransposeAndMultiply | A.T*vector (Overrides BlockMatrixTransposeAndMultiply(BlockVectorBase).)
Public method | TuplesNonZeroIndexed | Returns all non-zero elements in this BlockMatrix as tuples of (row, column, value) (Inherited from BlockMatrix.)
Top
See Also

Reference

BlockConcatenatedSymmetric Class


BlockConcatenatedSymmetric.CalcSymmetric Method

BlockConcatenatedSymmetricCalcSymmetric Method

Calculates the symmetric form A.T*Q*A, where A is THIS matrix

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public override BlockMatrix CalcSymmetric(
    BlockMatrix Q
)
Public Overrides Function CalcSymmetric (
    Q As BlockMatrix
) As BlockMatrix
public:
virtual BlockMatrix^ CalcSymmetric(
    BlockMatrix^ Q
) override

Parameters

Q
Type: DHI.MPC.EngineBlockMatrix

Return Value

Type: BlockMatrix
A symmetric matrix.
See Also

Reference

BlockConcatenatedSymmetric Class


BlockConcatenatedSymmetric.GetRow Method

BlockConcatenatedSymmetricGetRow Method

Get the i'th row of the BlockMatrix

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public override void GetRow(
    int i,
    out List<double> nonzeroValues,
    out List<int> nonzeroIndex
)
Public Overrides Sub GetRow (
    i As Integer,
    <OutAttribute> ByRef nonzeroValues As List(Of Double),
    <OutAttribute> ByRef nonzeroIndex As List(Of Integer)
)
public:
virtual void GetRow(
    int i,
    [OutAttribute] List<double>^% nonzeroValues,
    [OutAttribute] List<int>^% nonzeroIndex
) override

Parameters

i
Type: SystemInt32
The row number.
nonzeroValues
Type: System.Collections.GenericList Double
List containing the values of the non-zero elements.
nonzeroIndex
Type: System.Collections.GenericList Int32
List containing the indices of the non-zero elements.
See Also

Reference

BlockConcatenatedSymmetric Class


BlockConcatenatedSymmetric.Multiply Method

BlockConcatenatedSymmetricMultiply Method

Overload List
 | Name | Description
Public method | Multiply(Double) | Abstract method for multiplying a matrix by a scalar. The implementation depends on the matrix type (Overrides BlockMatrixMultiply(Double).)
Public method | Multiply(BlockVectorBase) | Abstract method for multiplying a matrix by a vector from the right: A*x (Overrides BlockMatrixMultiply(BlockVectorBase).)
Top
See Also

Reference

BlockConcatenatedSymmetric Class


BlockConcatenatedSymmetric.Multiply Method (Double)

BlockConcatenatedSymmetricMultiply Method (Double)

Abstract method for multiplying a matrix by a scalar. The implementation depends on the matrix type

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public override BlockMatrix Multiply(
    double a
)
Public Overrides Function Multiply (
    a As Double
) As BlockMatrix
public:
virtual BlockMatrix^ Multiply(
    double a
) override

Parameters

a
Type: SystemDouble
Scaling factor

Return Value

Type: BlockMatrix
The scaled matrix.
See Also

Reference

BlockConcatenatedSymmetric Class
Multiply Overload


BlockConcatenatedSymmetric.Multiply Method (BlockVectorBase)

BlockConcatenatedSymmetricMultiply Method (BlockVectorBase)

Abstract method for multiplying a matrix by a vector from the right: A*x

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public override BlockVectorBase Multiply(
    BlockVectorBase x
)
Public Overrides Function Multiply (
    x As BlockVectorBase
) As BlockVectorBase
public:
virtual BlockVectorBase^ Multiply(
    BlockVectorBase^ x
) override

Parameters

x
Type: DHI.MPC.EngineBlockVectorBase
A vector.

Return Value

Type: BlockVectorBase
A vector.
See Also

Reference

BlockConcatenatedSymmetric Class
Multiply Overload


BlockConcatenatedSymmetric.TransposeAndMultiply Method

BlockConcatenatedSymmetricTransposeAndMultiply Method

A.T*vector

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public override BlockVectorBase TransposeAndMultiply(
    BlockVectorBase vector
)
Public Overrides Function TransposeAndMultiply (
    vector As BlockVectorBase
) As BlockVectorBase
public:
virtual BlockVectorBase^ TransposeAndMultiply(
    BlockVectorBase^ vector
) override

Parameters

vector
Type: DHI.MPC.EngineBlockVectorBase

Return Value

Type: BlockVectorBase

[Missing <returns> documentation for "M:DHI.MPC.Engine.BlockConcatenatedSymmetric.TransposeAndMultiply(DHI.MPC.Engine.BlockVectorBase)"]

See Also

Reference

BlockConcatenatedSymmetric Class


BlockData Class

Abstract superclass for a building block for a linear system. For a water network building blocks will be reaches and reservoirs. All building blocks must inherit this base class in order to loop over the building blocks' datainformation when setting up the network.
Inheritance Hierarchy
SystemObject
DHI.MPC.EngineBlockData
DHI.MPC.EngineFlowData
DHI.MPC.EngineReachData
DHI.MPC.EngineReservoirBaseData

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
[SerializableAttribute]
public abstract class BlockData : IBlockData
<SerializableAttribute>
Public MustInherit Class BlockData
    Implements IBlockData
[SerializableAttribute]
public ref class BlockData abstract : IBlockData

The BlockData type exposes the following members.

Constructors
 | Name | Description
Protected method | BlockData | Initializes a new instance of the BlockData class
Top
Properties
 | Name | Description
Public property | Id | Gets or sets the identifier of this data record.
Public property | Name | Gets or sets the name. For a reach or reservoir, use the reach or reservoir name.
Top
Methods
 | Name | Description
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

DHI.MPC.Engine Namespace


BlockData Constructor

Initializes a new instance of the BlockData class

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
protected BlockData()
Protected Sub New
protected:
BlockData()
See Also

Reference

BlockData Class


BlockData Properties

The BlockData type exposes the following members.

Properties
 | Name | Description
Public property | Id | Gets or sets the identifier of this data record.
Public property | Name | Gets or sets the name. For a reach or reservoir, use the reach or reservoir name.
Top
See Also

Reference

BlockData Class


BlockData.Id Property

BlockDataId Property

Gets or sets the identifier of this data record.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public Guid Id { get; set; }
Public Property Id As Guid
    Get
    Set
public:
virtual property Guid Id {
    Guid get () sealed;
    void set (Guid value) sealed;
}

Property Value

Type: Guid

Implements

IBlockDataId
See Also

Reference

BlockData Class


BlockData.Name Property

BlockDataName Property

Gets or sets the name. For a reach or reservoir, use the reach or reservoir name.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public string Name { get; set; }
Public Property Name As String
    Get
    Set
public:
virtual property String^ Name {
    String^ get () sealed;
    void set (String^ value) sealed;
}

Property Value

Type: String

Implements

IBlockDataName
See Also

Reference

BlockData Class


BlockData Methods

The BlockData type exposes the following members.

Methods
 | Name | Description
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

BlockData Class


BlockDiagonal Class

A block diagonal matrix of the form:
| A0 0 0 0 |
| 0 A1 0 0 |
| 0 0 A2 0 |
| 0 0 0 A3 |
The blocks must be quadratic, of the same size and symmetric
The data structure will store only the block diagonal elements.
Inheritance Hierarchy
SystemObject
DHI.MPC.EngineBlockMatrix
DHI.MPC.EngineBlockDiagonal

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public class BlockDiagonal : BlockMatrix
Public Class BlockDiagonal
    Inherits BlockMatrix
public ref class BlockDiagonal : public BlockMatrix

The BlockDiagonal type exposes the following members.

Properties
 | Name | Description
Public property | ColumnCount | Gets the total number of columns of the block matrix. (Overrides BlockMatrixColumnCount.)
Public property | IsEmpty | Property to flag an empty matrix. (Inherited from BlockMatrix.)
Public property | RowCount | Gets the total number of rows of the block matrix (Overrides BlockMatrixRowCount.)
Top
Methods
 | Name | Description
Public method | CalcSymmetric | Calculates the symmetric form A.T*Q*A, where A is THIS matrix (Overrides BlockMatrixCalcSymmetric(BlockMatrix).)
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetRow | Get the i'th row of the BlockMatrix (Overrides BlockMatrixGetRow(Int32, ListDouble, ListInt32).)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | Multiply(Double) | Abstract method for multiplying a matrix by a scalar. The implementation depends on the matrix type (Overrides BlockMatrixMultiply(Double).)
Public method | Multiply(BlockVectorBase) | Abstract method for multiplying a matrix by a vector from the right: A*x (Overrides BlockMatrixMultiply(BlockVectorBase).)
Public method | RowsNonZeroIndexed | Generic representation of a matrix: the outer list contains the rows, each row is represented by a list of non-zero values and a list of non-zero indices. (Inherited from BlockMatrix.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Public method | TransposeAndMultiply | A.T*vector (Overrides BlockMatrixTransposeAndMultiply(BlockVectorBase).)
Public method | TuplesNonZeroIndexed | Returns all non-zero elements in this BlockMatrix as tuples of (row, column, value) (Inherited from BlockMatrix.)
Top
See Also

Reference

DHI.MPC.Engine Namespace


BlockDiagonal Properties

The BlockDiagonal type exposes the following members.

Properties
 | Name | Description
Public property | ColumnCount | Gets the total number of columns of the block matrix. (Overrides BlockMatrixColumnCount.)
Public property | IsEmpty | Property to flag an empty matrix. (Inherited from BlockMatrix.)
Public property | RowCount | Gets the total number of rows of the block matrix (Overrides BlockMatrixRowCount.)
Top
See Also

Reference

BlockDiagonal Class


BlockDiagonal.ColumnCount Property

BlockDiagonalColumnCount Property

Gets the total number of columns of the block matrix.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public override int ColumnCount { get; }
Public Overrides ReadOnly Property ColumnCount As Integer
    Get
public:
virtual property int ColumnCount {
    int get () override;
}

Property Value

Type: Int32
See Also

Reference

BlockDiagonal Class


BlockDiagonal.RowCount Property

BlockDiagonalRowCount Property

Gets the total number of rows of the block matrix

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public override int RowCount { get; }
Public Overrides ReadOnly Property RowCount As Integer
    Get
public:
virtual property int RowCount {
    int get () override;
}

Property Value

Type: Int32
See Also

Reference

BlockDiagonal Class


BlockDiagonal Methods

The BlockDiagonal type exposes the following members.

Methods
 | Name | Description
Public method | CalcSymmetric | Calculates the symmetric form A.T*Q*A, where A is THIS matrix (Overrides BlockMatrixCalcSymmetric(BlockMatrix).)
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetRow | Get the i'th row of the BlockMatrix (Overrides BlockMatrixGetRow(Int32, ListDouble, ListInt32).)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | Multiply(Double) | Abstract method for multiplying a matrix by a scalar. The implementation depends on the matrix type (Overrides BlockMatrixMultiply(Double).)
Public method | Multiply(BlockVectorBase) | Abstract method for multiplying a matrix by a vector from the right: A*x (Overrides BlockMatrixMultiply(BlockVectorBase).)
Public method | RowsNonZeroIndexed | Generic representation of a matrix: the outer list contains the rows, each row is represented by a list of non-zero values and a list of non-zero indices. (Inherited from BlockMatrix.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Public method | TransposeAndMultiply | A.T*vector (Overrides BlockMatrixTransposeAndMultiply(BlockVectorBase).)
Public method | TuplesNonZeroIndexed | Returns all non-zero elements in this BlockMatrix as tuples of (row, column, value) (Inherited from BlockMatrix.)
Top
See Also

Reference

BlockDiagonal Class


BlockDiagonal.CalcSymmetric Method

BlockDiagonalCalcSymmetric Method

Calculates the symmetric form A.T*Q*A, where A is THIS matrix

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public override BlockMatrix CalcSymmetric(
    BlockMatrix Q
)
Public Overrides Function CalcSymmetric (
    Q As BlockMatrix
) As BlockMatrix
public:
virtual BlockMatrix^ CalcSymmetric(
    BlockMatrix^ Q
) override

Parameters

Q
Type: DHI.MPC.EngineBlockMatrix

[Missing <param name="Q"/> documentation for "M:DHI.MPC.Engine.BlockDiagonal.CalcSymmetric(DHI.MPC.Engine.BlockMatrix)"]

Return Value

Type: BlockMatrix
A symmetric matrix.
See Also

Reference

BlockDiagonal Class


BlockDiagonal.GetRow Method

BlockDiagonalGetRow Method

Get the i'th row of the BlockMatrix

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public override void GetRow(
    int i,
    out List<double> nonzeroValues,
    out List<int> nonzeroIndex
)
Public Overrides Sub GetRow (
    i As Integer,
    <OutAttribute> ByRef nonzeroValues As List(Of Double),
    <OutAttribute> ByRef nonzeroIndex As List(Of Integer)
)
public:
virtual void GetRow(
    int i,
    [OutAttribute] List<double>^% nonzeroValues,
    [OutAttribute] List<int>^% nonzeroIndex
) override

Parameters

i
Type: SystemInt32
The row number.
nonzeroValues
Type: System.Collections.GenericList Double
List containing the values of the non-zero elements.
nonzeroIndex
Type: System.Collections.GenericList Int32
List containing the indices of the non-zero elements.
See Also

Reference

BlockDiagonal Class


BlockDiagonal.Multiply Method

BlockDiagonalMultiply Method

Overload List
 | Name | Description
Public method | Multiply(Double) | Abstract method for multiplying a matrix by a scalar. The implementation depends on the matrix type (Overrides BlockMatrixMultiply(Double).)
Public method | Multiply(BlockVectorBase) | Abstract method for multiplying a matrix by a vector from the right: A*x (Overrides BlockMatrixMultiply(BlockVectorBase).)
Top
See Also

Reference

BlockDiagonal Class


BlockDiagonal.Multiply Method (Double)

BlockDiagonalMultiply Method (Double)

Abstract method for multiplying a matrix by a scalar. The implementation depends on the matrix type

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public override BlockMatrix Multiply(
    double a
)
Public Overrides Function Multiply (
    a As Double
) As BlockMatrix
public:
virtual BlockMatrix^ Multiply(
    double a
) override

Parameters

a
Type: SystemDouble
Scaling factor

Return Value

Type: BlockMatrix
The scaled matrix.
See Also

Reference

BlockDiagonal Class
Multiply Overload


BlockDiagonal.Multiply Method (BlockVectorBase)

BlockDiagonalMultiply Method (BlockVectorBase)

Abstract method for multiplying a matrix by a vector from the right: A*x

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public override BlockVectorBase Multiply(
    BlockVectorBase vector
)
Public Overrides Function Multiply (
    vector As BlockVectorBase
) As BlockVectorBase
public:
virtual BlockVectorBase^ Multiply(
    BlockVectorBase^ vector
) override

Parameters

vector
Type: DHI.MPC.EngineBlockVectorBase

[Missing <param name="vector"/> documentation for "M:DHI.MPC.Engine.BlockDiagonal.Multiply(DHI.MPC.Engine.BlockVectorBase)"]

Return Value

Type: BlockVectorBase
A vector.
See Also

Reference

BlockDiagonal Class
Multiply Overload


BlockDiagonal.TransposeAndMultiply Method

BlockDiagonalTransposeAndMultiply Method

A.T*vector

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public override BlockVectorBase TransposeAndMultiply(
    BlockVectorBase vector
)
Public Overrides Function TransposeAndMultiply (
    vector As BlockVectorBase
) As BlockVectorBase
public:
virtual BlockVectorBase^ TransposeAndMultiply(
    BlockVectorBase^ vector
) override

Parameters

vector
Type: DHI.MPC.EngineBlockVectorBase

[Missing <param name="vector"/> documentation for "M:DHI.MPC.Engine.BlockDiagonal.TransposeAndMultiply(DHI.MPC.Engine.BlockVectorBase)"]

Return Value

Type: BlockVectorBase

[Missing <returns> documentation for "M:DHI.MPC.Engine.BlockDiagonal.TransposeAndMultiply(DHI.MPC.Engine.BlockVectorBase)"]

See Also

Reference

BlockDiagonal Class


BlockDiagonalRepeatedBlock Class

| A 0 0 0|
| 0 A 0 0|
| 0 0 A 0|
| 0 0 0 A|
A need not be quadratic.
Inheritance Hierarchy
SystemObject
DHI.MPC.EngineBlockMatrix
DHI.MPC.EngineBlockDiagonalRepeatedBlock

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public class BlockDiagonalRepeatedBlock : BlockMatrix
Public Class BlockDiagonalRepeatedBlock
    Inherits BlockMatrix
public ref class BlockDiagonalRepeatedBlock : public BlockMatrix

The BlockDiagonalRepeatedBlock type exposes the following members.

Properties
 | Name | Description
Public property | ColumnCount | Gets the total number of columns of the block matrix. (Overrides BlockMatrixColumnCount.)
Public property | IsEmpty | Property to flag an empty matrix. (Inherited from BlockMatrix.)
Public property | RowCount | Gets the total number of rows of the block matrix (Overrides BlockMatrixRowCount.)
Top
Methods
 | Name | Description
Public method | CalcSymmetric | Calculates the symmetric form A.T*Q*A, where A is THIS matrix (Overrides BlockMatrixCalcSymmetric(BlockMatrix).)
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetRow | Get the i'th row of the BlockMatrix (Overrides BlockMatrixGetRow(Int32, ListDouble, ListInt32).)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | Multiply(Double) | Abstract method for multiplying a matrix by a scalar. The implementation depends on the matrix type (Overrides BlockMatrixMultiply(Double).)
Public method | Multiply(BlockVectorBase) | Abstract method for multiplying a matrix by a vector from the right: A*x (Overrides BlockMatrixMultiply(BlockVectorBase).)
Public method | RowsNonZeroIndexed | Generic representation of a matrix: the outer list contains the rows, each row is represented by a list of non-zero values and a list of non-zero indices. (Inherited from BlockMatrix.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Public method | TransposeAndMultiply | A.T*vector (Overrides BlockMatrixTransposeAndMultiply(BlockVectorBase).)
Public method | TuplesNonZeroIndexed | Returns all non-zero elements in this BlockMatrix as tuples of (row, column, value) (Inherited from BlockMatrix.)
Top
Operators
Name | Description
Multiply | Multiplies THIS (block-diagonal) matrix by a block vector.
Top
See Also

Reference

DHI.MPC.Engine Namespace


BlockDiagonalRepeatedBlock Properties

The BlockDiagonalRepeatedBlock type exposes the following members.

Properties
 | Name | Description
Public property | ColumnCount | Gets the total number of columns of the block matrix. (Overrides BlockMatrixColumnCount.)
Public property | IsEmpty | Property to flag an empty matrix. (Inherited from BlockMatrix.)
Public property | RowCount | Gets the total number of rows of the block matrix (Overrides BlockMatrixRowCount.)
Top
See Also

Reference

BlockDiagonalRepeatedBlock Class


BlockDiagonalRepeatedBlock.ColumnCount Property

BlockDiagonalRepeatedBlockColumnCount Property

Gets the total number of columns of the block matrix.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public override int ColumnCount { get; }
Public Overrides ReadOnly Property ColumnCount As Integer
    Get
public:
virtual property int ColumnCount {
    int get () override;
}

Property Value

Type: Int32
See Also

Reference

BlockDiagonalRepeatedBlock Class


BlockDiagonalRepeatedBlock.RowCount Property

BlockDiagonalRepeatedBlockRowCount Property

Gets the total number of rows of the block matrix

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public override int RowCount { get; }
Public Overrides ReadOnly Property RowCount As Integer
    Get
public:
virtual property int RowCount {
    int get () override;
}

Property Value

Type: Int32
See Also

Reference

BlockDiagonalRepeatedBlock Class


BlockDiagonalRepeatedBlock Methods

The BlockDiagonalRepeatedBlock type exposes the following members.

Methods
 | Name | Description
Public method | CalcSymmetric | Calculates the symmetric form A.T*Q*A, where A is THIS matrix (Overrides BlockMatrixCalcSymmetric(BlockMatrix).)
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetRow | Get the i'th row of the BlockMatrix (Overrides BlockMatrixGetRow(Int32, ListDouble, ListInt32).)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | Multiply(Double) | Abstract method for multiplying a matrix by a scalar. The implementation depends on the matrix type (Overrides BlockMatrixMultiply(Double).)
Public method | Multiply(BlockVectorBase) | Abstract method for multiplying a matrix by a vector from the right: A*x (Overrides BlockMatrixMultiply(BlockVectorBase).)
Public method | RowsNonZeroIndexed | Generic representation of a matrix: the outer list contains the rows, each row is represented by a list of non-zero values and a list of non-zero indices. (Inherited from BlockMatrix.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Public method | TransposeAndMultiply | A.T*vector (Overrides BlockMatrixTransposeAndMultiply(BlockVectorBase).)
Public method | TuplesNonZeroIndexed | Returns all non-zero elements in this BlockMatrix as tuples of (row, column, value) (Inherited from BlockMatrix.)
Top
See Also

Reference

BlockDiagonalRepeatedBlock Class


BlockDiagonalRepeatedBlock.CalcSymmetric Method

BlockDiagonalRepeatedBlockCalcSymmetric Method

Calculates the symmetric form A.T*Q*A, where A is THIS matrix

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public override BlockMatrix CalcSymmetric(
    BlockMatrix Q
)
Public Overrides Function CalcSymmetric (
    Q As BlockMatrix
) As BlockMatrix
public:
virtual BlockMatrix^ CalcSymmetric(
    BlockMatrix^ Q
) override

Parameters

Q
Type: DHI.MPC.EngineBlockMatrix

[Missing <param name="Q"/> documentation for "M:DHI.MPC.Engine.BlockDiagonalRepeatedBlock.CalcSymmetric(DHI.MPC.Engine.BlockMatrix)"]

Return Value

Type: BlockMatrix
A symmetric matrix.
See Also

Reference

BlockDiagonalRepeatedBlock Class


BlockDiagonalRepeatedBlock.GetRow Method

BlockDiagonalRepeatedBlockGetRow Method

Get the i'th row of the BlockMatrix

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public override void GetRow(
    int i,
    out List<double> nonzeroValues,
    out List<int> nonzeroIndices
)
Public Overrides Sub GetRow (
    i As Integer,
    <OutAttribute> ByRef nonzeroValues As List(Of Double),
    <OutAttribute> ByRef nonzeroIndices As List(Of Integer)
)
public:
virtual void GetRow(
    int i,
    [OutAttribute] List<double>^% nonzeroValues,
    [OutAttribute] List<int>^% nonzeroIndices
) override

Parameters

i
Type: SystemInt32
The row number.
nonzeroValues
Type: System.Collections.GenericList Double
List containing the values of the non-zero elements.
nonzeroIndices
Type: System.Collections.GenericList Int32

[Missing <param name="nonzeroIndices"/> documentation for "M:DHI.MPC.Engine.BlockDiagonalRepeatedBlock.GetRow(System.Int32,System.Collections.Generic.List{System.Double}@,System.Collections.Generic.List{System.Int32}@)"]

See Also

Reference

BlockDiagonalRepeatedBlock Class


BlockDiagonalRepeatedBlock.Multiply Method

BlockDiagonalRepeatedBlockMultiply Method

Overload List
 | Name | Description
Public method | Multiply(Double) | Abstract method for multiplying a matrix by a scalar. The implementation depends on the matrix type (Overrides BlockMatrixMultiply(Double).)
Public method | Multiply(BlockVectorBase) | Abstract method for multiplying a matrix by a vector from the right: A*x (Overrides BlockMatrixMultiply(BlockVectorBase).)
Top
See Also

Reference

BlockDiagonalRepeatedBlock Class


BlockDiagonalRepeatedBlock.Multiply Method (Double)

BlockDiagonalRepeatedBlockMultiply Method (Double)

Abstract method for multiplying a matrix by a scalar. The implementation depends on the matrix type

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public override BlockMatrix Multiply(
    double a
)
Public Overrides Function Multiply (
    a As Double
) As BlockMatrix
public:
virtual BlockMatrix^ Multiply(
    double a
) override

Parameters

a
Type: SystemDouble
Scaling factor

Return Value

Type: BlockMatrix
The scaled matrix.
See Also

Reference

BlockDiagonalRepeatedBlock Class
Multiply Overload


BlockDiagonalRepeatedBlock.Multiply Method (BlockVectorBase)

BlockDiagonalRepeatedBlockMultiply Method (BlockVectorBase)

Abstract method for multiplying a matrix by a vector from the right: A*x

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public override BlockVectorBase Multiply(
    BlockVectorBase vector
)
Public Overrides Function Multiply (
    vector As BlockVectorBase
) As BlockVectorBase
public:
virtual BlockVectorBase^ Multiply(
    BlockVectorBase^ vector
) override

Parameters

vector
Type: DHI.MPC.EngineBlockVectorBase

[Missing <param name="vector"/> documentation for "M:DHI.MPC.Engine.BlockDiagonalRepeatedBlock.Multiply(DHI.MPC.Engine.BlockVectorBase)"]

Return Value

Type: BlockVectorBase
A vector.
See Also

Reference

BlockDiagonalRepeatedBlock Class
Multiply Overload


BlockDiagonalRepeatedBlock.TransposeAndMultiply Method

BlockDiagonalRepeatedBlockTransposeAndMultiply Method

A.T*vector

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public override BlockVectorBase TransposeAndMultiply(
    BlockVectorBase vector
)
Public Overrides Function TransposeAndMultiply (
    vector As BlockVectorBase
) As BlockVectorBase
public:
virtual BlockVectorBase^ TransposeAndMultiply(
    BlockVectorBase^ vector
) override

Parameters

vector
Type: DHI.MPC.EngineBlockVectorBase

[Missing <param name="vector"/> documentation for "M:DHI.MPC.Engine.BlockDiagonalRepeatedBlock.TransposeAndMultiply(DHI.MPC.Engine.BlockVectorBase)"]

Return Value

Type: BlockVectorBase

[Missing <returns> documentation for "M:DHI.MPC.Engine.BlockDiagonalRepeatedBlock.TransposeAndMultiply(DHI.MPC.Engine.BlockVectorBase)"]

See Also

Reference

BlockDiagonalRepeatedBlock Class


BlockDiagonalRepeatedBlock Operators

The BlockDiagonalRepeatedBlock type exposes the following members.

Operators
Name | Description
Multiply | Multiplies THIS (block-diagonal) matrix by a block vector.
Top
See Also

Reference

BlockDiagonalRepeatedBlock Class


BlockDiagonalRepeatedBlock.Multiply Operator

BlockDiagonalRepeatedBlockMultiply Operator

Multiplies THIS (block-diagonal) matrix by a block vector.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public static BlockVectorBase operator *(
    BlockDiagonalRepeatedBlock A,
    BlockVector b
)
Public Shared Operator * (
    A As BlockDiagonalRepeatedBlock,
    b As BlockVector
) As BlockVectorBase
public:
static BlockVectorBase^ operator *(
    BlockDiagonalRepeatedBlock^ A,
    BlockVector^ b
)

Parameters

A
Type: DHI.MPC.EngineBlockDiagonalRepeatedBlock
Block Matrix.
b
Type: DHI.MPC.EngineBlockVector
Block vector.

Return Value

Type: BlockVectorBase

[Missing <returns> documentation for "M:DHI.MPC.Engine.BlockDiagonalRepeatedBlock.op_Multiply(DHI.MPC.Engine.BlockDiagonalRepeatedBlock,DHI.MPC.Engine.BlockVector)"]

See Also

Reference

BlockDiagonalRepeatedBlock Class


BlockMatrix Class

Base class for block matrix storage and manipulation
Inheritance Hierarchy
SystemObject
DHI.MPC.EngineBlockMatrix
More...

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public abstract class BlockMatrix
Public MustInherit Class BlockMatrix
public ref class BlockMatrix abstract

The BlockMatrix type exposes the following members.

Constructors
 | Name | Description
Protected method | BlockMatrix | Initializes a new instance of the BlockMatrix class
Top
Properties
 | Name | Description
Public property | ColumnCount | Gets the total number of columns of the block matrix.
Public property | IsEmpty | Property to flag an empty matrix.
Public property | RowCount | Gets the total number of rows of the block matrix
Top
Methods
 | Name | Description
Public method | CalcSymmetric | Calculates the symmetric form A.T*Q*A, where A is THIS matrix
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetRow | Get the i'th row of the BlockMatrix
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | Multiply(Double) | Abstract method for multiplying a matrix by a scalar. The implementation depends on the matrix type
Public method | Multiply(BlockVectorBase) | Abstract method for multiplying a matrix by a vector from the right: A*x
Public method | RowsNonZeroIndexed | Generic representation of a matrix: the outer list contains the rows, each row is represented by a list of non-zero values and a list of non-zero indices.
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Public method | TransposeAndMultiply | A.T*vector
Public method | TuplesNonZeroIndexed | Returns all non-zero elements in this BlockMatrix as tuples of (row, column, value)
Top
Operators
Name | Description
Multiply(Double, BlockMatrix) | Multiplies the block matrix by a scalar.
Multiply(BlockMatrix, BlockVectorBase) | Multiplies THIS block matrix by a block vector.
Top
See Also

Reference

DHI.MPC.Engine Namespace
Inheritance Hierarchy
SystemObject
DHI.MPC.EngineBlockMatrix
DHI.MPC.EngineBlockBandedLowerTriangular
DHI.MPC.EngineBlockConcatenated
DHI.MPC.EngineBlockConcatenatedSymmetric
DHI.MPC.EngineBlockDiagonal
DHI.MPC.EngineBlockDiagonalRepeatedBlock
DHI.MPC.EngineBlockOneColumn
DHI.MPC.EngineBlockSymmetric
DHI.MPC.EngineBlockZero


BlockMatrix Constructor

Initializes a new instance of the BlockMatrix class

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
protected BlockMatrix()
Protected Sub New
protected:
BlockMatrix()
See Also

Reference

BlockMatrix Class


BlockMatrix Properties

The BlockMatrix type exposes the following members.

Properties
 | Name | Description
Public property | ColumnCount | Gets the total number of columns of the block matrix.
Public property | IsEmpty | Property to flag an empty matrix.
Public property | RowCount | Gets the total number of rows of the block matrix
Top
See Also

Reference

BlockMatrix Class


BlockMatrix.ColumnCount Property

BlockMatrixColumnCount Property

Gets the total number of columns of the block matrix.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public abstract int ColumnCount { get; }
Public MustOverride ReadOnly Property ColumnCount As Integer
    Get
public:
virtual property int ColumnCount {
    int get () abstract;
}

Property Value

Type: Int32
See Also

Reference

BlockMatrix Class


BlockMatrix.IsEmpty Property

BlockMatrixIsEmpty Property

Property to flag an empty matrix.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public bool IsEmpty { get; protected set; }
Public Property IsEmpty As Boolean
    Get
    Protected Set
public:
property bool IsEmpty {
    bool get ();
    protected: void set (bool value);
}

Property Value

Type: Boolean
See Also

Reference

BlockMatrix Class


BlockMatrix.RowCount Property

BlockMatrixRowCount Property

Gets the total number of rows of the block matrix

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public abstract int RowCount { get; }
Public MustOverride ReadOnly Property RowCount As Integer
    Get
public:
virtual property int RowCount {
    int get () abstract;
}

Property Value

Type: Int32
See Also

Reference

BlockMatrix Class


BlockMatrix Methods

The BlockMatrix type exposes the following members.

Methods
 | Name | Description
Public method | CalcSymmetric | Calculates the symmetric form A.T*Q*A, where A is THIS matrix
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetRow | Get the i'th row of the BlockMatrix
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | Multiply(Double) | Abstract method for multiplying a matrix by a scalar. The implementation depends on the matrix type
Public method | Multiply(BlockVectorBase) | Abstract method for multiplying a matrix by a vector from the right: A*x
Public method | RowsNonZeroIndexed | Generic representation of a matrix: the outer list contains the rows, each row is represented by a list of non-zero values and a list of non-zero indices.
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Public method | TransposeAndMultiply | A.T*vector
Public method | TuplesNonZeroIndexed | Returns all non-zero elements in this BlockMatrix as tuples of (row, column, value)
Top
See Also

Reference

BlockMatrix Class


BlockMatrix.CalcSymmetric Method

BlockMatrixCalcSymmetric Method

Calculates the symmetric form A.T*Q*A, where A is THIS matrix

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public abstract BlockMatrix CalcSymmetric(
    BlockMatrix Q
)
Public MustOverride Function CalcSymmetric (
    Q As BlockMatrix
) As BlockMatrix
public:
virtual BlockMatrix^ CalcSymmetric(
    BlockMatrix^ Q
) abstract

Parameters

Q
Type: DHI.MPC.EngineBlockMatrix

[Missing <param name="Q"/> documentation for "M:DHI.MPC.Engine.BlockMatrix.CalcSymmetric(DHI.MPC.Engine.BlockMatrix)"]

Return Value

Type: BlockMatrix
A symmetric matrix.
See Also

Reference

BlockMatrix Class


BlockMatrix.GetRow Method

BlockMatrixGetRow Method

Get the i'th row of the BlockMatrix

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public abstract void GetRow(
    int i,
    out List<double> nonzeroValues,
    out List<int> nonzeroIndex
)
Public MustOverride Sub GetRow (
    i As Integer,
    <OutAttribute> ByRef nonzeroValues As List(Of Double),
    <OutAttribute> ByRef nonzeroIndex As List(Of Integer)
)
public:
virtual void GetRow(
    int i,
    [OutAttribute] List<double>^% nonzeroValues,
    [OutAttribute] List<int>^% nonzeroIndex
) abstract

Parameters

i
Type: SystemInt32
The row number.
nonzeroValues
Type: System.Collections.GenericList Double
List containing the values of the non-zero elements.
nonzeroIndex
Type: System.Collections.GenericList Int32
List containing the indices of the non-zero elements.
See Also

Reference

BlockMatrix Class


BlockMatrix.Multiply Method

BlockMatrixMultiply Method

Overload List
 | Name | Description
Public method | Multiply(Double) | Abstract method for multiplying a matrix by a scalar. The implementation depends on the matrix type
Public method | Multiply(BlockVectorBase) | Abstract method for multiplying a matrix by a vector from the right: A*x
Top
See Also

Reference

BlockMatrix Class


BlockMatrix.Multiply Method (Double)

BlockMatrixMultiply Method (Double)

Abstract method for multiplying a matrix by a scalar. The implementation depends on the matrix type

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public abstract BlockMatrix Multiply(
    double a
)
Public MustOverride Function Multiply (
    a As Double
) As BlockMatrix
public:
virtual BlockMatrix^ Multiply(
    double a
) abstract

Parameters

a
Type: SystemDouble
Scaling factor

Return Value

Type: BlockMatrix
The scaled matrix.
See Also

Reference

BlockMatrix Class
Multiply Overload


BlockMatrix.Multiply Method (BlockVectorBase)

BlockMatrixMultiply Method (BlockVectorBase)

Abstract method for multiplying a matrix by a vector from the right: A*x

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public abstract BlockVectorBase Multiply(
    BlockVectorBase x
)
Public MustOverride Function Multiply (
    x As BlockVectorBase
) As BlockVectorBase
public:
virtual BlockVectorBase^ Multiply(
    BlockVectorBase^ x
) abstract

Parameters

x
Type: DHI.MPC.EngineBlockVectorBase
A vector.

Return Value

Type: BlockVectorBase
A vector.
See Also

Reference

BlockMatrix Class
Multiply Overload


BlockMatrix.RowsNonZeroIndexed Method

BlockMatrixRowsNonZeroIndexed Method

Generic representation of a matrix: the outer list contains the rows, each row is represented by a list of non-zero values and a list of non-zero indices.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public IList<Tuple<IList<double>, IList<int>>> RowsNonZeroIndexed()
Public Function RowsNonZeroIndexed As IList(Of Tuple(Of IList(Of Double), IList(Of Integer)))
public:
IList<Tuple<IList<double>^, IList<int>^>^>^ RowsNonZeroIndexed()

Return Value

Type: IList Tuple IList Double , IList Int32

[Missing <returns> documentation for "M:DHI.MPC.Engine.BlockMatrix.RowsNonZeroIndexed"]

See Also

Reference

BlockMatrix Class


BlockMatrix.TransposeAndMultiply Method

BlockMatrixTransposeAndMultiply Method

A.T*vector

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public abstract BlockVectorBase TransposeAndMultiply(
    BlockVectorBase vector
)
Public MustOverride Function TransposeAndMultiply (
    vector As BlockVectorBase
) As BlockVectorBase
public:
virtual BlockVectorBase^ TransposeAndMultiply(
    BlockVectorBase^ vector
) abstract

Parameters

vector
Type: DHI.MPC.EngineBlockVectorBase

[Missing <param name="vector"/> documentation for "M:DHI.MPC.Engine.BlockMatrix.TransposeAndMultiply(DHI.MPC.Engine.BlockVectorBase)"]

Return Value

Type: BlockVectorBase

[Missing <returns> documentation for "M:DHI.MPC.Engine.BlockMatrix.TransposeAndMultiply(DHI.MPC.Engine.BlockVectorBase)"]

See Also

Reference

BlockMatrix Class


BlockMatrix.TuplesNonZeroIndexed Method

BlockMatrixTuplesNonZeroIndexed Method

Returns all non-zero elements in this BlockMatrix as tuples of (row, column, value)

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public IEnumerable<Tuple<int, int, double>> TuplesNonZeroIndexed()
Public Function TuplesNonZeroIndexed As IEnumerable(Of Tuple(Of Integer, Integer, Double))
public:
IEnumerable<Tuple<int, int, double>^>^ TuplesNonZeroIndexed()

Return Value

Type: IEnumerable TupleInt32, Int32, Double

[Missing <returns> documentation for "M:DHI.MPC.Engine.BlockMatrix.TuplesNonZeroIndexed"]

See Also

Reference

BlockMatrix Class


BlockMatrix Operators

Operators
Name | Description
Multiply(Double, BlockMatrix) | Multiplies the block matrix by a scalar.
Multiply(BlockMatrix, BlockVectorBase) | Multiplies THIS block matrix by a block vector.
Top
See Also

Reference

BlockMatrix Class


BlockMatrix.Multiply Operator

BlockMatrixMultiply Operator

Overload List
Name | Description
Multiply(Double, BlockMatrix) | Multiplies the block matrix by a scalar.
Multiply(BlockMatrix, BlockVectorBase) | Multiplies THIS block matrix by a block vector.
Top
See Also

Reference

BlockMatrix Class


BlockMatrix.Multiply Operator (Double, BlockMatrix)

BlockMatrixMultiply Operator (Double, BlockMatrix)

Multiplies the block matrix by a scalar.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public static BlockMatrix operator *(
    double a,
    BlockMatrix B
)
Public Shared Operator * (
    a As Double,
    B As BlockMatrix
) As BlockMatrix
public:
static BlockMatrix^ operator *(
    double a,
    BlockMatrix^ B
)

Parameters

a
Type: SystemDouble
Scalar multiplier,
B
Type: DHI.MPC.EngineBlockMatrix
BlockMatrix.

Return Value

Type: BlockMatrix

[Missing <returns> documentation for "M:DHI.MPC.Engine.BlockMatrix.op_Multiply(System.Double,DHI.MPC.Engine.BlockMatrix)"]

See Also

Reference

BlockMatrix Class
Multiply Overload


BlockMatrix.Multiply Operator (BlockMatrix, BlockVectorBase)

BlockMatrixMultiply Operator (BlockMatrix, BlockVectorBase)

Multiplies THIS block matrix by a block vector.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public static BlockVectorBase operator *(
    BlockMatrix A,
    BlockVectorBase x
)
Public Shared Operator * (
    A As BlockMatrix,
    x As BlockVectorBase
) As BlockVectorBase
public:
static BlockVectorBase^ operator *(
    BlockMatrix^ A,
    BlockVectorBase^ x
)

Parameters

A
Type: DHI.MPC.EngineBlockMatrix

[Missing <param name="A"/> documentation for "M:DHI.MPC.Engine.BlockMatrix.op_Multiply(DHI.MPC.Engine.BlockMatrix,DHI.MPC.Engine.BlockVectorBase)"]

x
Type: DHI.MPC.EngineBlockVectorBase

[Missing <param name="x"/> documentation for "M:DHI.MPC.Engine.BlockMatrix.op_Multiply(DHI.MPC.Engine.BlockMatrix,DHI.MPC.Engine.BlockVectorBase)"]

Return Value

Type: BlockVectorBase

[Missing <returns> documentation for "M:DHI.MPC.Engine.BlockMatrix.op_Multiply(DHI.MPC.Engine.BlockMatrix,DHI.MPC.Engine.BlockVectorBase)"]

See Also

Reference

BlockMatrix Class
Multiply Overload


BlockOneColumn Class

A block matrix with only one "block column"
| A |
| : |
| : |
| Z |
A .. Z must be matrices of equal dimensions.
Inheritance Hierarchy
SystemObject
DHI.MPC.EngineBlockMatrix
DHI.MPC.EngineBlockOneColumn

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public class BlockOneColumn : BlockMatrix
Public Class BlockOneColumn
    Inherits BlockMatrix
public ref class BlockOneColumn : public BlockMatrix

The BlockOneColumn type exposes the following members.

Constructors
 | Name | Description
Public method | BlockOneColumn | Creates an instance o BlockOneColumn, based on an array of matrices.
Top
Properties
 | Name | Description
Public property | ColumnCount | Gets the total number of columns of the block matrix. (Overrides BlockMatrixColumnCount.)
Public property | IsEmpty | Property to flag an empty matrix. (Inherited from BlockMatrix.)
Public property | RowCount | Gets the total number of rows of the block matrix (Overrides BlockMatrixRowCount.)
Top
Methods
 | Name | Description
Public method | CalcSymmetric | Calculates the symmetric form A.T*Q*A, where A is THIS matrix (Overrides BlockMatrixCalcSymmetric(BlockMatrix).)
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetRow | Get the i'th row of the BlockMatrix (Overrides BlockMatrixGetRow(Int32, ListDouble, ListInt32).)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | Multiply(Double) | Abstract method for multiplying a matrix by a scalar. The implementation depends on the matrix type (Overrides BlockMatrixMultiply(Double).)
Public method | Multiply(BlockVectorBase) | Abstract method for multiplying a matrix by a vector from the right: A*x (Overrides BlockMatrixMultiply(BlockVectorBase).)
Public method | RowsNonZeroIndexed | Generic representation of a matrix: the outer list contains the rows, each row is represented by a list of non-zero values and a list of non-zero indices. (Inherited from BlockMatrix.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Public method | TransposeAndMultiply | A.T*vector (Overrides BlockMatrixTransposeAndMultiply(BlockVectorBase).)
Public method | TuplesNonZeroIndexed | Returns all non-zero elements in this BlockMatrix as tuples of (row, column, value) (Inherited from BlockMatrix.)
Top
See Also

Reference

DHI.MPC.Engine Namespace


BlockOneColumn Constructor

Creates an instance o BlockOneColumn, based on an array of matrices.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public BlockOneColumn(
    Matrix[] matrixArray
)
Public Sub New (
    matrixArray As Matrix()
)
public:
BlockOneColumn(
    array<Matrix^>^ matrixArray
)

Parameters

matrixArray
Type: Matrix
See Also

Reference

BlockOneColumn Class


BlockOneColumn Properties

The BlockOneColumn type exposes the following members.

Properties
 | Name | Description
Public property | ColumnCount | Gets the total number of columns of the block matrix. (Overrides BlockMatrixColumnCount.)
Public property | IsEmpty | Property to flag an empty matrix. (Inherited from BlockMatrix.)
Public property | RowCount | Gets the total number of rows of the block matrix (Overrides BlockMatrixRowCount.)
Top
See Also

Reference

BlockOneColumn Class


BlockOneColumn.ColumnCount Property

BlockOneColumnColumnCount Property

Gets the total number of columns of the block matrix.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public override int ColumnCount { get; }
Public Overrides ReadOnly Property ColumnCount As Integer
    Get
public:
virtual property int ColumnCount {
    int get () override;
}

Property Value

Type: Int32
See Also

Reference

BlockOneColumn Class


BlockOneColumn.RowCount Property

BlockOneColumnRowCount Property

Gets the total number of rows of the block matrix

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public override int RowCount { get; }
Public Overrides ReadOnly Property RowCount As Integer
    Get
public:
virtual property int RowCount {
    int get () override;
}

Property Value

Type: Int32
See Also

Reference

BlockOneColumn Class


BlockOneColumn Methods

The BlockOneColumn type exposes the following members.

Methods
 | Name | Description
Public method | CalcSymmetric | Calculates the symmetric form A.T*Q*A, where A is THIS matrix (Overrides BlockMatrixCalcSymmetric(BlockMatrix).)
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetRow | Get the i'th row of the BlockMatrix (Overrides BlockMatrixGetRow(Int32, ListDouble, ListInt32).)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | Multiply(Double) | Abstract method for multiplying a matrix by a scalar. The implementation depends on the matrix type (Overrides BlockMatrixMultiply(Double).)
Public method | Multiply(BlockVectorBase) | Abstract method for multiplying a matrix by a vector from the right: A*x (Overrides BlockMatrixMultiply(BlockVectorBase).)
Public method | RowsNonZeroIndexed | Generic representation of a matrix: the outer list contains the rows, each row is represented by a list of non-zero values and a list of non-zero indices. (Inherited from BlockMatrix.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Public method | TransposeAndMultiply | A.T*vector (Overrides BlockMatrixTransposeAndMultiply(BlockVectorBase).)
Public method | TuplesNonZeroIndexed | Returns all non-zero elements in this BlockMatrix as tuples of (row, column, value) (Inherited from BlockMatrix.)
Top
See Also

Reference

BlockOneColumn Class


BlockOneColumn.CalcSymmetric Method

BlockOneColumnCalcSymmetric Method

Calculates the symmetric form A.T*Q*A, where A is THIS matrix

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public override BlockMatrix CalcSymmetric(
    BlockMatrix Q
)
Public Overrides Function CalcSymmetric (
    Q As BlockMatrix
) As BlockMatrix
public:
virtual BlockMatrix^ CalcSymmetric(
    BlockMatrix^ Q
) override

Parameters

Q
Type: DHI.MPC.EngineBlockMatrix

[Missing <param name="Q"/> documentation for "M:DHI.MPC.Engine.BlockOneColumn.CalcSymmetric(DHI.MPC.Engine.BlockMatrix)"]

Return Value

Type: BlockMatrix
A symmetric matrix.
See Also

Reference

BlockOneColumn Class


BlockOneColumn.GetRow Method

BlockOneColumnGetRow Method

Get the i'th row of the BlockMatrix

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public override void GetRow(
    int i,
    out List<double> nonzeroValues,
    out List<int> nonzeroIndex
)
Public Overrides Sub GetRow (
    i As Integer,
    <OutAttribute> ByRef nonzeroValues As List(Of Double),
    <OutAttribute> ByRef nonzeroIndex As List(Of Integer)
)
public:
virtual void GetRow(
    int i,
    [OutAttribute] List<double>^% nonzeroValues,
    [OutAttribute] List<int>^% nonzeroIndex
) override

Parameters

i
Type: SystemInt32
The row number.
nonzeroValues
Type: System.Collections.GenericListDouble
List containing the values of the non-zero elements.
nonzeroIndex
Type: System.Collections.GenericListInt32
List containing the indices of the non-zero elements.
See Also

Reference

BlockOneColumn Class


BlockOneColumn.Multiply Method

BlockOneColumnMultiply Method

Overload List
 | Name | Description
Public method | Multiply(Double) | Abstract method for multiplying a matrix by a scalar. The implementation depends on the matrix type (Overrides BlockMatrixMultiply(Double).)
Public method | Multiply(BlockVectorBase) | Abstract method for multiplying a matrix by a vector from the right: A*x (Overrides BlockMatrixMultiply(BlockVectorBase).)
Top
See Also

Reference

BlockOneColumn Class


BlockOneColumn.Multiply Method (Double)

BlockOneColumnMultiply Method (Double)

Abstract method for multiplying a matrix by a scalar. The implementation depends on the matrix type

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public override BlockMatrix Multiply(
    double a
)
Public Overrides Function Multiply (
    a As Double
) As BlockMatrix
public:
virtual BlockMatrix^ Multiply(
    double a
) override

Parameters

a
Type: SystemDouble
Scaling factor

Return Value

Type: BlockMatrix
The scaled matrix.
See Also

Reference

BlockOneColumn Class
Multiply Overload


BlockOneColumn.Multiply Method (BlockVectorBase)

BlockOneColumnMultiply Method (BlockVectorBase)

Abstract method for multiplying a matrix by a vector from the right: A*x

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public override BlockVectorBase Multiply(
    BlockVectorBase vector
)
Public Overrides Function Multiply (
    vector As BlockVectorBase
) As BlockVectorBase
public:
virtual BlockVectorBase^ Multiply(
    BlockVectorBase^ vector
) override

Parameters

vector
Type: DHI.MPC.EngineBlockVectorBase

[Missing <param name="vector"/> documentation for "M:DHI.MPC.Engine.BlockOneColumn.Multiply(DHI.MPC.Engine.BlockVectorBase)"]

Return Value

Type: BlockVectorBase
A vector.
See Also

Reference

BlockOneColumn Class
Multiply Overload


BlockOneColumn.TransposeAndMultiply Method

BlockOneColumnTransposeAndMultiply Method

A.T*vector

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public override BlockVectorBase TransposeAndMultiply(
    BlockVectorBase vector
)
Public Overrides Function TransposeAndMultiply (
    vector As BlockVectorBase
) As BlockVectorBase
public:
virtual BlockVectorBase^ TransposeAndMultiply(
    BlockVectorBase^ vector
) override

Parameters

vector
Type: DHI.MPC.EngineBlockVectorBase

[Missing <param name="vector"/> documentation for "M:DHI.MPC.Engine.BlockOneColumn.TransposeAndMultiply(DHI.MPC.Engine.BlockVectorBase)"]

Return Value

Type: BlockVectorBase

[Missing <returns> documentation for "M:DHI.MPC.Engine.BlockOneColumn.TransposeAndMultiply(DHI.MPC.Engine.BlockVectorBase)"]

See Also

Reference

BlockOneColumn Class


BlockSymmetric Class

| A0 B0.T C0.T D0.T |
| B0 A1 B1.T C1.T |
| C0 B1 A2 B2.T |
| D0 C1 B2 A3 |
The blocks must be quadratic, and the diagonal blocks A0, A1,... must be symmetric
The data structure will store only the diagonal elements and the lower triangular elements.
Inheritance Hierarchy
SystemObject
DHI.MPC.EngineBlockMatrix
DHI.MPC.EngineBlockSymmetric

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public class BlockSymmetric : BlockMatrix
Public Class BlockSymmetric
    Inherits BlockMatrix
public ref class BlockSymmetric : public BlockMatrix

The BlockSymmetric type exposes the following members.

Properties
 | Name | Description
Public property | ColumnCount | Gets the total number of columns of the block matrix. (Overrides BlockMatrixColumnCount.)
Public property | IsEmpty | Property to flag an empty matrix. (Inherited from BlockMatrix.)
Public property | Item | Get the value of the matrix element at (i,j), where i and j are indices in the "global" matrix.
Public property | RowCount | Gets the total number of rows (Overrides BlockMatrixRowCount.)
Top
Methods
 | Name | Description
Public method | CalcSymmetric | Calculates the symmetric form A.T*Q*A, where A is THIS matrix (Overrides BlockMatrixCalcSymmetric(BlockMatrix).)
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetRow | Get the i'th row of the BlockMatrix (Overrides BlockMatrixGetRow(Int32, ListDouble, ListInt32).)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | Multiply(Double) | Abstract method for multiplying a matrix by a scalar. The implementation depends on the matrix type (Overrides BlockMatrixMultiply(Double).)
Public method | Multiply(BlockVectorBase) | Abstract method for multiplying a matrix by a vector from the right: A*x (Overrides BlockMatrixMultiply(BlockVectorBase).)
Public method | RowsNonZeroIndexed | Generic representation of a matrix: the outer list contains the rows, each row is represented by a list of non-zero values and a list of non-zero indices. (Inherited from BlockMatrix.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Public method | TransposeAndMultiply | A.T*vector (Overrides BlockMatrixTransposeAndMultiply(BlockVectorBase).)
Public method | TuplesNonZeroIndexed | Returns all non-zero elements in this BlockMatrix as tuples of (row, column, value) (Inherited from BlockMatrix.)
Top
Operators
Name | Description
Addition(BlockSymmetric, BlockDiagonal) | Adds a BlockSymmetric and a BlockDiagonal. The latter is also symmetric, so the result remains symmetric.
Addition(BlockSymmetric, BlockDiagonalRepeatedBlock) | Adds a BlockSymmetric and a BlockDiagonalRepeatedBlock. The latter is also symmetric, so the result remains symmetric.
Addition(BlockSymmetric, BlockSymmetric) | Adds two BlockSymmetric matrices
Top
See Also

Reference

DHI.MPC.Engine Namespace


BlockSymmetric Properties

The BlockSymmetric type exposes the following members.

Properties
 | Name | Description
Public property | ColumnCount | Gets the total number of columns of the block matrix. (Overrides BlockMatrixColumnCount.)
Public property | IsEmpty | Property to flag an empty matrix. (Inherited from BlockMatrix.)
Public property | Item | Get the value of the matrix element at (i,j), where i and j are indices in the "global" matrix.
Public property | RowCount | Gets the total number of rows (Overrides BlockMatrixRowCount.)
Top
See Also

Reference

BlockSymmetric Class


BlockSymmetric.ColumnCount Property

BlockSymmetricColumnCount Property

Gets the total number of columns of the block matrix.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public override int ColumnCount { get; }
Public Overrides ReadOnly Property ColumnCount As Integer
    Get
public:
virtual property int ColumnCount {
    int get () override;
}

Property Value

Type: Int32
See Also

Reference

BlockSymmetric Class


BlockSymmetric.Item Property

BlockSymmetricItem Property

Get the value of the matrix element at (i,j), where i and j are indices in the "global" matrix.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public double this[
    int i,
    int j
] { get; }
Public ReadOnly Default Property Item (
    i As Integer,
    j As Integer
) As Double
    Get
public:
property double default[int i, int j] {
    double get (int i, int j);
}

Parameters

i
Type: SystemInt32
Row number in the "global" matrix.
j
Type: SystemInt32
Column number in the "global" matrix.

Return Value

Type: Double
See Also

Reference

BlockSymmetric Class


BlockSymmetric.RowCount Property

BlockSymmetricRowCount Property

Gets the total number of rows

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public override int RowCount { get; }
Public Overrides ReadOnly Property RowCount As Integer
    Get
public:
virtual property int RowCount {
    int get () override;
}

Property Value

Type: Int32
See Also

Reference

BlockSymmetric Class


BlockSymmetric Methods

The BlockSymmetric type exposes the following members.

Methods
 | Name | Description
Public method | CalcSymmetric | Calculates the symmetric form A.T*Q*A, where A is THIS matrix (Overrides BlockMatrixCalcSymmetric(BlockMatrix).)
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetRow | Get the i'th row of the BlockMatrix (Overrides BlockMatrixGetRow(Int32, ListDouble, ListInt32).)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | Multiply(Double) | Abstract method for multiplying a matrix by a scalar. The implementation depends on the matrix type (Overrides BlockMatrixMultiply(Double).)
Public method | Multiply(BlockVectorBase) | Abstract method for multiplying a matrix by a vector from the right: A*x (Overrides BlockMatrixMultiply(BlockVectorBase).)
Public method | RowsNonZeroIndexed | Generic representation of a matrix: the outer list contains the rows, each row is represented by a list of non-zero values and a list of non-zero indices. (Inherited from BlockMatrix.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Public method | TransposeAndMultiply | A.T*vector (Overrides BlockMatrixTransposeAndMultiply(BlockVectorBase).)
Public method | TuplesNonZeroIndexed | Returns all non-zero elements in this BlockMatrix as tuples of (row, column, value) (Inherited from BlockMatrix.)
Top
See Also

Reference

BlockSymmetric Class


BlockSymmetric.CalcSymmetric Method

BlockSymmetricCalcSymmetric Method

Calculates the symmetric form A.T*Q*A, where A is THIS matrix

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public override BlockMatrix CalcSymmetric(
    BlockMatrix Q
)
Public Overrides Function CalcSymmetric (
    Q As BlockMatrix
) As BlockMatrix
public:
virtual BlockMatrix^ CalcSymmetric(
    BlockMatrix^ Q
) override

Parameters

Q
Type: DHI.MPC.EngineBlockMatrix

[Missing <param name="Q"/> documentation for "M:DHI.MPC.Engine.BlockSymmetric.CalcSymmetric(DHI.MPC.Engine.BlockMatrix)"]

Return Value

Type: BlockMatrix
A symmetric matrix.
See Also

Reference

BlockSymmetric Class


BlockSymmetric.GetRow Method

BlockSymmetricGetRow Method

Get the i'th row of the BlockMatrix

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public override void GetRow(
    int i,
    out List<double> nonzeroValues,
    out List<int> nonzeroIndex
)
Public Overrides Sub GetRow (
    i As Integer,
    <OutAttribute> ByRef nonzeroValues As List(Of Double),
    <OutAttribute> ByRef nonzeroIndex As List(Of Integer)
)
public:
virtual void GetRow(
    int i,
    [OutAttribute] List<double>^% nonzeroValues,
    [OutAttribute] List<int>^% nonzeroIndex
) override

Parameters

i
Type: SystemInt32
The row number.
nonzeroValues
Type: System.Collections.GenericListDouble
List containing the values of the non-zero elements.
nonzeroIndex
Type: System.Collections.GenericListInt32
List containing the indices of the non-zero elements.
See Also

Reference

BlockSymmetric Class


BlockSymmetric.Multiply Method

BlockSymmetricMultiply Method

Overload List
 | Name | Description
Public method | Multiply(Double) | Abstract method for multiplying a matrix by a scalar. The implementation depends on the matrix type (Overrides BlockMatrixMultiply(Double).)
Public method | Multiply(BlockVectorBase) | Abstract method for multiplying a matrix by a vector from the right: A*x (Overrides BlockMatrixMultiply(BlockVectorBase).)
Top
See Also

Reference

BlockSymmetric Class


BlockSymmetric.Multiply Method (Double)

BlockSymmetricMultiply Method (Double)

Abstract method for multiplying a matrix by a scalar. The implementation depends on the matrix type

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public override BlockMatrix Multiply(
    double a
)
Public Overrides Function Multiply (
    a As Double
) As BlockMatrix
public:
virtual BlockMatrix^ Multiply(
    double a
) override

Parameters

a
Type: SystemDouble
Scaling factor

Return Value

Type: BlockMatrix
The scaled matrix.
See Also

Reference

BlockSymmetric Class
Multiply Overload


BlockSymmetric.Multiply Method (BlockVectorBase)

BlockSymmetricMultiply Method (BlockVectorBase)

Abstract method for multiplying a matrix by a vector from the right: A*x

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public override BlockVectorBase Multiply(
    BlockVectorBase x
)
Public Overrides Function Multiply (
    x As BlockVectorBase
) As BlockVectorBase
public:
virtual BlockVectorBase^ Multiply(
    BlockVectorBase^ x
) override

Parameters

x
Type: DHI.MPC.EngineBlockVectorBase
A vector.

Return Value

Type: BlockVectorBase
A vector.
See Also

Reference

BlockSymmetric Class
Multiply Overload


BlockSymmetric.TransposeAndMultiply Method

BlockSymmetricTransposeAndMultiply Method

A.T*vector

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public override BlockVectorBase TransposeAndMultiply(
    BlockVectorBase vector
)
Public Overrides Function TransposeAndMultiply (
    vector As BlockVectorBase
) As BlockVectorBase
public:
virtual BlockVectorBase^ TransposeAndMultiply(
    BlockVectorBase^ vector
) override

Parameters

vector
Type: DHI.MPC.EngineBlockVectorBase

[Missing <param name="vector"/> documentation for "M:DHI.MPC.Engine.BlockSymmetric.TransposeAndMultiply(DHI.MPC.Engine.BlockVectorBase)"]

Return Value

Type: BlockVectorBase

[Missing <returns> documentation for "M:DHI.MPC.Engine.BlockSymmetric.TransposeAndMultiply(DHI.MPC.Engine.BlockVectorBase)"]

See Also

Reference

BlockSymmetric Class


BlockSymmetric Operators

Operators
Name | Description
Addition(BlockSymmetric, BlockDiagonal) | Adds a BlockSymmetric and a BlockDiagonal. The latter is also symmetric, so the result remains symmetric.
Addition(BlockSymmetric, BlockDiagonalRepeatedBlock) | Adds a BlockSymmetric and a BlockDiagonalRepeatedBlock. The latter is also symmetric, so the result remains symmetric.
Addition(BlockSymmetric, BlockSymmetric) | Adds two BlockSymmetric matrices
Top
See Also

Reference

BlockSymmetric Class


BlockSymmetric.Addition Operator

BlockSymmetricAddition Operator

Overload List
Name | Description
Addition(BlockSymmetric, BlockDiagonal) | Adds a BlockSymmetric and a BlockDiagonal. The latter is also symmetric, so the result remains symmetric.
Addition(BlockSymmetric, BlockDiagonalRepeatedBlock) | Adds a BlockSymmetric and a BlockDiagonalRepeatedBlock. The latter is also symmetric, so the result remains symmetric.
Addition(BlockSymmetric, BlockSymmetric) | Adds two BlockSymmetric matrices
Top
See Also

Reference

BlockSymmetric Class


BlockSymmetric.Addition Operator (BlockSymmetric, BlockDiagonal)

BlockSymmetricAddition Operator (BlockSymmetric, BlockDiagonal)

Adds a BlockSymmetric and a BlockDiagonal. The latter is also symmetric, so the result remains symmetric.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public static BlockSymmetric operator +(
    BlockSymmetric A,
    BlockDiagonal B
)
Public Shared Operator + (
    A As BlockSymmetric,
    B As BlockDiagonal
) As BlockSymmetric
public:
static BlockSymmetric^ operator +(
    BlockSymmetric^ A,
    BlockDiagonal^ B
)

Parameters

A
Type: DHI.MPC.EngineBlockSymmetric
Symmetric Matrix
B
Type: DHI.MPC.EngineBlockDiagonal
Block diagonal matrix.

Return Value

Type: BlockSymmetric
A symmetric matrix
See Also

Reference

BlockSymmetric Class
Addition Overload


BlockSymmetric.Addition Operator (BlockSymmetric, BlockDiagonalRepeatedBlock)

BlockSymmetricAddition Operator (BlockSymmetric, BlockDiagonalRepeatedBlock)

Adds a BlockSymmetric and a BlockDiagonalRepeatedBlock. The latter is also symmetric, so the result remains symmetric.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public static BlockSymmetric operator +(
    BlockSymmetric A,
    BlockDiagonalRepeatedBlock B
)
Public Shared Operator + (
    A As BlockSymmetric,
    B As BlockDiagonalRepeatedBlock
) As BlockSymmetric
public:
static BlockSymmetric^ operator +(
    BlockSymmetric^ A,
    BlockDiagonalRepeatedBlock^ B
)

Parameters

A
Type: DHI.MPC.EngineBlockSymmetric
Symmetric Matrix
B
Type: DHI.MPC.EngineBlockDiagonalRepeatedBlock
Block diagonal matrix.

Return Value

Type: BlockSymmetric
A symmetric matrix
See Also

Reference

BlockSymmetric Class
Addition Overload


BlockSymmetric.Addition Operator (BlockSymmetric, BlockSymmetric)

BlockSymmetricAddition Operator (BlockSymmetric, BlockSymmetric)

Adds two BlockSymmetric matrices

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public static BlockSymmetric operator +(
    BlockSymmetric A,
    BlockSymmetric B
)
Public Shared Operator + (
    A As BlockSymmetric,
    B As BlockSymmetric
) As BlockSymmetric
public:
static BlockSymmetric^ operator +(
    BlockSymmetric^ A,
    BlockSymmetric^ B
)

Parameters

A
Type: DHI.MPC.EngineBlockSymmetric
A symmetric matrix
B
Type: DHI.MPC.EngineBlockSymmetric
A symmetric matrix

Return Value

Type: BlockSymmetric
A symmetric matrix in BlockSymmetric format.
See Also

Reference

BlockSymmetric Class
Addition Overload


BlockVector Class

|A_1|
| . |
| . |
|A_n|
A vector of matrices (A_1 to A_n). The sub-matrices must be of equal dimensions.
Inheritance Hierarchy
SystemObject
DHI.MPC.EngineBlockVectorBase
DHI.MPC.EngineBlockVector

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public class BlockVector : BlockVectorBase
Public Class BlockVector
    Inherits BlockVectorBase
public ref class BlockVector : public BlockVectorBase

The BlockVector type exposes the following members.

Properties
 | Name | Description
Public property | IsEmpty | Property to flag an empty vector. (Inherited from BlockVectorBase.)
Top
Methods
 | Name | Description
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Protected method | Minus | Subtracts b from THIS block vector (Overrides BlockVectorBaseMinus(BlockVectorBase).)
Protected method | Multiply | Multiplies THIS vector by the scalar a (Overrides BlockVectorBaseMultiply(Double).)
Protected method | Plus | Adds b to THIS matrix (Overrides BlockVectorBasePlus(BlockVectorBase).)
Public method | ToArray | Converts the BlockVector to an array of double (Overrides BlockVectorBaseToArray.)
Protected method | ToList | Copies the vector values to a list of double (Overrides BlockVectorBaseToList.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

DHI.MPC.Engine Namespace


BlockVector Properties

The BlockVector type exposes the following members.

Properties
 | Name | Description
Public property | IsEmpty | Property to flag an empty vector. (Inherited from BlockVectorBase.)
Top
See Also

Reference

BlockVector Class


BlockVector Methods

The BlockVector type exposes the following members.

Methods
 | Name | Description
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Protected method | Minus | Subtracts b from THIS block vector (Overrides BlockVectorBaseMinus(BlockVectorBase).)
Protected method | Multiply | Multiplies THIS vector by the scalar a (Overrides BlockVectorBaseMultiply(Double).)
Protected method | Plus | Adds b to THIS matrix (Overrides BlockVectorBasePlus(BlockVectorBase).)
Public method | ToArray | Converts the BlockVector to an array of double (Overrides BlockVectorBaseToArray.)
Protected method | ToList | Copies the vector values to a list of double (Overrides BlockVectorBaseToList.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

BlockVector Class


BlockVector.Minus Method

BlockVectorMinus Method

Subtracts b from THIS block vector

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
protected override BlockVectorBase Minus(
    BlockVectorBase b
)
Protected Overrides Function Minus (
    b As BlockVectorBase
) As BlockVectorBase
protected:
virtual BlockVectorBase^ Minus(
    BlockVectorBase^ b
) override

Parameters

b
Type: DHI.MPC.EngineBlockVectorBase
A BlockVector which must be of same dimensions as THIS block vector.

Return Value

Type: BlockVectorBase

[Missing <returns> documentation for "M:DHI.MPC.Engine.BlockVector.Minus(DHI.MPC.Engine.BlockVectorBase)"]

See Also

Reference

BlockVector Class


BlockVector.Multiply Method

BlockVectorMultiply Method

Multiplies THIS vector by the scalar a

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
protected override BlockVectorBase Multiply(
    double c
)
Protected Overrides Function Multiply (
    c As Double
) As BlockVectorBase
protected:
virtual BlockVectorBase^ Multiply(
    double c
) override

Parameters

c
Type: SystemDouble

[Missing <param name="c"/> documentation for "M:DHI.MPC.Engine.BlockVector.Multiply(System.Double)"]

Return Value

Type: BlockVectorBase

[Missing <returns> documentation for "M:DHI.MPC.Engine.BlockVector.Multiply(System.Double)"]

See Also

Reference

BlockVector Class


BlockVector.Plus Method

BlockVectorPlus Method

Adds b to THIS matrix

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
protected override BlockVectorBase Plus(
    BlockVectorBase b
)
Protected Overrides Function Plus (
    b As BlockVectorBase
) As BlockVectorBase
protected:
virtual BlockVectorBase^ Plus(
    BlockVectorBase^ b
) override

Parameters

b
Type: DHI.MPC.EngineBlockVectorBase
A BlockVector which must be of same dimensions as THIS matrix

Return Value

Type: BlockVectorBase

[Missing <returns> documentation for "M:DHI.MPC.Engine.BlockVector.Plus(DHI.MPC.Engine.BlockVectorBase)"]

See Also

Reference

BlockVector Class


BlockVector.ToArray Method

BlockVectorToArray Method

Converts the BlockVector to an array of double

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public override double[] ToArray()
Public Overrides Function ToArray As Double()
public:
virtual array<double>^ ToArray() override

Return Value

Type: Double
An array of double, filled with the values of the block vector.
See Also

Reference

BlockVector Class


BlockVector.ToList Method

BlockVectorToList Method

Copies the vector values to a list of double

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
protected override List<double> ToList()
Protected Overrides Function ToList As List(Of Double)
protected:
virtual List<double>^ ToList() override

Return Value

Type: ListDouble

[Missing <returns> documentation for "M:DHI.MPC.Engine.BlockVector.ToList"]

See Also

Reference

BlockVector Class


BlockVectorBase Class

Base class for block vector storage and manipulation
Inheritance Hierarchy
SystemObject
DHI.MPC.EngineBlockVectorBase
DHI.MPC.EngineBlockVector
DHI.MPC.EngineBlockVectorConcatenated

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public abstract class BlockVectorBase
Public MustInherit Class BlockVectorBase
public ref class BlockVectorBase abstract

The BlockVectorBase type exposes the following members.

Constructors
 | Name | Description
Protected method | BlockVectorBase | Initializes a new instance of the BlockVectorBase class
Top
Properties
 | Name | Description
Public property | IsEmpty | Property to flag an empty vector.
Top
Methods
 | Name | Description
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Protected method | Minus | Subtracts y from THIS vector
Protected method | Multiply | Multiplies THIS vector by the scalar a
Protected method | Plus | Adds y to THIS vector
Public method | ToArray | Copies the vector values to an array of double.
Protected method | ToList | Copies the vector values to a list of double
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
Operators
Name | Description
Addition | Add two block vectors.
Multiply(Double, BlockVectorBase) | Multiply a block vector by a scalar from the left. A new block vector is created for the result, the original vector is NOT overwritten.
Multiply(BlockVectorBase, Double) | Multiply a block vector by a scalar from the right. A new block vector is created for the result, the original vector is NOT overwritten.
Subtraction | Subtract two block vectors
Top
See Also

Reference

DHI.MPC.Engine Namespace


BlockVectorBase Constructor

Initializes a new instance of the BlockVectorBase class

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
protected BlockVectorBase()
Protected Sub New
protected:
BlockVectorBase()
See Also

Reference

BlockVectorBase Class


BlockVectorBase Properties

The BlockVectorBase type exposes the following members.

Properties
 | Name | Description
Public property | IsEmpty | Property to flag an empty vector.
Top
See Also

Reference

BlockVectorBase Class


BlockVectorBase.IsEmpty Property

BlockVectorBaseIsEmpty Property

Property to flag an empty vector.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public bool IsEmpty { get; protected set; }
Public Property IsEmpty As Boolean
    Get
    Protected Set
public:
property bool IsEmpty {
    bool get ();
    protected: void set (bool value);
}

Property Value

Type: Boolean
See Also

Reference

BlockVectorBase Class


BlockVectorBase Methods

The BlockVectorBase type exposes the following members.

Methods
 | Name | Description
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Protected method | Minus | Subtracts y from THIS vector
Protected method | Multiply | Multiplies THIS vector by the scalar a
Protected method | Plus | Adds y to THIS vector
Public method | ToArray | Copies the vector values to an array of double.
Protected method | ToList | Copies the vector values to a list of double
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

BlockVectorBase Class


BlockVectorBase.Minus Method

BlockVectorBaseMinus Method

Subtracts y from THIS vector

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
protected abstract BlockVectorBase Minus(
    BlockVectorBase y
)
Protected MustOverride Function Minus (
    y As BlockVectorBase
) As BlockVectorBase
protected:
virtual BlockVectorBase^ Minus(
    BlockVectorBase^ y
) abstract

Parameters

y
Type: DHI.MPC.EngineBlockVectorBase
y BlockVector which must be of same dimensions as THIS vector.

Return Value

Type: BlockVectorBase

[Missing <returns> documentation for "M:DHI.MPC.Engine.BlockVectorBase.Minus(DHI.MPC.Engine.BlockVectorBase)"]

See Also

Reference

BlockVectorBase Class


BlockVectorBase.Multiply Method

BlockVectorBaseMultiply Method

Multiplies THIS vector by the scalar a

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
protected abstract BlockVectorBase Multiply(
    double a
)
Protected MustOverride Function Multiply (
    a As Double
) As BlockVectorBase
protected:
virtual BlockVectorBase^ Multiply(
    double a
) abstract

Parameters

a
Type: SystemDouble
The scaling factor

Return Value

Type: BlockVectorBase

[Missing <returns> documentation for "M:DHI.MPC.Engine.BlockVectorBase.Multiply(System.Double)"]

See Also

Reference

BlockVectorBase Class


BlockVectorBase.Plus Method

BlockVectorBasePlus Method

Adds y to THIS vector

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
protected abstract BlockVectorBase Plus(
    BlockVectorBase y
)
Protected MustOverride Function Plus (
    y As BlockVectorBase
) As BlockVectorBase
protected:
virtual BlockVectorBase^ Plus(
    BlockVectorBase^ y
) abstract

Parameters

y
Type: DHI.MPC.EngineBlockVectorBase
y BlockVector which must be of same dimensions as THIS vector.

Return Value

Type: BlockVectorBase

[Missing <returns> documentation for "M:DHI.MPC.Engine.BlockVectorBase.Plus(DHI.MPC.Engine.BlockVectorBase)"]

See Also

Reference

BlockVectorBase Class


BlockVectorBase.ToArray Method

BlockVectorBaseToArray Method

Copies the vector values to an array of double.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public abstract double[] ToArray()
Public MustOverride Function ToArray As Double()
public:
virtual array<double>^ ToArray() abstract

Return Value

Type: Double
An array of double which contains the vector values
See Also

Reference

BlockVectorBase Class


BlockVectorBase.ToList Method

BlockVectorBaseToList Method

Copies the vector values to a list of double

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
protected abstract List<double> ToList()
Protected MustOverride Function ToList As List(Of Double)
protected:
virtual List<double>^ ToList() abstract

Return Value

Type: ListDouble

[Missing <returns> documentation for "M:DHI.MPC.Engine.BlockVectorBase.ToList"]

See Also

Reference

BlockVectorBase Class


BlockVectorBase Operators

The BlockVectorBase type exposes the following members.

Operators
Name | Description
Addition | Add two block vectors.
Multiply(Double, BlockVectorBase) | Multiply a block vector by a scalar from the left. A new block vector is created for the result, the original vector is NOT overwritten.
Multiply(BlockVectorBase, Double) | Multiply a block vector by a scalar from the right. A new block vector is created for the result, the original vector is NOT overwritten.
Subtraction | Subtract two block vectors
Top
See Also

Reference

BlockVectorBase Class


BlockVectorBase.Addition Operator

BlockVectorBaseAddition Operator

Add two block vectors.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public static BlockVectorBase operator +(
    BlockVectorBase x,
    BlockVectorBase y
)
Public Shared Operator + (
    x As BlockVectorBase,
    y As BlockVectorBase
) As BlockVectorBase
public:
static BlockVectorBase^ operator +(
    BlockVectorBase^ x,
    BlockVectorBase^ y
)

Parameters

x
Type: DHI.MPC.EngineBlockVectorBase

[Missing <param name="x"/> documentation for "M:DHI.MPC.Engine.BlockVectorBase.op_Addition(DHI.MPC.Engine.BlockVectorBase,DHI.MPC.Engine.BlockVectorBase)"]

y
Type: DHI.MPC.EngineBlockVectorBase

[Missing <param name="y"/> documentation for "M:DHI.MPC.Engine.BlockVectorBase.op_Addition(DHI.MPC.Engine.BlockVectorBase,DHI.MPC.Engine.BlockVectorBase)"]

Return Value

Type: BlockVectorBase

[Missing <returns> documentation for "M:DHI.MPC.Engine.BlockVectorBase.op_Addition(DHI.MPC.Engine.BlockVectorBase,DHI.MPC.Engine.BlockVectorBase)"]

See Also

Reference

BlockVectorBase Class


BlockVectorBase.Multiply Operator

BlockVectorBaseMultiply Operator

Overload List
Name | Description
Multiply(Double, BlockVectorBase) | Multiply a block vector by a scalar from the left. A new block vector is created for the result, the original vector is NOT overwritten.
Multiply(BlockVectorBase, Double) | Multiply a block vector by a scalar from the right. A new block vector is created for the result, the original vector is NOT overwritten.
Top
See Also

Reference

BlockVectorBase Class


BlockVectorBase.Multiply Operator (Double, BlockVectorBase)

BlockVectorBaseMultiply Operator (Double, BlockVectorBase)

Multiply a block vector by a scalar from the left. A new block vector is created for the result, the original vector is NOT overwritten.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public static BlockVectorBase operator *(
    double a,
    BlockVectorBase vec
)
Public Shared Operator * (
    a As Double,
    vec As BlockVectorBase
) As BlockVectorBase
public:
static BlockVectorBase^ operator *(
    double a,
    BlockVectorBase^ vec
)

Parameters

a
Type: SystemDouble
A scalar
vec
Type: DHI.MPC.EngineBlockVectorBase
The block vector

Return Value

Type: BlockVectorBase
The scaled block vector.
See Also

Reference

BlockVectorBase Class
Multiply Overload


BlockVectorBase.Multiply Operator (BlockVectorBase, Double)

BlockVectorBaseMultiply Operator (BlockVectorBase, Double)

Multiply a block vector by a scalar from the right. A new block vector is created for the result, the original vector is NOT overwritten.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public static BlockVectorBase operator *(
    BlockVectorBase vec,
    double a
)
Public Shared Operator * (
    vec As BlockVectorBase,
    a As Double
) As BlockVectorBase
public:
static BlockVectorBase^ operator *(
    BlockVectorBase^ vec,
    double a
)

Parameters

vec
Type: DHI.MPC.EngineBlockVectorBase
The block vector
a
Type: SystemDouble
A scalar

Return Value

Type: BlockVectorBase
The scaled block vector.
See Also

Reference

BlockVectorBase Class
Multiply Overload


BlockVectorBase.Subtraction Operator

BlockVectorBaseSubtraction Operator

Subtract two block vectors

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public static BlockVectorBase operator -(
    BlockVectorBase x,
    BlockVectorBase y
)
Public Shared Operator - (
    x As BlockVectorBase,
    y As BlockVectorBase
) As BlockVectorBase
public:
static BlockVectorBase^ operator -(
    BlockVectorBase^ x,
    BlockVectorBase^ y
)

Parameters

x
Type: DHI.MPC.EngineBlockVectorBase

[Missing <param name="x"/> documentation for "M:DHI.MPC.Engine.BlockVectorBase.op_Subtraction(DHI.MPC.Engine.BlockVectorBase,DHI.MPC.Engine.BlockVectorBase)"]

y
Type: DHI.MPC.EngineBlockVectorBase

[Missing <param name="y"/> documentation for "M:DHI.MPC.Engine.BlockVectorBase.op_Subtraction(DHI.MPC.Engine.BlockVectorBase,DHI.MPC.Engine.BlockVectorBase)"]

Return Value

Type: BlockVectorBase

[Missing <returns> documentation for "M:DHI.MPC.Engine.BlockVectorBase.op_Subtraction(DHI.MPC.Engine.BlockVectorBase,DHI.MPC.Engine.BlockVectorBase)"]

See Also

Reference

BlockVectorBase Class


BlockVectorConcatenated Class

Concatenation of block vectors.
Inheritance Hierarchy
SystemObject
DHI.MPC.EngineBlockVectorBase
DHI.MPC.EngineBlockVectorConcatenated

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public class BlockVectorConcatenated : BlockVectorBase
Public Class BlockVectorConcatenated
    Inherits BlockVectorBase
public ref class BlockVectorConcatenated : public BlockVectorBase

The BlockVectorConcatenated type exposes the following members.

Constructors
 | Name | Description
Public method | BlockVectorConcatenated | Creates a new BlockVectorConcatenated from a list of block vectors
Top
Properties
 | Name | Description
Public property | IsEmpty | Property to flag an empty vector. (Inherited from BlockVectorBase.)
Top
Methods
 | Name | Description
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Protected method | Minus | Subtracts y from THIS vector (Overrides BlockVectorBaseMinus(BlockVectorBase).)
Protected method | Multiply | Multiplies THIS vector by the scalar a (Overrides BlockVectorBaseMultiply(Double).)
Protected method | Plus | Adds y to THIS vector (Overrides BlockVectorBasePlus(BlockVectorBase).)
Public method | ToArray | Copies the vector values to an array of double. (Overrides BlockVectorBaseToArray.)
Protected method | ToList | Copies the vector values to a list of double (Overrides BlockVectorBaseToList.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

DHI.MPC.Engine Namespace


BlockVectorConcatenated Constructor

Creates a new BlockVectorConcatenated from a list of block vectors

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public BlockVectorConcatenated(
    List<BlockVectorBase> blockVectorList
)
Public Sub New (
    blockVectorList As List(Of BlockVectorBase)
)
public:
BlockVectorConcatenated(
    List<BlockVectorBase^>^ blockVectorList
)

Parameters

blockVectorList
Type: System.Collections.GenericListBlockVectorBase
See Also

Reference

BlockVectorConcatenated Class


BlockVectorConcatenated Properties

The BlockVectorConcatenated type exposes the following members.

Properties
 | Name | Description
Public property | IsEmpty | Property to flag an empty vector. (Inherited from BlockVectorBase.)
Top
See Also

Reference

BlockVectorConcatenated Class


BlockVectorConcatenated Methods

The BlockVectorConcatenated type exposes the following members.

Methods
 | Name | Description
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Protected method | Minus | Subtracts y from THIS vector (Overrides BlockVectorBaseMinus(BlockVectorBase).)
Protected method | Multiply | Multiplies THIS vector by the scalar a (Overrides BlockVectorBaseMultiply(Double).)
Protected method | Plus | Adds y to THIS vector (Overrides BlockVectorBasePlus(BlockVectorBase).)
Public method | ToArray | Copies the vector values to an array of double. (Overrides BlockVectorBaseToArray.)
Protected method | ToList | Copies the vector values to a list of double (Overrides BlockVectorBaseToList.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

BlockVectorConcatenated Class


BlockVectorConcatenated.Minus Method

BlockVectorConcatenatedMinus Method

Subtracts y from THIS vector

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
protected override BlockVectorBase Minus(
    BlockVectorBase y
)
Protected Overrides Function Minus (
    y As BlockVectorBase
) As BlockVectorBase
protected:
virtual BlockVectorBase^ Minus(
    BlockVectorBase^ y
) override

Parameters

y
Type: DHI.MPC.EngineBlockVectorBase
y BlockVector which must be of same dimensions as THIS vector.

Return Value

Type: BlockVectorBase

[Missing <returns> documentation for "M:DHI.MPC.Engine.BlockVectorConcatenated.Minus(DHI.MPC.Engine.BlockVectorBase)"]

See Also

Reference

BlockVectorConcatenated Class


BlockVectorConcatenated.Multiply Method

BlockVectorConcatenatedMultiply Method

Multiplies THIS vector by the scalar a

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
protected override BlockVectorBase Multiply(
    double a
)
Protected Overrides Function Multiply (
    a As Double
) As BlockVectorBase
protected:
virtual BlockVectorBase^ Multiply(
    double a
) override

Parameters

a
Type: SystemDouble
The scaling factor

Return Value

Type: BlockVectorBase

[Missing <returns> documentation for "M:DHI.MPC.Engine.BlockVectorConcatenated.Multiply(System.Double)"]

See Also

Reference

BlockVectorConcatenated Class


BlockVectorConcatenated.Plus Method

BlockVectorConcatenatedPlus Method

Adds y to THIS vector

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
protected override BlockVectorBase Plus(
    BlockVectorBase y
)
Protected Overrides Function Plus (
    y As BlockVectorBase
) As BlockVectorBase
protected:
virtual BlockVectorBase^ Plus(
    BlockVectorBase^ y
) override

Parameters

y
Type: DHI.MPC.EngineBlockVectorBase
y BlockVector which must be of same dimensions as THIS vector.

Return Value

Type: BlockVectorBase

[Missing <returns> documentation for "M:DHI.MPC.Engine.BlockVectorConcatenated.Plus(DHI.MPC.Engine.BlockVectorBase)"]

See Also

Reference

BlockVectorConcatenated Class


BlockVectorConcatenated.ToArray Method

BlockVectorConcatenatedToArray Method

Copies the vector values to an array of double.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public override double[] ToArray()
Public Overrides Function ToArray As Double()
public:
virtual array<double>^ ToArray() override

Return Value

Type: Double
An array of double which contains the vector values
See Also

Reference

BlockVectorConcatenated Class


BlockVectorConcatenated.ToList Method

BlockVectorConcatenatedToList Method

Copies the vector values to a list of double

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
protected override List<double> ToList()
Protected Overrides Function ToList As List(Of Double)
protected:
virtual List<double>^ ToList() override

Return Value

Type: ListDouble

[Missing <returns> documentation for "M:DHI.MPC.Engine.BlockVectorConcatenated.ToList"]

See Also

Reference

BlockVectorConcatenated Class


BlockZero Class

A zero matrix in BlockMatrix format
Inheritance Hierarchy
SystemObject
DHI.MPC.EngineBlockMatrix
DHI.MPC.EngineBlockZero

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public class BlockZero : BlockMatrix
Public Class BlockZero
    Inherits BlockMatrix
public ref class BlockZero : public BlockMatrix

The BlockZero type exposes the following members.

Constructors
 | Name | Description
Public method | BlockZero | Creates a zero matrix.
Top
Properties
 | Name | Description
Public property | ColumnCount | Gets the total number of columns of the block matrix. (Overrides BlockMatrixColumnCount.)
Public property | IsEmpty | Property to flag an empty matrix. (Inherited from BlockMatrix.)
Public property | RowCount | Gets the total number of rows of the block matrix (Overrides BlockMatrixRowCount.)
Top
Methods
 | Name | Description
Public method | CalcSymmetric | Calculates the symmetric form A.T*Q*A, where A is THIS matrix (Overrides BlockMatrixCalcSymmetric(BlockMatrix).)
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetRow | Get the i'th row of the BlockMatrix (Overrides BlockMatrixGetRow(Int32, ListDouble, ListInt32).)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | Multiply(Double) | Abstract method for multiplying a matrix by a scalar. The implementation depends on the matrix type (Overrides BlockMatrixMultiply(Double).)
Public method | Multiply(BlockVectorBase) | Abstract method for multiplying a matrix by a vector from the right: A*x (Overrides BlockMatrixMultiply(BlockVectorBase).)
Public method | RowsNonZeroIndexed | Generic representation of a matrix: the outer list contains the rows, each row is represented by a list of non-zero values and a list of non-zero indices. (Inherited from BlockMatrix.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Public method | TransposeAndMultiply | A.T*vector (Overrides BlockMatrixTransposeAndMultiply(BlockVectorBase).)
Public method | TuplesNonZeroIndexed | Returns all non-zero elements in this BlockMatrix as tuples of (row, column, value) (Inherited from BlockMatrix.)
Top
See Also

Reference

DHI.MPC.Engine Namespace


BlockZero Constructor

Creates a zero matrix.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public BlockZero(
    int rowCount,
    int columnCount
)
Public Sub New (
    rowCount As Integer,
    columnCount As Integer
)
public:
BlockZero(
    int rowCount,
    int columnCount
)

Parameters

rowCount
Type: SystemInt32
Number of rows.
columnCount
Type: SystemInt32
Member of Columns.
See Also

Reference

BlockZero Class


BlockZero Properties

The BlockZero type exposes the following members.

Properties
 | Name | Description
Public property | ColumnCount | Gets the total number of columns of the block matrix. (Overrides BlockMatrixColumnCount.)
Public property | IsEmpty | Property to flag an empty matrix. (Inherited from BlockMatrix.)
Public property | RowCount | Gets the total number of rows of the block matrix (Overrides BlockMatrixRowCount.)
Top
See Also

Reference

BlockZero Class


BlockZero.ColumnCount Property

BlockZeroColumnCount Property

Gets the total number of columns of the block matrix.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public override int ColumnCount { get; }
Public Overrides ReadOnly Property ColumnCount As Integer
    Get
public:
virtual property int ColumnCount {
    int get () override;
}

Property Value

Type: Int32
See Also

Reference

BlockZero Class


BlockZero.RowCount Property

BlockZeroRowCount Property

Gets the total number of rows of the block matrix

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public override int RowCount { get; }
Public Overrides ReadOnly Property RowCount As Integer
    Get
public:
virtual property int RowCount {
    int get () override;
}

Property Value

Type: Int32
See Also

Reference

BlockZero Class


BlockZero Methods

The BlockZero type exposes the following members.

Methods
 | Name | Description
Public method | CalcSymmetric | Calculates the symmetric form A.T*Q*A, where A is THIS matrix (Overrides BlockMatrixCalcSymmetric(BlockMatrix).)
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetRow | Get the i'th row of the BlockMatrix (Overrides BlockMatrixGetRow(Int32, ListDouble, ListInt32).)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | Multiply(Double) | Abstract method for multiplying a matrix by a scalar. The implementation depends on the matrix type (Overrides BlockMatrixMultiply(Double).)
Public method | Multiply(BlockVectorBase) | Abstract method for multiplying a matrix by a vector from the right: A*x (Overrides BlockMatrixMultiply(BlockVectorBase).)
Public method | RowsNonZeroIndexed | Generic representation of a matrix: the outer list contains the rows, each row is represented by a list of non-zero values and a list of non-zero indices. (Inherited from BlockMatrix.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Public method | TransposeAndMultiply | A.T*vector (Overrides BlockMatrixTransposeAndMultiply(BlockVectorBase).)
Public method | TuplesNonZeroIndexed | Returns all non-zero elements in this BlockMatrix as tuples of (row, column, value) (Inherited from BlockMatrix.)
Top
See Also

Reference

BlockZero Class


BlockZero.CalcSymmetric Method

BlockZeroCalcSymmetric Method

Calculates the symmetric form A.T*Q*A, where A is THIS matrix

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public override BlockMatrix CalcSymmetric(
    BlockMatrix Q
)
Public Overrides Function CalcSymmetric (
    Q As BlockMatrix
) As BlockMatrix
public:
virtual BlockMatrix^ CalcSymmetric(
    BlockMatrix^ Q
) override

Parameters

Q
Type: DHI.MPC.EngineBlockMatrix

Return Value

Type: BlockMatrix
A symmetric matrix.
See Also

Reference

BlockZero Class


BlockZero.GetRow Method

BlockZeroGetRow Method

Get the i'th row of the BlockMatrix

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public override void GetRow(
    int i,
    out List<double> nonzeroValues,
    out List<int> nonzeroIndex
)
Public Overrides Sub GetRow (
    i As Integer,
    <OutAttribute> ByRef nonzeroValues As List(Of Double),
    <OutAttribute> ByRef nonzeroIndex As List(Of Integer)
)
public:
virtual void GetRow(
    int i,
    [OutAttribute] List<double>^% nonzeroValues,
    [OutAttribute] List<int>^% nonzeroIndex
) override

Parameters

i
Type: SystemInt32
The row number.
nonzeroValues
Type: System.Collections.GenericListDouble
List containing the values of the non-zero elements.
nonzeroIndex
Type: System.Collections.GenericListInt32
List containing the indices of the non-zero elements.
See Also

Reference

BlockZero Class


BlockZero.Multiply Method

BlockZeroMultiply Method

Overload List
 | Name | Description
Public method | Multiply(Double) | Abstract method for multiplying a matrix by a scalar. The implementation depends on the matrix type (Overrides BlockMatrixMultiply(Double).)
Public method | Multiply(BlockVectorBase) | Abstract method for multiplying a matrix by a vector from the right: A*x (Overrides BlockMatrixMultiply(BlockVectorBase).)
Top
See Also

Reference

BlockZero Class


BlockZero.Multiply Method (Double)

BlockZeroMultiply Method (Double)

Abstract method for multiplying a matrix by a scalar. The implementation depends on the matrix type

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public override BlockMatrix Multiply(
    double a
)
Public Overrides Function Multiply (
    a As Double
) As BlockMatrix
public:
virtual BlockMatrix^ Multiply(
    double a
) override

Parameters

a
Type: SystemDouble
Scaling factor

Return Value

Type: BlockMatrix
The scaled matrix.
See Also

Reference

BlockZero Class
Multiply Overload


BlockZero.Multiply Method (BlockVectorBase)

BlockZeroMultiply Method (BlockVectorBase)

Abstract method for multiplying a matrix by a vector from the right: A*x

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public override BlockVectorBase Multiply(
    BlockVectorBase x
)
Public Overrides Function Multiply (
    x As BlockVectorBase
) As BlockVectorBase
public:
virtual BlockVectorBase^ Multiply(
    BlockVectorBase^ x
) override

Parameters

x
Type: DHI.MPC.EngineBlockVectorBase
A vector.

Return Value

Type: BlockVectorBase
A vector.
See Also

Reference

BlockZero Class
Multiply Overload


BlockZero.TransposeAndMultiply Method

BlockZeroTransposeAndMultiply Method

A.T*vector

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public override BlockVectorBase TransposeAndMultiply(
    BlockVectorBase vector
)
Public Overrides Function TransposeAndMultiply (
    vector As BlockVectorBase
) As BlockVectorBase
public:
virtual BlockVectorBase^ TransposeAndMultiply(
    BlockVectorBase^ vector
) override

Parameters

vector
Type: DHI.MPC.EngineBlockVectorBase

Return Value

Type: BlockVectorBase

[Missing <returns> documentation for "M:DHI.MPC.Engine.BlockZero.TransposeAndMultiply(DHI.MPC.Engine.BlockVectorBase)"]

See Also

Reference

BlockZero Class


BuildingBlock Class

Abstract base class for all model building blocks. The "building block" is the smallest model component, i.e. the component that the LinearModelFactory creates matrices for. Examples of model blocks are ReservoirBlock and ReachBlock. A full network is built by linking model blocks together.
Inheritance Hierarchy
SystemObject
DHI.MPC.EngineBuildingBlock

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public abstract class BuildingBlock
Public MustInherit Class BuildingBlock
public ref class BuildingBlock abstract

The BuildingBlock type exposes the following members.

Constructors
 | Name | Description
Public method | BuildingBlock | initializes an instance of the BuildingBlock class. This class is abstract and must be instantiated via its derived classes
Top
Properties
 | Name | Description
Protected property | _blockData | Data record for this model block.
Protected property | _factory | Factory, which contains the "recipe" for generating model matrices and boundaries for this model block.
Public property | ResultList | Gets the list of results related to this model block
Protected property | SlackVariableList | Gets the list of slack variables related to this model block. Only slack variables that are a part of the state space model are counted here. Slack variables related to soft constraints are treated elsewhere.
Protected property | StateList | Get the list of states related to this model block.
Top
Methods
 | Name | Description
Protected method | _GetResultList | Get the list of results related to this model block.
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Protected method | GetResultInfoList | Get the results info related to this model block. The info contains the "partial path" (the path below results root directory) and the time series name. This info can be retrieved before the model has been run.
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

DHI.MPC.Engine Namespace


BuildingBlock Constructor

initializes an instance of the BuildingBlock class. This class is abstract and must be instantiated via its derived classes

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public BuildingBlock(
    LinearModelFactory factory
)
Public Sub New (
    factory As LinearModelFactory
)
public:
BuildingBlock(
    LinearModelFactory^ factory
)

Parameters

factory
Type: DHI.MPC.EngineLinearModelFactory
See Also

Reference

BuildingBlock Class


BuildingBlock Properties

The BuildingBlock type exposes the following members.

Properties
 | Name | Description
Protected property | _blockData | Data record for this model block.
Protected property | _factory | Factory, which contains the "recipe" for generating model matrices and boundaries for this model block.
Public property | ResultList | Gets the list of results related to this model block
Protected property | SlackVariableList | Gets the list of slack variables related to this model block. Only slack variables that are a part of the state space model are counted here. Slack variables related to soft constraints are treated elsewhere.
Protected property | StateList | Get the list of states related to this model block.
Top
See Also

Reference

BuildingBlock Class


BuildingBlock._blockData Property

BuildingBlock_blockData Property

Data record for this model block.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
protected IBlockData _blockData { get; }
Protected ReadOnly Property _blockData As IBlockData
    Get
protected:
property IBlockData^ _blockData {
    IBlockData^ get ();
}

Property Value

Type: IBlockData
See Also

Reference

BuildingBlock Class


BuildingBlock._factory Property

BuildingBlock_factory Property

Factory, which contains the "recipe" for generating model matrices and boundaries for this model block.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
protected LinearModelFactory _factory { get; }
Protected ReadOnly Property _factory As LinearModelFactory
    Get
protected:
property LinearModelFactory^ _factory {
    LinearModelFactory^ get ();
}

Property Value

Type: LinearModelFactory
See Also

Reference

BuildingBlock Class


BuildingBlock.ResultList Property

BuildingBlockResultList Property

Gets the list of results related to this model block

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public List<Result> ResultList { get; }
Public ReadOnly Property ResultList As List(Of Result)
    Get
public:
property List<Result^>^ ResultList {
    List<Result^>^ get ();
}

Property Value

Type: ListResult
See Also

Reference

BuildingBlock Class


BuildingBlock.SlackVariableList Property

BuildingBlockSlackVariableList Property

Gets the list of slack variables related to this model block. Only slack variables that are a part of the state space model are counted here. Slack variables related to soft constraints are treated elsewhere.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
protected List<double[]> SlackVariableList { get; }
Protected ReadOnly Property SlackVariableList As List(Of Double())
    Get
protected:
property List<array<double>^>^ SlackVariableList {
    List<array<double>^>^ get ();
}

Property Value

Type: ListDouble
See Also

Reference

BuildingBlock Class


BuildingBlock.StateList Property

BuildingBlockStateList Property

Get the list of states related to this model block.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
protected List<double[]> StateList { get; }
Protected ReadOnly Property StateList As List(Of Double())
    Get
protected:
property List<array<double>^>^ StateList {
    List<array<double>^>^ get ();
}

Property Value

Type: ListDouble
See Also

Reference

BuildingBlock Class


BuildingBlock Methods

The BuildingBlock type exposes the following members.

Methods
 | Name | Description
Protected method | _GetResultList | Get the list of results related to this model block.
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Protected method | GetResultInfoList | Get the results info related to this model block. The info contains the "partial path" (the path below results root directory) and the time series name. This info can be retrieved before the model has been run.
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

BuildingBlock Class


BuildingBlock._GetResultList Method

BuildingBlock_GetResultList Method

Get the list of results related to this model block.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
protected abstract List<Result> _GetResultList()
Protected MustOverride Function _GetResultList As List(Of Result)
protected:
virtual List<Result^>^ _GetResultList() abstract

Return Value

Type: ListResult

[Missing <returns> documentation for "M:DHI.MPC.Engine.BuildingBlock._GetResultList"]

See Also

Reference

BuildingBlock Class


BuildingBlock.GetResultInfoList Method

BuildingBlockGetResultInfoList Method

Get the results info related to this model block. The info contains the "partial path" (the path below results root directory) and the time series name. This info can be retrieved before the model has been run.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
protected abstract List<ResultInfo> GetResultInfoList()
Protected MustOverride Function GetResultInfoList As List(Of ResultInfo)
protected:
virtual List<ResultInfo^>^ GetResultInfoList() abstract

Return Value

Type: ListResultInfo

[Missing <returns> documentation for "M:DHI.MPC.Engine.BuildingBlock.GetResultInfoList"]

See Also

Reference

BuildingBlock Class


CancelEventArgs(T) Class

CancelEventArgsT Class

Class for holding cancel event arguments.
Inheritance Hierarchy
SystemObject
SystemEventArgs
System.ComponentModelCancelEventArgs
DHI.MPC.EngineCancelEventArgsT

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public class CancelEventArgs<T> : CancelEventArgs

Public Class CancelEventArgs(Of T)
    Inherits CancelEventArgs
generic<typename T>
public ref class CancelEventArgs : public CancelEventArgs

Type Parameters

T

The CancelEventArgsT type exposes the following members.

Constructors
 | Name | Description
Public method | CancelEventArgsT | Creates an instance of the CancelEventArgs class.
Top
Properties
 | Name | Description
Public property | Cancel | Gets or sets a value indicating whether the event should be canceled. (Inherited from CancelEventArgs.)
Public property | Item | Gets the event argument.
Top
Methods
 | Name | Description
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

DHI.MPC.Engine Namespace


CancelEventArgs(T) Constructor

CancelEventArgsT Constructor

Creates an instance of the CancelEventArgs class.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public CancelEventArgs(
    T item
)
Public Sub New (
    item As T
)
public:
CancelEventArgs(
    T item
)

Parameters

item
Type: T
See Also

Reference

CancelEventArgsT Class


CancelEventArgs(T) Properties

CancelEventArgsT Properties

The CancelEventArgsT generic type exposes the following members.

Properties
 | Name | Description
Public property | Cancel | Gets or sets a value indicating whether the event should be canceled. (Inherited from CancelEventArgs.)
Public property | Item | Gets the event argument.
Top
See Also

Reference

CancelEventArgsT Class


CancelEventArgs(T).Item Property

CancelEventArgsTItem Property

Gets the event argument.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public T Item { get; }
Public ReadOnly Property Item As T
    Get
public:
property T Item {
    T get ();
}

Property Value

Type: T
See Also

Reference

CancelEventArgsT Class


CancelEventArgs(T) Methods

CancelEventArgsT Methods

The CancelEventArgsT generic type exposes the following members.

Methods
 | Name | Description
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

CancelEventArgsT Class


Configuration Class

The overall class for holding the optimisation configuration for a network of reaches and reservoirs.
The optimisation is based on surrogate models.
The configuration object is populated by the Add methods, e.g. AddReservoir(String, ReservoirCalculationModel, NullableDouble, DictionaryDouble, Double). The Add methods fill the data object and add it to the configuration.
Inheritance Hierarchy
SystemObject
BaseEntityString
DHI.MPC.EngineConfiguration

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
[SerializableAttribute]
public class Configuration : BaseEntity<string>
<SerializableAttribute>
Public Class Configuration
    Inherits BaseEntity(Of String)
[SerializableAttribute]
public ref class Configuration : public BaseEntity<String^>

The Configuration type exposes the following members.

Constructors
 | Name | Description
Public method | Configuration | Initializes a new instance of the Configuration class.
Top
Properties
Name | Description
Public property BlockCalibrationDataList
This list is only public to be used for serialization of the configuration.
Public property BlockDataList
This list is only public to be used for serialization of the configuration.
Public property ControlledLinkList
This list is only public to be used for serialization of the configuration.
Public property EnsembleSize
Gets and set the number of realisations. The EnsembleSize must be specified when uncertainty is modelled by having an ensemble forecast of the uncontrolled boundaries (disturbances). The default value is 1, corresponding to a deterministic model (only one realisation).
  • If EnsembleSize is not set, the default value of one will apply, and a deterministic model is set up.
  • Otherwise EnsembleSize must equal the number of realisations available from the ensemble forecast of the boundaries.
Public property FlowDataList
This list is only public to be used for serialization of the configuration.
Public property ForcingChangePenaltyDataList
This list is only public to be used for serialization of the configuration.
Public property ForcingConstraintDataList
This list is only public to be used for serialization of the configuration.
Public property ForcingPenalty
Gets and sets the weight with which all forcings will be penalised. This is the weight for the Sigma matrix in the objective function. ForcingPenalty will set a global value, which is applied to all forcings.
Public property | Id | (Inherited from BaseEntityString.)
Public property InitialStateDataList
This list is only public to be used for serialization of the configuration.
Public property | Metadata | (Inherited from BaseEntityString.)
Public property OptimisationMethod
Gets or sets the OptimisationMethod. Determines which solver that is deployed. Default is QuadraticProgramming.
Public property OutputConstraintDataList
This list is only public to be used for serialization of the configuration.
Public property | Permissions | (Inherited from BaseEntityString.)
Public property QPAssemblyMethod
Gets or sets the QPAssemblyMethod, which determines how the quadratic program (QP) is assembled. Default is "Global", which patches up the basic linear model matrices BEFORE generating the forecast and the QP.
Public property RealisationProbability
Gets and sets the array that holds the probability of each realisation in the ensemble.
Public property ResultsDirectory
Gets and sets the path to the results directory. If specified, this directory will act as the root path of the results, below which the results are further grouped in categories.
Public property SoftConstraints
Gets and sets the flag for using soft constraints. Setting this to true will activate all defined soft constraints. This means that, on a global level, soft constraints can be switched on and off without changing the AllowViolation property of OutputConstraintData. Forcings will still have hard constraints. Currently soft constraints cannot be defined for forcings.
Public property TargetDataList
This list is only public to be used for serialization of the configuration.
Public property TimeStep
Gets and sets the time step of the model in seconds. The default is 3600 s.
Public property UncontrolledLinkList
This list is only public to be used for serialization of the configuration.
Top
Methods
Name | Description
Public method AddBlock
General method for adding a surrogate model block.
Public method AddBlockCalibrationData
Add calibration data to block calibration data list
Public method AddChangePenalty
Add a penalty for changing a variable. In the current version, penalty on change can only be configured for MPC manipulated flows. This means that a change penalty can be defined for the flows that MPC optimises (flows through gates and valves), whereas a change penalty cannot be defined for output (outflow from reaches, levels/volumes in reservoirs). This is a limitation in the implementation, not of the MPC methodology. Extension to include change penalty on outputs is considered for future versions.
Public method AddConstraint(BlockData, ConstraintOption, Double, Boolean, Double)
Adds a single constant constraint (lower or upper bound) to either an MPC-controlled flow or to an output. For outputs, the constraint may be soft (i.e. violation of the constraint is allowed, but is penalised).
Public method AddConstraint(BlockData, ConstraintOption, String, Boolean, Double)
Adds a single time-varying constraint (lower or upper bound) to either an MPC-controlled flow or to an output. For outputs, the constraint may be soft (i.e. violation of the constraint is allowed, but is penalised).
Public method AddConstraints
Adds all HARD constraints with CONSTANT bound values in one go. Applies both to constraints on outputs (reach outflows, level/volume in reservoirs) and to constraints on forcings (controlled flows through valves/gates/pumps). Constraints with time-varying bounds and/or soft constraints must be added one by one, using either AddConstraint(BlockData, ConstraintOption, String, Boolean, Double) or AddConstraint(BlockData, ConstraintOption, Double, Boolean, Double).
Public method AddInflow
Add inflow data to a model block (reach, reservoir or ...)
Public method AddInitialState(BlockData, Double)
Populates an InitialStateData record and adds it to the configuration. The interpretation of the value in value depends on the model block in question. For reservoirs:
  • The tank (Level) and the level-volume reservoir (LevelVolume) need the initial LEVEL (in [m]).
  • The volume reservoir (Volume) needs the initial VOLUME (in m^3].
  • The linear reservoir needs the initial OUTFLOW (in m^3/s]).
This method adds initial condition to a reservoir. A reach takes initial conditions from all its inflow time series (upstream an lateral).
Public method AddInitialState(BlockData, String)
Populates an InitialStateData record and adds it to the configuration. The interpretation of the values in tsId depends on the model block in question. For reservoirs:
  • The tank (Level) and the level-volume reservoir (LevelVolume) need the initial LEVEL (in [m]).
  • The volume reservoir (Volume) needs the initial VOLUME (in m^3].
  • The linear reservoir needs the initial OUTFLOW (in m^3/s]).
This method adds initial condition to a reservoir. A reach takes initial conditions from all its inflow time series (upstream an lateral).
Public method AddLateralInflow(ReachData, String, String, ListDouble, Boolean)
Creates and adds a lateral inflow which is DISTRIBUTED to a specified LIST of POINTS. A LateralInflowData record is filled, assigned to the ReachData object specified in the reach parameter and finally added to the configuration.
Public method AddLateralInflow(ReachData, String, String, Double, Boolean)
Creates and adds a lateral inflow which is a SINGLE POINT SOURCE. A LateralInflowData record is filled, assigned to the ReachData object specified in the reach parameter and finally added to the configuration.
Public method AddLateralInflow(ReachData, String, String, Double, Double, Boolean)
Creates and adds a lateral inflow which is DISTRIBUTED over a range. A LateralInflowData record is filled, assigned to the ReachData object specified in the reach parameter and finally added to the configuration.
Public method AddLateralOutflow(ReachData, String, String, ListDouble, Boolean)
Creates and adds a lateral outflow which is DISTRIBUTED to a specified LIST of POINTS. A LateralOutflowData record is filled, assigned to the ReachData object specified in the reach parameter and finally added to the configuration.
Public method AddLateralOutflow(ReachData, String, String, Double, Boolean)
Creates and adds a lateral outflow which is a SINGLE POINT SINK. A LateralOutflowData record is filled, assigned to the ReachData object specified in the reach parameter and finally added to the configuration.
Public method AddLateralOutflow(ReachData, String, String, Double, Double, Boolean)
Creates and adds a lateral outflow which is DISTRIBUTED over a range. A LateralOutflowData record is filled, assigned to the ReachData object specified in the reach parameter and finally added to the configuration.
Public method AddLinearReservoir
Creates a LinearReservoirData record, fills it and finally adds it to the configuration.
Public method AddOutflow
Adds an outflow (to be extracted directly from the assigned reservoir, not along a reach)
Public method | AddPermission | (Inherited from BaseEntityString.)
Public method | AddPermissions | (Inherited from BaseEntityString.)
Public method AddReach
Creates a ReachData record, fills it and finally adds it to the configuration.
Public method AddReservoir
Adds a reservoir to the configuration. The reservoir model is determined by calculationModel.
Public method AddReservoirWithOverflow
Adds a reservoir to the configuration. The reservoir model is determined by calculationModel.
Public method AddTarget(BlockData, Double, Double)
Constant target value. Populates a TargetData record and adds it to the configuration. Setting a target value makes it an objective of the optimisation to guide the output of the model block towards the target value by penalising the deviation from the target.
Public method AddTarget(BlockData, String, Double)
Time-varying target value. Populates a TargetData record and adds it to the configuration. Setting a target value makes it an objective of the optimisation to guide the output of the model block towards the target value by penalising the deviation from the target.
Public method | Clone | (Inherited from BaseEntityString.)
Public method Connect(LateralOutflowData, InflowData)
Creates a CONTROLLED link that pipes lateral outflow to the inflow of a reach.
Public method Connect(LateralOutflowData, LateralInflowData)
Creates a CONTROLLED link that pipes lateral outflow to the lateral inflow of a(nother) reach.
Public method Connect(LinearReservoirData, InflowData)
Creates an UNCONTROLLED link that pipes outflow from a linear reservoir to an inflow.
Public method Connect(LinearReservoirData, LateralInflowData)
Creates an UNCONTROLLED link that pipes linear reservoir outflow to the specified lateral inflow. The lateral inflow may be distributed or be a point source.
Public method Connect(OutflowData, InflowData)
Creates a CONTROLLED link that pipes outflow from a reservoir (outflow data) to the inflow of a reach.
Public method Connect(OutflowData, LateralInflowData)
Creates a CONTROLLED link that pipes outflow from a reservoir (outflow data) to the lateral inflow of a reach.
Public method Connect(ReachData, InflowData)
Creates an UNCONTROLLED link that pipes reach outflow to the specified inflow. The flow in this link cannot be controlled by the MPC. This is because the outflow of the upstream reach cannot be controlled (it is an output of the model).
Public method Connect(ReachData, LateralInflowData)
Creates an UNCONTROLLED link that pipes reach outflow to the specified lateral inflow. The lateral inflow must be a point source.
Public method Equals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected method Finalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public method GetAllBlockData
Gets the list of all IBlockData elements in the configuration.
Public method GetAllControlledInflow
Returns a list of all inflows that are controlled by the MPC. Currently all upstream inflows to the reaches (defined in an InflowData record) will automatically be MPC controlled. Future versions might open up for lateral flows being controlled by MPC as well
Public method GetAllControlledLink
Gets the list of all connections that are MPC controlled.
Public method GetAllLinearReservoirData
Gets the configuration record for each linear reservoir, organised as a list
Public method GetAllReachData
Gets the configuration for each reach, organized in a list
Public method GetAllReservoirData
Gets the configuration for each reservoir, organised in a list.
Public method GetAllUncontrolledLink
Gets the list of all connections that are not MPC controlled.
Public method GetBlock
Gets the data record for a block (identified by the record's Id)
Public method GetBlockCalibrationData
Get calibration data for a given block id
Public method GetChangePenalty
Get the data record for penalty on rate-of-change.
Public method GetFlow
Get a flow data record, specified by the id of its record. Contains all flows defined in system.
Public method GetForcing
Gets the list of all MPC controlled flows related to a specific model block.
Public method GetForcingConstraint
Gets the list of forcing constraints related to an inflow.
Public method GetForcingConstraintList
Get the list of all data records for forcing constraints related to inflows to a single block.
Public method GetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public method GetInflow
Gets an inflow data record, specified by the id of its record.
Public method GetInflowList
Get all inflows to a specific block. Most likely the block is a reservoir with multiple inflows
Public method GetInitialState
Gets the data record that holds initial state.
Public method GetLateralInflowData
Get all LateralInflowData records that have been assigned to a reach.
Public method GetLateralOutflowData
Gets the data records for all lateral flows connected to a reach.
Public method GetLinearReservoir
Gets the data record for a linear reservoir, identified by the record's Id
Public method GetOutflowData
For a single reservoir: Get the list of outflows.
Public method GetOutputConstraintList
Gets the list of output constraints related to a specific block.
Public method GetReach
Gets the data record for a reach (identified by the record's Id)
Public method GetReservoir
Gets the ReservoirData record.
Public method GetTarget
Get the target data record for a specific block.
Public method GetType
Gets the Type of the current instance.
(Inherited from Object.)
Public method GetUpstreamSourceData
Find the upstream source that this inflow is linked to, and return its data record. If the flow is uncontrolled, the data record of the upstream model block is returned. If the flow is controlled the data record of the upstream flow is returned.
Public method | IsAllowed(HashSetString, String) | (Inherited from BaseEntityString.)
Public method | IsAllowed(IEnumerableString, String) | (Inherited from BaseEntityString.)
Public method | IsAllowed(ClaimsPrincipal, String) | (Inherited from BaseEntityString.)
Protected method MemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public method RemoveFromBlockList
Removes a data record from the BlockList.
Public method SetCalibrationData
Fill calibration time series into the empty BlockCalibrationData, which is generated by the AddReach(String, Int32, Double, Double, Boolean) method.
Public method | ShouldSerializeMetadata | (Inherited from BaseEntityString.)
Public method | ShouldSerializePermissions | (Inherited from BaseEntityString.)
Public method ToString
Returns a string that represents the current object.
(Inherited from Object.)
Top
See Also

Reference

DHI.MPC.Engine Namespace


Configuration Constructor

Initializes a new instance of the Configuration class.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public Configuration(
    string id
)
Public Sub New (
    id As String
)
public:
Configuration(
    String^ id
)

Parameters

id
Type: SystemString
The identifier of the configuration (typically a name).
See Also

Reference

Configuration Class


Configuration Properties

The Configuration type exposes the following members.

Properties
Name | Description
Public property BlockCalibrationDataList
This list is only public to be used for serialization of the configuration.
Public property BlockDataList
This list is only public to be used for serialization of the configuration.
Public property ControlledLinkList
This list is only public to be used for serialization of the configuration.
Public property EnsembleSize
Gets and set the number of realisations. The EnsembleSize must be specified when uncertainty is modelled by having an ensemble forecast of the uncontrolled boundaries (disturbances). The default value is 1, corresponding to a deterministic model (only one realisation).
  • If EnsembleSize is not set, the default value of one will apply, and a deterministic model is set up.
  • Otherwise EnsembleSize must equal the number of realisations available from the ensemble forecast of the boundaries.
Public property FlowDataList
This list is only public to be used for serialization of the configuration.
Public property ForcingChangePenaltyDataList
This list is only public to be used for serialization of the configuration.
Public property ForcingConstraintDataList
This list is only public to be used for serialization of the configuration.
Public property ForcingPenalty
Gets and sets the weight with which all forcings will be penalised. This is the weight for the Sigma matrix in the objective function. ForcingPenalty will set a global value, which is applied to all forcings.
Public property | Id | (Inherited from BaseEntityString.)
Public property InitialStateDataList
This list is only public to be used for serialization of the configuration.
Public property | Metadata | (Inherited from BaseEntityString.)
Public property OptimisationMethod
Gets or sets the OptimisationMethod. Determines which solver that is deployed. Default is QuadraticProgramming.
Public property OutputConstraintDataList
This list is only public to be used for serialization of the configuration.
Public property | Permissions | (Inherited from BaseEntityString.)
Public property QPAssemblyMethod
Gets or sets the QPAssemblyMethod, which determines how the quadratic program (QP) is assembled. Default is "Global", which patches up the basic linear model matrices BEFORE generating the forecast and the QP.
Public property RealisationProbability
Gets and sets the array that holds the probability of each realisation in the ensemble.
Public property ResultsDirectory
Gets and sets the path to the results directory. If specified, this directory will act as the root path of the results, below which the results are further grouped in categories.
Public property SoftConstraints
Gets and sets the flag for using soft constraints. Setting this to true will activate all defined soft constraints. This means that, on a global level, soft constraints can be switched on and off without changing the AllowViolation property of OutputConstraintData. Forcings will still have hard constraints. Currently soft constraints cannot be defined for forcings.
Public property TargetDataList
This list is only public to be used for serialization of the configuration.
Public property TimeStep
Gets and sets the time step of the model in seconds. The default is 3600 s.
Public property UncontrolledLinkList
This list is only public to be used for serialization of the configuration.
Top
See Also

Reference

Configuration Class


Configuration.BlockCalibrationDataList Property

ConfigurationBlockCalibrationDataList Property

This list is only public to be used for serialization of the configuration.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public List<BlockCalibrationData> BlockCalibrationDataList { get; }
Public ReadOnly Property BlockCalibrationDataList As List(Of BlockCalibrationData)
    Get
public:
property List<BlockCalibrationData^>^ BlockCalibrationDataList {
    List<BlockCalibrationData^>^ get ();
}

Property Value

Type: ListBlockCalibrationData
See Also

Reference

Configuration Class


Configuration.BlockDataList Property

ConfigurationBlockDataList Property

This list is only public to be used for serialization of the configuration.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public List<IBlockData> BlockDataList { get; }
Public ReadOnly Property BlockDataList As List(Of IBlockData)
    Get
public:
property List<IBlockData^>^ BlockDataList {
    List<IBlockData^>^ get ();
}

Property Value

Type: ListIBlockData
See Also

Reference

Configuration Class


Configuration.ControlledLinkList Property

ConfigurationControlledLinkList Property

This list is only public to be used for serialization of the configuration.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public List<ControlledLinkData> ControlledLinkList { get; }
Public ReadOnly Property ControlledLinkList As List(Of ControlledLinkData)
    Get
public:
property List<ControlledLinkData^>^ ControlledLinkList {
    List<ControlledLinkData^>^ get ();
}

Property Value

Type: ListControlledLinkData
See Also

Reference

Configuration Class


Configuration.EnsembleSize Property

ConfigurationEnsembleSize Property

Gets and set the number of realisations. The EnsembleSize must be specified when uncertainty is modelled by having an ensemble forecast of the uncontrolled boundaries (disturbances). The default value is 1, corresponding to a deterministic model (only one realisation).
  • If EnsembleSize is not set, the default value of one will apply, and a deterministic model is set up.
  • Otherwise EnsembleSize must equal the number of realisations available from the ensemble forecast of the boundaries.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public int EnsembleSize { get; set; }
Public Property EnsembleSize As Integer
    Get
    Set
public:
property int EnsembleSize {
    int get ();
    void set (int value);
}

Property Value

Type: Int32
See Also

Reference

Configuration Class


Configuration.FlowDataList Property

ConfigurationFlowDataList Property

This list is only public to be used for serialization of the configuration.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public List<FlowData> FlowDataList { get; }
Public ReadOnly Property FlowDataList As List(Of FlowData)
    Get
public:
property List<FlowData^>^ FlowDataList {
    List<FlowData^>^ get ();
}

Property Value

Type: ListFlowData
See Also

Reference

Configuration Class


Configuration.ForcingChangePenaltyDataList Property

ConfigurationForcingChangePenaltyDataList Property

This list is only public to be used for serialization of the configuration.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public List<PenaltyData> ForcingChangePenaltyDataList { get; }
Public ReadOnly Property ForcingChangePenaltyDataList As List(Of PenaltyData)
    Get
public:
property List<PenaltyData^>^ ForcingChangePenaltyDataList {
    List<PenaltyData^>^ get ();
}

Property Value

Type: ListPenaltyData
See Also

Reference

Configuration Class


Configuration.ForcingConstraintDataList Property

ConfigurationForcingConstraintDataList Property

This list is only public to be used for serialization of the configuration.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public List<IForcingConstraintData> ForcingConstraintDataList { get; }
Public ReadOnly Property ForcingConstraintDataList As List(Of IForcingConstraintData)
    Get
public:
property List<IForcingConstraintData^>^ ForcingConstraintDataList {
    List<IForcingConstraintData^>^ get ();
}

Property Value

Type: ListIForcingConstraintData
See Also

Reference

Configuration Class


Configuration.ForcingPenalty Property

ConfigurationForcingPenalty Property

Gets and sets the weight with which all forcings will be penalised. This is the weight for the Sigma matrix in the objective function. ForcingPenalty will set a global value, which is applied to all forcings.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public double ForcingPenalty { get; set; }
Public Property ForcingPenalty As Double
    Get
    Set
public:
property double ForcingPenalty {
    double get ();
    void set (double value);
}

Property Value

Type: Double
See Also

Reference

Configuration Class


Configuration.InitialStateDataList Property

ConfigurationInitialStateDataList Property

This list is only public to be used for serialization of the configuration.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public List<InitialStateData> InitialStateDataList { get; }
Public ReadOnly Property InitialStateDataList As List(Of InitialStateData)
    Get
public:
property List<InitialStateData^>^ InitialStateDataList {
    List<InitialStateData^>^ get ();
}

Property Value

Type: ListInitialStateData
See Also

Reference

Configuration Class


Configuration.OptimisationMethod Property

ConfigurationOptimisationMethod Property

Gets or sets the OptimisationMethod. Determines which solver that is deployed. Default is QuadraticProgramming.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public OptimisationMethod OptimisationMethod { get; set; }
Public Property OptimisationMethod As OptimisationMethod
    Get
    Set
public:
property OptimisationMethod OptimisationMethod {
    OptimisationMethod get ();
    void set (OptimisationMethod value);
}

Property Value

Type: OptimisationMethod
See Also

Reference

Configuration Class


Configuration.OutputConstraintDataList Property

ConfigurationOutputConstraintDataList Property

This list is only public to be used for serialization of the configuration.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public List<IOutputConstraintData> OutputConstraintDataList { get; }
Public ReadOnly Property OutputConstraintDataList As List(Of IOutputConstraintData)
    Get
public:
property List<IOutputConstraintData^>^ OutputConstraintDataList {
    List<IOutputConstraintData^>^ get ();
}

Property Value

Type: ListIOutputConstraintData
See Also

Reference

Configuration Class


Configuration.QPAssemblyMethod Property

ConfigurationQPAssemblyMethod Property

Gets or sets the QPAssemblyMethod, which determines how the quadratic program (QP) is assembled. Default is "Global", which patches up the basic linear model matrices BEFORE generating the forecast and the QP.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public QPAssemblyMethod QPAssemblyMethod { get; set; }
Public Property QPAssemblyMethod As QPAssemblyMethod
    Get
    Set
public:
property QPAssemblyMethod QPAssemblyMethod {
    QPAssemblyMethod get ();
    void set (QPAssemblyMethod value);
}

Property Value

Type: QPAssemblyMethod
See Also

Reference

Configuration Class


Configuration.RealisationProbability Property

ConfigurationRealisationProbability Property

Gets and sets the array that holds the probability of each realisation in the ensemble.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public double[] RealisationProbability { get; set; }
Public Property RealisationProbability As Double()
    Get
    Set
public:
property array<double>^ RealisationProbability {
    array<double>^ get ();
    void set (array<double>^ value);
}

Property Value

Type: Double
See Also

Reference

Configuration Class


Configuration.ResultsDirectory Property

ConfigurationResultsDirectory Property

Gets and sets the path to the results directory. If specified, this directory will act as the root path of the results, below which the results are further grouped in categories.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public string ResultsDirectory { get; set; }
Public Property ResultsDirectory As String
    Get
    Set
public:
property String^ ResultsDirectory {
    String^ get ();
    void set (String^ value);
}

Property Value

Type: String
See Also

Reference

Configuration Class


Configuration.SoftConstraints Property

ConfigurationSoftConstraints Property

Gets and sets the flag for using soft constraints. Setting this to true will activate all defined soft constraints. This means that, on a global level, soft constraints can be switched on and off without changing the AllowViolation property of OutputConstraintData. Forcings will still have hard constraints. Currently soft constraints cannot be defined for forcings.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public bool SoftConstraints { get; set; }
Public Property SoftConstraints As Boolean
    Get
    Set
public:
property bool SoftConstraints {
    bool get ();
    void set (bool value);
}

Property Value

Type: Boolean
See Also

Reference

Configuration Class


Configuration.TargetDataList Property

ConfigurationTargetDataList Property

This list is only public to be used for serialization of the configuration.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public List<TargetData> TargetDataList { get; }
Public ReadOnly Property TargetDataList As List(Of TargetData)
    Get
public:
property List<TargetData^>^ TargetDataList {
    List<TargetData^>^ get ();
}

Property Value

Type: ListTargetData
See Also

Reference

Configuration Class


Configuration.TimeStep Property

ConfigurationTimeStep Property

Gets and sets the time step of the model in seconds. The default is 3600 s.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public int TimeStep { get; set; }
Public Property TimeStep As Integer
    Get
    Set
public:
property int TimeStep {
    int get ();
    void set (int value);
}

Property Value

Type: Int32
See Also

Reference

Configuration Class


Configuration.UncontrolledLinkList Property

ConfigurationUncontrolledLinkList Property

This list is only public to be used for serialization of the configuration.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public List<UncontrolledLinkData> UncontrolledLinkList { get; }
Public ReadOnly Property UncontrolledLinkList As List(Of UncontrolledLinkData)
    Get
public:
property List<UncontrolledLinkData^>^ UncontrolledLinkList {
    List<UncontrolledLinkData^>^ get ();
}

Property Value

Type: ListUncontrolledLinkData
See Also

Reference

Configuration Class


Configuration Methods

The Configuration type exposes the following members.

Methods
Name | Description
Public method AddBlock
General method for adding a surrogate model block.
Public method AddBlockCalibrationData
Add calibration data to block calibration data list
Public method AddChangePenalty
Add a penalty for changing a variable. In the current version, penalty on change can only be configured for MPC manipulated flows. This means that a change penalty can be defined for the flows that MPC optimises (flows through gates and valves), whereas a change penalty cannot be defined for output (outflow from reaches, levels/volumes in reservoirs). This is a limitation in the implementation, not of the MPC methodology. Extension to include change penalty on outputs is considered for future versions.
Public method AddConstraint(BlockData, ConstraintOption, Double, Boolean, Double)
Adds a single constant constraint (lower or upper bound) to either an MPC-controlled flow or to an output. For outputs, the constraint may be soft (i.e. violation of the constraint is allowed, but is penalised).
Public method AddConstraint(BlockData, ConstraintOption, String, Boolean, Double)
Adds a single time-varying constraint (lower or upper bound) to either an MPC-controlled flow or to an output. For outputs, the constraint may be soft (i.e. violation of the constraint is allowed, but is penalised).
Public method AddConstraints
Adds all HARD constraints with CONSTANT bound values in one go. Applies both to constraints on outputs (reach outflows, level/volume in reservoirs) and to constraints on forcings (controlled flows through valves/gates/pumps). Constraints with time-varying bounds and/or soft constraints must be added one by one, using either AddConstraint(BlockData, ConstraintOption, String, Boolean, Double) or AddConstraint(BlockData, ConstraintOption, Double, Boolean, Double).
Public method AddInflow
Add inflow data to a model block (reach, reservoir or ...)
Public method AddInitialState(BlockData, Double)
Populates an InitialStateData record and adds it to the configuration. The interpretation of the value in value depends on the model block in question. For reservoirs:
  • The tank (Level) and the level-volume reservoir (LevelVolume) need the initial LEVEL (in [m]).
  • The volume reservoir (Volume) needs the initial VOLUME (in m^3].
  • The linear reservoir needs the initial OUTFLOW (in m^3/s]).
This method adds initial condition to a reservoir. A reach takes initial conditions from all its inflow time series (upstream an lateral).
Public method AddInitialState(BlockData, String)
Populates an InitialStateData record and adds it to the configuration. The interpretation of the values in tsId depends on the model block in question. For reservoirs:
  • The tank (Level) and the level-volume reservoir (LevelVolume) need the initial LEVEL (in [m]).
  • The volume reservoir (Volume) needs the initial VOLUME (in m^3].
  • The linear reservoir needs the initial OUTFLOW (in m^3/s]).
This method adds initial condition to a reservoir. A reach takes initial conditions from all its inflow time series (upstream an lateral).
Public method AddLateralInflow(ReachData, String, String, ListDouble, Boolean)
Creates and adds a lateral inflow which is DISTRIBUTED to a specified LIST of POINTS. A LateralInflowData record is filled, assigned to the ReachData object specified in the reach parameter and finally added to the configuration.
Public method AddLateralInflow(ReachData, String, String, Double, Boolean)
Creates and adds a lateral inflow which is a SINGLE POINT SOURCE. A LateralInflowData record is filled, assigned to the ReachData object specified in the reach parameter and finally added to the configuration.
Public method AddLateralInflow(ReachData, String, String, Double, Double, Boolean)
Creates and adds a lateral inflow which is DISTRIBUTED over a range. A LateralInflowData record is filled, assigned to the ReachData object specified in the reach parameter and finally added to the configuration.
Public method AddLateralOutflow(ReachData, String, String, ListDouble, Boolean)
Creates and adds a lateral outflow which is DISTRIBUTED to a specified LIST of POINTS. A LateralOutflowData record is filled, assigned to the ReachData object specified in the reach parameter and finally added to the configuration.
Public method AddLateralOutflow(ReachData, String, String, Double, Boolean)
Creates and adds a lateral outflow which is a SINGLE POINT SINK. A LateralOutflowData record is filled, assigned to the ReachData object specified in the reach parameter and finally added to the configuration.
Public method AddLateralOutflow(ReachData, String, String, Double, Double, Boolean)
Creates and adds a lateral outflow which is DISTRIBUTED over a range. A LateralOutflowData record is filled, assigned to the ReachData object specified in the reach parameter and finally added to the configuration.
Public method AddLinearReservoir
Creates a LinearReservoirData record, fills it and finally adds it to the configuration.
Public method AddOutflow
Adds an outflow (to be extracted directly from the assigned reservoir, not along a reach)
Public method | AddPermission | (Inherited from BaseEntityString.)
Public method | AddPermissions | (Inherited from BaseEntityString.)
Public method AddReach
Creates a ReachData record, fills it and finally adds it to the configuration.
Public method AddReservoir
Adds a reservoir to the configuration. The reservoir model is determined by calculationModel.
Public method AddReservoirWithOverflow
Adds a reservoir to the configuration. The reservoir model is determined by calculationModel.
Public method AddTarget(BlockData, Double, Double)
Constant target value. Populates a TargetData record and adds it to the configuration. Setting a target value makes it an objective of the optimisation to guide the output of the model block towards the target value by penalising the deviation from the target.
Public method AddTarget(BlockData, String, Double)
Time-varying target value. Populates a TargetData record and adds it to the configuration. Setting a target value makes it an objective of the optimisation to guide the output of the model block towards the target value by penalising the deviation from the target.
Public method | Clone | (Inherited from BaseEntityString.)
Public method Connect(LateralOutflowData, InflowData)
Creates a CONTROLLED link that pipes lateral outflow to the inflow of a reach.
Public method Connect(LateralOutflowData, LateralInflowData)
Creates a CONTROLLED link that pipes lateral outflow to the lateral inflow of a(nother) reach.
Public method Connect(LinearReservoirData, InflowData)
Creates an UNCONTROLLED link that pipes outflow from a linear reservoir to an inflow.
Public method Connect(LinearReservoirData, LateralInflowData)
Creates an UNCONTROLLED link that pipes linear reservoir outflow to the specified lateral inflow. The lateral inflow may be distributed or be a point source.
Public method Connect(OutflowData, InflowData)
Creates a CONTROLLED link that pipes outflow from a reservoir (outflow data) to the inflow of a reach.
Public method Connect(OutflowData, LateralInflowData)
Creates a CONTROLLED link that pipes outflow from a reservoir (outflow data) to the lateral inflow of a reach.
Public method Connect(ReachData, InflowData)
Creates an UNCONTROLLED link that pipes reach outflow to the specified inflow. The flow in this link cannot be controlled by the MPC. This is because the outflow of the upstream reach cannot be controlled (it is an output of the model).
Public method Connect(ReachData, LateralInflowData)
Creates an UNCONTROLLED link that pipes reach outflow to the specified lateral inflow. The lateral inflow must be a point source.
Public method Equals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected method Finalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public method GetAllBlockData
Gets the list of all IBlockData elements in the configuration.
Public method GetAllControlledInflow
Returns a list of all inflows that are controlled by the MPC. Currently all upstream inflows to the reaches (defined in an InflowData record) will automatically be MPC controlled. Future versions might open up for lateral flows being controlled by MPC as well
Public method GetAllControlledLink
Gets the list of all connections that are MPC controlled.
Public method GetAllLinearReservoirData
Gets the configuration record for each linear reservoir, organised as a list
Public method GetAllReachData
Gets the configuration for each reach, organized in a list
Public method GetAllReservoirData
Gets the configuration for each reservoir, organised in a list.
Public method GetAllUncontrolledLink
Gets the list of all connections that are not MPC controlled.
Public method GetBlock
Gets the data record for a block (identified by the record's Id)
Public method GetBlockCalibrationData
Get calibration data for a given block id
Public method GetChangePenalty
Get the data record for penalty on rate-of-change.
Public method GetFlow
Get a flow data record, specified by the id of its record. Contains all flows defined in system.
Public method GetForcing
Gets the list of all MPC controlled flows related to a specific model block.
Public method GetForcingConstraint
Gets the list of forcing constraints related to an inflow.
Public method GetForcingConstraintList
Get the list of all data records for forcing constraints related to inflows to a single block.
Public method GetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public method GetInflow
Gets an inflow data record, specified by the id of its record.
Public method GetInflowList
Get all inflows to a specific block. Most likely the block is a reservoir with multiple inflows
Public method GetInitialState
Gets the data record that holds initial state.
Public method GetLateralInflowData
Get all LateralInflowData records that have been assigned to a reach.
Public method GetLateralOutflowData
Gets the data records for all lateral flows connected to a reach.
Public method GetLinearReservoir
Gets the data record for a linear reservoir, identified by the record's Id
Public method GetOutflowData
For a single reservoir: Get the list of outflows.
Public method GetOutputConstraintList
Gets the list of output constraints related to a specific block.
Public method GetReach
Gets the data record for a reach (identified by the record's Id)
Public method GetReservoir
Gets the ReservoirData record.
Public method GetTarget
Get the target data record for a specific block.
Public method GetType
Gets the Type of the current instance.
(Inherited from Object.)
Public method GetUpstreamSourceData
Find the upstream source that this inflow is linked to, and return its data record. If the flow is uncontrolled, the data record of the upstream model block is returned. If the flow is controlled the data record of the upstream flow is returned.
Public method | IsAllowed(HashSetString, String) | (Inherited from BaseEntityString.)
Public method | IsAllowed(IEnumerableString, String) | (Inherited from BaseEntityString.)
Public method | IsAllowed(ClaimsPrincipal, String) | (Inherited from BaseEntityString.)
Protected method MemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public method RemoveFromBlockList
Removes a data record from the BlockList.
Public method SetCalibrationData
Fill calibration time series into the empty BlockCalibrationData, which is generated by the AddReach(String, Int32, Double, Double, Boolean) method.
Public method | ShouldSerializeMetadata | (Inherited from BaseEntityString.)
Public method | ShouldSerializePermissions | (Inherited from BaseEntityString.)
Public method ToString
Returns a string that represents the current object.
(Inherited from Object.)
Top
See Also

Reference

Configuration Class


Configuration.AddBlock Method

ConfigurationAddBlock Method

General method for adding a surrogate model block.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public void AddBlock(
    IBlockData blockData
)
Public Sub AddBlock (
    blockData As IBlockData
)
public:
void AddBlock(
    IBlockData^ blockData
)

Parameters

blockData
Type: DHI.MPC.EngineIBlockData
A filled data record which inherits from IBlockData.
See Also

Reference

Configuration Class


Configuration.AddBlockCalibrationData Method

ConfigurationAddBlockCalibrationData Method

Add calibration data to block calibration data list

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public void AddBlockCalibrationData(
    BlockCalibrationData blockCalibrationData
)
Public Sub AddBlockCalibrationData (
    blockCalibrationData As BlockCalibrationData
)
public:
void AddBlockCalibrationData(
    BlockCalibrationData^ blockCalibrationData
)

Parameters

blockCalibrationData
Type: DHI.MPC.EngineBlockCalibrationData
A filled calibration data record./>
See Also

Reference

Configuration Class


Configuration.AddChangePenalty Method

ConfigurationAddChangePenalty Method

Add a penalty for changing a variable. In the current version, penalty on change can only be configured for MPC manipulated flows. This means that a change penalty can be defined for the flows that MPC optimises (flows through gates and valves), whereas a change penalty cannot be defined for output (outflow from reaches, levels/volumes in reservoirs). This is a limitation in the implementation, not of the MPC methodology. Extension to include change penalty on outputs is considered for future versions.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public PenaltyData AddChangePenalty(
    BlockData block,
    double penalty
)
Public Function AddChangePenalty (
    block As BlockData,
    penalty As Double
) As PenaltyData
public:
PenaltyData^ AddChangePenalty(
    BlockData^ block,
    double penalty
)

Parameters

block
Type: DHI.MPC.EngineBlockData
The variable that the change penalty applies to. Currently restricted to be of type FlowData
penalty
Type: SystemDouble

Return Value

Type: PenaltyData
A filled PenaltyData record.
See Also

Reference

Configuration Class


Configuration.AddConstraint Method

ConfigurationAddConstraint Method

Overload List
 | Name | Description
Public method | AddConstraint(BlockData, ConstraintOption, Double, Boolean, Double) | Adds a single constant constraint (lower or upper bound) to either an MPC-controlled flow or to an output. For outputs, the constraint may be soft (i.e. violation of the constraint is allowed, but is penalised).
Public method | AddConstraint(BlockData, ConstraintOption, String, Boolean, Double) | Adds a single time-varying constraint (lower or upper bound) to either an MPC-controlled flow or to an output. For outputs, the constraint may be soft (i.e. violation of the constraint is allowed, but is penalised).
Top
See Also

Reference

Configuration Class


Configuration.AddConstraint Method (BlockData, ConstraintOption, Double, Boolean, Double)

ConfigurationAddConstraint Method (BlockData, ConstraintOption, Double, Boolean, Double)

Adds a single constant constraint (lower or upper bound) to either an MPC-controlled flow or to an output. For outputs, the constraint may be soft (i.e. violation of the constraint is allowed, but is penalised).

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public void AddConstraint(
    BlockData blockData,
    ConstraintOption bound,
    double value,
    bool allowViolation = false,
    double violationPenalty = 0,01
)
Public Sub AddConstraint (
    blockData As BlockData,
    bound As ConstraintOption,
    value As Double,
    Optional allowViolation As Boolean = false,
    Optional violationPenalty As Double = 0,01
)
public:
void AddConstraint(
    BlockData^ blockData,
    ConstraintOption bound,
    double value,
    bool allowViolation = false,
    double violationPenalty = 0,01
)

Parameters

blockData
Type: DHI.MPC.EngineBlockData
Data record that the constraint applies to. This can be either a model block (for constraint on outputs from reach, reservoir) or a flow data record (for constraint on MPC-controlled flow).
bound
Type: DHI.MPC.EngineConstraintOption
Type of the constraint (min/max/rate-of-change).
value
Type: SystemDouble
Constant value for the constraint.
allowViolation (Optional)
Type: SystemBoolean
Set to true to define a soft constraint. Default is false.
violationPenalty (Optional)
Type: SystemDouble
Penalty for violation of the soft constraint.
See Also

Reference

Configuration Class
AddConstraint Overload


Configuration.AddConstraint Method (BlockData, ConstraintOption, String, Boolean, Double)

ConfigurationAddConstraint Method (BlockData, ConstraintOption, String, Boolean, Double)

Adds a single time-varying constraint (lower or upper bound) to either an MPC-controlled flow or to an output. For outputs, the constraint may be soft (i.e. violation of the constraint is allowed, but is penalised).

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public void AddConstraint(
    BlockData blockData,
    ConstraintOption bound,
    string tsId,
    bool allowViolation = false,
    double violationPenalty = 0,01
)
Public Sub AddConstraint (
    blockData As BlockData,
    bound As ConstraintOption,
    tsId As String,
    Optional allowViolation As Boolean = false,
    Optional violationPenalty As Double = 0,01
)
public:
void AddConstraint(
    BlockData^ blockData,
    ConstraintOption bound,
    String^ tsId,
    bool allowViolation = false,
    double violationPenalty = 0,01
)

Parameters

blockData
Type: DHI.MPC.EngineBlockData
Data record that the constraint applies to. This can be either a model block (for constraint on outputs from reach, reservoir) or a flow data record (for constraint on MPC-controlled flow).
bound
Type: DHI.MPC.EngineConstraintOption
Type of the constraint (min/max/rate-of-change).
tsId
Type: SystemString
Id of the time series with the bound values.
allowViolation (Optional)
Type: SystemBoolean
Set to true to define a soft constraint. Default is false.
violationPenalty (Optional)
Type: SystemDouble
Penalty for violation of the soft constraint.
See Also

Reference

Configuration Class
AddConstraint Overload


Configuration.AddConstraints Method

ConfigurationAddConstraints Method

Adds all HARD constraints with CONSTANT bound values in one go. Applies both to constraints on outputs (reach outflows, level/volume in reservoirs) and to constraints on forcings (controlled flows through valves/gates/pumps). Constraints with time-varying bounds and/or soft constraints must be added one by one, using either AddConstraint(BlockData, ConstraintOption, String, Boolean, Double) or AddConstraint(BlockData, ConstraintOption, Double, Boolean, Double).

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public void AddConstraints(
    BlockData blockData,
    Nullable<double> lowerBound = null,
    Nullable<double> upperBound = null,
    Nullable<double> changeBound = null
)
Public Sub AddConstraints (
    blockData As BlockData,
    Optional lowerBound As Nullable(Of Double) = Nothing,
    Optional upperBound As Nullable(Of Double) = Nothing,
    Optional changeBound As Nullable(Of Double) = Nothing
)
public:
void AddConstraints(
    BlockData^ blockData,
    Nullable<double> lowerBound = nullptr,
    Nullable<double> upperBound = nullptr,
    Nullable<double> changeBound = nullptr
)

Parameters

blockData
Type: DHI.MPC.EngineBlockData
lowerBound (Optional)
Type: SystemNullableDouble
upperBound (Optional)
Type: SystemNullableDouble
changeBound (Optional)
Type: SystemNullableDouble
See Also

Reference

Configuration Class


Configuration.AddInflow Method

ConfigurationAddInflow Method

Add inflow data to a model block (reach, reservoir or ...)

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public InflowData AddInflow(
    BlockData block,
    string inflowName,
    string timeSeriesId,
    bool mpcControlled,
    bool posFlowConstraint = false
)
Public Function AddInflow (
    block As BlockData,
    inflowName As String,
    timeSeriesId As String,
    mpcControlled As Boolean,
    Optional posFlowConstraint As Boolean = false
) As InflowData
public:
InflowData^ AddInflow(
    BlockData^ block,
    String^ inflowName,
    String^ timeSeriesId,
    bool mpcControlled,
    bool posFlowConstraint = false
)

Parameters

block
Type: DHI.MPC.EngineBlockData
BlockData object
inflowName
Type: SystemString
Name of the inflow.
timeSeriesId
Type: SystemString
Id of the time series.
mpcControlled
Type: SystemBoolean
True if the inflow is MPC controlled, else false.
posFlowConstraint (Optional)
Type: SystemBoolean
Optionally restrict the inflow to be positive when adding it. This restriction only takes effect when mpcControlled is true. If left out no constraint is added. Constraints may be added later by the AddFlowConstrain method.

Return Value

Type: InflowData
The filled InflowData record.
See Also

Reference

Configuration Class


Configuration.AddInitialState Method

ConfigurationAddInitialState Method

Overload List
Name Description
Public method AddInitialState(BlockData, Double)
Populates an InitialStateData record and adds it to the configuration. The interpretation of the value in value depends on the model block in question. For reservoirs:
  • The tank (Level) and the level-volume reservoir (LevelVolume) need the initial LEVEL (in [m]).
  • The volume reservoir (Volume) needs the initial VOLUME (in m^3].
  • The linear reservoir needs the initial OUTFLOW (in m^3/s]).
This method adds initial condition to a reservoir. A reach takes initial conditions from all its inflow time series (upstream an lateral).
Public method AddInitialState(BlockData, String)
Populates an InitialStateData record and adds it to the configuration. The interpretation of the values in tsId depends on the model block in question. For reservoirs:
  • The tank (Level) and the level-volume reservoir (LevelVolume) need the initial LEVEL (in [m]).
  • The volume reservoir (Volume) needs the initial VOLUME (in m^3].
  • The linear reservoir needs the initial OUTFLOW (in m^3/s]).
This method adds initial condition to a reservoir. A reach takes initial conditions from all its inflow time series (upstream an lateral).
Top
See Also

Reference

Configuration Class


Configuration.AddInitialState Method (BlockData, Double)

ConfigurationAddInitialState Method (BlockData, Double)

Populates an InitialStateData record and adds it to the configuration. The interpretation of the value in value depends on the model block in question. For reservoirs:
  • The tank (Level) and the level-volume reservoir (LevelVolume) need the initial LEVEL (in [m]).
  • The volume reservoir (Volume) needs the initial VOLUME (in m^3].
  • The linear reservoir needs the initial OUTFLOW (in m^3/s]).
This method adds initial condition to a reservoir. A reach takes initial conditions from all its inflow time series (upstream an lateral).

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public InitialStateData AddInitialState(
    BlockData block,
    double value
)
Public Function AddInitialState (
    block As BlockData,
    value As Double
) As InitialStateData
public:
InitialStateData^ AddInitialState(
    BlockData^ block,
    double value
)

Parameters

block
Type: DHI.MPC.EngineBlockData
The data record for the model block that the initial state is set for.
value
Type: SystemDouble
Initial value.

Return Value

Type: InitialStateData
The filled InitialStateData record.
See Also

Reference

Configuration Class
AddInitialState Overload


Configuration.AddInitialState Method (BlockData, String)

ConfigurationAddInitialState Method (BlockData, String)

Populates an InitialStateData record and adds it to the configuration. The interpretation of the values in tsId depends on the model block in question. For reservoirs:
  • The tank (Level) and the level-volume reservoir (LevelVolume) need the initial LEVEL (in [m]).
  • The volume reservoir (Volume) needs the initial VOLUME (in m^3].
  • The linear reservoir needs the initial OUTFLOW (in m^3/s]).
This method adds initial condition to a reservoir. A reach takes initial conditions from all its inflow time series (upstream an lateral).

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public InitialStateData AddInitialState(
    BlockData block,
    string tsId
)
Public Function AddInitialState (
    block As BlockData,
    tsId As String
) As InitialStateData
public:
InitialStateData^ AddInitialState(
    BlockData^ block,
    String^ tsId
)

Parameters

block
Type: DHI.MPC.EngineBlockData
The data record for the model block that the initial state is set for.
tsId
Type: SystemString
The time series to extract the initial state from.

Return Value

Type: InitialStateData
The filled InitialStateData record.
See Also

Reference

Configuration Class
AddInitialState Overload


Configuration.AddLateralInflow Method

ConfigurationAddLateralInflow Method

Overload List
 | Name | Description
Public method | AddLateralInflow(ReachData, String, String, ListDouble, Boolean) | Creates and adds a lateral inflow which is DISTRIBUTED to a specified LIST of POINTS. A LateralInflowData record is filled, assigned to the ReachData object specified in the reach parameter and finally added to the configuration.
Public method | AddLateralInflow(ReachData, String, String, Double, Boolean) | Creates and adds a lateral inflow which is a SINGLE POINT SOURCE. A LateralInflowData record is filled, assigned to the ReachData object specified in the reach parameter and finally added to the configuration.
Public method | AddLateralInflow(ReachData, String, String, Double, Double, Boolean) | Creates and adds a lateral inflow which is DISTRIBUTED over a range. A LateralInflowData record is filled, assigned to the ReachData object specified in the reach parameter and finally added to the configuration.
Top
See Also

Reference

Configuration Class


Configuration.AddLateralInflow Method (ReachData, String, String, List(Double), Boolean)

ConfigurationAddLateralInflow Method (ReachData, String, String, ListDouble, Boolean)

Creates and adds a lateral inflow which is DISTRIBUTED to a specified LIST of POINTS. A LateralInflowData record is filled, assigned to the ReachData object specified in the reach parameter and finally added to the configuration.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public LateralInflowData AddLateralInflow(
    ReachData reach,
    string flowName,
    string timeSeriesId,
    List<double> chainageList,
    bool mpcControlled
)
Public Function AddLateralInflow (
    reach As ReachData,
    flowName As String,
    timeSeriesId As String,
    chainageList As List(Of Double),
    mpcControlled As Boolean
) As LateralInflowData
public:
LateralInflowData^ AddLateralInflow(
    ReachData^ reach,
    String^ flowName,
    String^ timeSeriesId,
    List<double>^ chainageList,
    bool mpcControlled
)

Parameters

reach
Type: DHI.MPC.EngineReachData
The reach data object which the flow is assigned to. This object must be configured in advance.
flowName
Type: SystemString
Name of inflow.
timeSeriesId
Type: SystemString
Time series Id. All lateral flows need a time series, which MUST cover a period PRIOR to time of forecast that is at least as long as the travel time of the lateral inflow. This part of the time series is necessary as initial condition. From time of forecast and onwards the time series needs only cover, if the lateral inflow is a boundary, i.e. if it is neither linked nor controlled.
chainageList
Type: System.Collections.GenericListDouble
Contains the list of points that the flow is distributed to.
mpcControlled
Type: SystemBoolean
True if the flow is controlled, false if it is boundary.

Return Value

Type: LateralInflowData
The configured LateralInflowData record.
See Also

Reference

Configuration Class
AddLateralInflow Overload


Configuration.AddLateralInflow Method (ReachData, String, String, Double, Boolean)

ConfigurationAddLateralInflow Method (ReachData, String, String, Double, Boolean)

Creates and adds a lateral inflow which is a SINGLE POINT SOURCE. A LateralInflowData record is filled, assigned to the ReachData object specified in the reach parameter and finally added to the configuration.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public LateralInflowData AddLateralInflow(
    ReachData reach,
    string flowName,
    string timeSeriesId,
    double chainage,
    bool mpcControlled
)
Public Function AddLateralInflow (
    reach As ReachData,
    flowName As String,
    timeSeriesId As String,
    chainage As Double,
    mpcControlled As Boolean
) As LateralInflowData
public:
LateralInflowData^ AddLateralInflow(
    ReachData^ reach,
    String^ flowName,
    String^ timeSeriesId,
    double chainage,
    bool mpcControlled
)

Parameters

reach
Type: DHI.MPC.EngineReachData
The reach data object which the flow is assigned to. This object must be configured in advance.
flowName
Type: SystemString
Name of inflow.
timeSeriesId
Type: SystemString
Time series Id. All lateral flows need a time series, which MUST cover a period PRIOR to time of forecast that is at least as long as the travel time of the lateral inflow. This part of the time series is necessary as initial condition. From time of forecast and onwards the time series needs only cover, if the lateral inflow is a boundary, i.e. if it is neither linked nor controlled.
chainage
Type: SystemDouble
Entry point of the flow.
mpcControlled
Type: SystemBoolean
True if the flow is controlled, false if it is boundary.

Return Value

Type: LateralInflowData
The configured LateralInflowData record.
See Also

Reference

Configuration Class
AddLateralInflow Overload


Configuration.AddLateralInflow Method (ReachData, String, String, Double, Double, Boolean)

ConfigurationAddLateralInflow Method (ReachData, String, String, Double, Double, Boolean)

Creates and adds a lateral inflow which is DISTRIBUTED over a range. A LateralInflowData record is filled, assigned to the ReachData object specified in the reach parameter and finally added to the configuration.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public LateralInflowData AddLateralInflow(
    ReachData reach,
    string flowName,
    string timeSeriesId,
    double chainageLower,
    double chainageUpper,
    bool mpcControlled
)
Public Function AddLateralInflow (
    reach As ReachData,
    flowName As String,
    timeSeriesId As String,
    chainageLower As Double,
    chainageUpper As Double,
    mpcControlled As Boolean
) As LateralInflowData
public:
LateralInflowData^ AddLateralInflow(
    ReachData^ reach,
    String^ flowName,
    String^ timeSeriesId,
    double chainageLower,
    double chainageUpper,
    bool mpcControlled
)

Parameters

reach
Type: DHI.MPC.EngineReachData
The reach data object which the flow is assigned to. This object must be configured in advance.
flowName
Type: SystemString
Name of inflow.
timeSeriesId
Type: SystemString
Time series Id. All lateral flows need a time series, which MUST cover a period PRIOR to time of forecast that is at least as long as the travel time of the lateral inflow. This part of the time series is necessary as initial condition. From time of forecast and onwards the time series needs only cover, if the lateral inflow is a boundary, i.e. if it is neither linked nor controlled.
chainageLower
Type: SystemDouble
Lower chainage number. Lower chainage is the upstream chainage of the distribution range (for positive flow direction).
chainageUpper
Type: SystemDouble
Upper chainage number. Upper chainage is the downstream change of the distribution range (for positive flow direction).
mpcControlled
Type: SystemBoolean
True if the flow is controlled, false if it is boundary.

Return Value

Type: LateralInflowData
The configured LateralInflowData record.
See Also

Reference

Configuration Class
AddLateralInflow Overload


Configuration.AddLateralOutflow Method

ConfigurationAddLateralOutflow Method

Overload List
 | Name | Description
Public method | AddLateralOutflow(ReachData, String, String, ListDouble, Boolean) | Creates and adds a lateral outflow which is DISTRIBUTED to a specified LIST of POINTS. A LateralOutflowData record is filled, assigned to the ReachData object specified in the reach parameter and finally added to the configuration.
Public method | AddLateralOutflow(ReachData, String, String, Double, Boolean) | Creates and adds a lateral outflow which is a SINGLE POINT SINK. A LateralOutflowData record is filled, assigned to the ReachData object specified in the reach parameter and finally added to the configuration.
Public method | AddLateralOutflow(ReachData, String, String, Double, Double, Boolean) | Creates and adds a lateral outflow which is DISTRIBUTED over a range. A LateralOutflowData record is filled, assigned to the ReachData object specified in the reach parameter and finally added to the configuration.
Top
See Also

Reference

Configuration Class


Configuration.AddLateralOutflow Method (ReachData, String, String, List(Double), Boolean)

ConfigurationAddLateralOutflow Method (ReachData, String, String, ListDouble, Boolean)

Creates and adds a lateral outflow which is DISTRIBUTED to a specified LIST of POINTS. A LateralOutflowData record is filled, assigned to the ReachData object specified in the reach parameter and finally added to the configuration.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public LateralOutflowData AddLateralOutflow(
    ReachData reach,
    string flowName,
    string timeSeriesId,
    List<double> chainageList,
    bool mpcControlled
)
Public Function AddLateralOutflow (
    reach As ReachData,
    flowName As String,
    timeSeriesId As String,
    chainageList As List(Of Double),
    mpcControlled As Boolean
) As LateralOutflowData
public:
LateralOutflowData^ AddLateralOutflow(
    ReachData^ reach,
    String^ flowName,
    String^ timeSeriesId,
    List<double>^ chainageList,
    bool mpcControlled
)

Parameters

reach
Type: DHI.MPC.EngineReachData
The reach data object which the flow is assigned to. This object must be configured in advance.
flowName
Type: SystemString
Name of the outflow.
timeSeriesId
Type: SystemString
Time series Id. All lateral flows need a time series, which MUST cover a period PRIOR to time of forecast that is at least as long as the travel time of the lateral inflow. This part of the time series is necessary as initial condition. From time of forecast and onwards the time series needs only cover, if the lateral inflow is a boundary, i.e. if it is neither linked nor controlled.
chainageList
Type: System.Collections.GenericListDouble
Contains the list of points that the flow is distributed to.
mpcControlled
Type: SystemBoolean
True if the flow is controlled, false if it is boundary.

Return Value

Type: LateralOutflowData
The filled LateralOutflowData record.
See Also

Reference

Configuration Class
AddLateralOutflow Overload


Configuration.AddLateralOutflow Method (ReachData, String, String, Double, Boolean)

ConfigurationAddLateralOutflow Method (ReachData, String, String, Double, Boolean)

Creates and adds a lateral outflow which is a SINGLE POINT SINK. A LateralOutflowData record is filled, assigned to the ReachData object specified in the reach parameter and finally added to the configuration.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public LateralOutflowData AddLateralOutflow(
    ReachData reach,
    string flowName,
    string timeSeriesId,
    double chainage,
    bool mpcControlled
)
Public Function AddLateralOutflow (
    reach As ReachData,
    flowName As String,
    timeSeriesId As String,
    chainage As Double,
    mpcControlled As Boolean
) As LateralOutflowData
public:
LateralOutflowData^ AddLateralOutflow(
    ReachData^ reach,
    String^ flowName,
    String^ timeSeriesId,
    double chainage,
    bool mpcControlled
)

Parameters

reach
Type: DHI.MPC.EngineReachData
The reach data object which the flow is assigned to. This object must be configured in advance.
flowName
Type: SystemString
Name of outflow.
timeSeriesId
Type: SystemString
Time series Id. All lateral flows need a time series, which MUST cover a period PRIOR to time of forecast that is at least as long as the travel time of the lateral inflow. This part of the time series is necessary as initial condition. From time of forecast and onwards the time series needs only cover, if the lateral inflow is a boundary, i.e. if it is neither linked nor controlled.
chainage
Type: SystemDouble
Leaving point of the flow.
mpcControlled
Type: SystemBoolean
True if the flow is controlled, false if it is boundary.

Return Value

Type: LateralOutflowData
The filled LateralOutflowData record.
See Also

Reference

Configuration Class
AddLateralOutflow Overload


Configuration.AddLateralOutflow Method (ReachData, String, String, Double, Double, Boolean)

ConfigurationAddLateralOutflow Method (ReachData, String, String, Double, Double, Boolean)

Creates and adds a lateral outflow which is DISTRIBUTED over a range. A LateralOutflowData record is filled, assigned to the ReachData object specified in the reach parameter and finally added to the configuration.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public LateralOutflowData AddLateralOutflow(
    ReachData reach,
    string flowName,
    string timeSeriesId,
    double chainageLower,
    double chainageUpper,
    bool mpcControlled
)
Public Function AddLateralOutflow (
    reach As ReachData,
    flowName As String,
    timeSeriesId As String,
    chainageLower As Double,
    chainageUpper As Double,
    mpcControlled As Boolean
) As LateralOutflowData
public:
LateralOutflowData^ AddLateralOutflow(
    ReachData^ reach,
    String^ flowName,
    String^ timeSeriesId,
    double chainageLower,
    double chainageUpper,
    bool mpcControlled
)

Parameters

reach
Type: DHI.MPC.EngineReachData
The reach data object which the flow is assigned to. This object must be configured in advance.
flowName
Type: SystemString
Name of outflow.
timeSeriesId
Type: SystemString
Time series Id. All lateral flows need a time series, which MUST cover a period PRIOR to time of forecast that is at least as long as the travel time of the lateral inflow. This part of the time series is necessary as initial condition. From time of forecast and onwards the time series needs only cover, if the lateral inflow is a boundary, i.e. if it is neither linked nor controlled.
chainageLower
Type: SystemDouble
Lower chainage number. Lower chainage is the upstream chainage of the distribution range (for positive flow direction).
chainageUpper
Type: SystemDouble
Upper chainage number. Upper chainage is the downstream change of the distribution range (for positive flow direction).
mpcControlled
Type: SystemBoolean
True if the flow is controlled, false if it is boundary.

Return Value

Type: LateralOutflowData
The configured LateralOutflowData record.
See Also

Reference

Configuration Class
AddLateralOutflow Overload


Configuration.AddLinearReservoir Method

ConfigurationAddLinearReservoir Method

Creates a LinearReservoirData record, fills it and finally adds it to the configuration.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public LinearReservoirData AddLinearReservoir(
    string name,
    double halfLifeTime
)
Public Function AddLinearReservoir (
    name As String,
    halfLifeTime As Double
) As LinearReservoirData
public:
LinearReservoirData^ AddLinearReservoir(
    String^ name,
    double halfLifeTime
)

Parameters

name
Type: SystemString
Name
halfLifeTime
Type: SystemDouble
The half-life decay time, which characterises the linear reservoir, specified in seconds [s].

Return Value

Type: LinearReservoirData
The filled LinearReservoirData record.
See Also

Reference

Configuration Class


Configuration.AddOutflow Method

ConfigurationAddOutflow Method

Adds an outflow (to be extracted directly from the assigned reservoir, not along a reach)

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public OutflowData AddOutflow(
    ReservoirBaseData reservoir,
    string flowName,
    string timeSeriesId,
    bool mpcControlled
)
Public Function AddOutflow (
    reservoir As ReservoirBaseData,
    flowName As String,
    timeSeriesId As String,
    mpcControlled As Boolean
) As OutflowData
public:
OutflowData^ AddOutflow(
    ReservoirBaseData^ reservoir,
    String^ flowName,
    String^ timeSeriesId,
    bool mpcControlled
)

Parameters

reservoir
Type: DHI.MPC.EngineReservoirBaseData
The reservoir that the outflow is extracted from
flowName
Type: SystemString
A human-readable name for the flow.
timeSeriesId
Type: SystemString
Id of the outflow time series.
mpcControlled
Type: SystemBoolean
True: This flow is controlled by MPC.

Return Value

Type: OutflowData
The filled OutflowData record.
See Also

Reference

Configuration Class


Configuration.AddReach Method

ConfigurationAddReach Method

Creates a ReachData record, fills it and finally adds it to the configuration.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public ReachData AddReach(
    string reachName,
    int delay,
    double chainageLower,
    double chainageUpper,
    bool posFlowConstraint = false
)
Public Function AddReach (
    reachName As String,
    delay As Integer,
    chainageLower As Double,
    chainageUpper As Double,
    Optional posFlowConstraint As Boolean = false
) As ReachData
public:
ReachData^ AddReach(
    String^ reachName,
    int delay,
    double chainageLower,
    double chainageUpper,
    bool posFlowConstraint = false
)

Parameters

reachName
Type: SystemString
Name of the reach.
delay
Type: SystemInt32
Delay from upstream inflow to downstream outflow [h].
chainageLower
Type: SystemDouble
Lower chainage number. Lower chainage is upstream chainage (for positive flow direction).
chainageUpper
Type: SystemDouble
Upper chainage number. Upper chainage is downstream change (for positive flow direction).
posFlowConstraint (Optional)
Type: SystemBoolean
Optionally restrict the outflow from the reach to positive values only. If set to true, the outflow from the reach will be restricted to be positive. If left out, no restrictions apply. Also, constraints on the flow can be added after initialising the reach by the AddConstraint(BlockData, ConstraintOption, Double, Boolean, Double) or the AddConstraint(BlockData, ConstraintOption, String, Boolean, Double) method.

Return Value

Type: ReachData
The filled ReachData record.
See Also

Reference

Configuration Class


Configuration.AddReservoir Method

ConfigurationAddReservoir Method

Adds a reservoir to the configuration. The reservoir model is determined by calculationModel.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public ReservoirData AddReservoir(
    string name,
    ReservoirCalculationModel calculationModel,
    Nullable<double> area = null,
    Dictionary<double, double> levelVolumeTable = null
)
Public Function AddReservoir (
    name As String,
    calculationModel As ReservoirCalculationModel,
    Optional area As Nullable(Of Double) = Nothing,
    Optional levelVolumeTable As Dictionary(Of Double, Double) = Nothing
) As ReservoirData
public:
ReservoirData^ AddReservoir(
    String^ name,
    ReservoirCalculationModel calculationModel,
    Nullable<double> area = nullptr,
    Dictionary<double, double>^ levelVolumeTable = nullptr
)

Parameters

name
Type: SystemString
Name of the reservoir
calculationModel
Type: DHI.MPC.EngineReservoirCalculationModel
The calculation model determines what the internal state variable of the reservoir is. Also, the choice of calculation model dictates, if any of the extra information in area or levelVolumeTable are needed.
  • LevelVolume needs levelVolumeTable
  • Volume needs no extra information
  • Level needs area
area (Optional)
Type: SystemNullableDouble
Surface area in [m^2].
levelVolumeTable (Optional)
Type: System.Collections.GenericDictionaryDouble, Double
Dictionary with level (in [m]) as key and volume (in [m^3]) as value.

Return Value

Type: ReservoirData
A filled reservoir data record.
See Also

Reference

Configuration Class


Configuration.AddReservoirWithOverflow Method

ConfigurationAddReservoirWithOverflow Method

Adds a reservoir to the configuration. The reservoir model is determined by calculationModel.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public ReservoirWithOverflowData AddReservoirWithOverflow(
    string name,
    ReservoirCalculationModel calculationModel,
    double overflowThreshold,
    double overflowPenalty,
    Nullable<double> area = null,
    Dictionary<double, double> levelVolumeTable = null
)
Public Function AddReservoirWithOverflow (
    name As String,
    calculationModel As ReservoirCalculationModel,
    overflowThreshold As Double,
    overflowPenalty As Double,
    Optional area As Nullable(Of Double) = Nothing,
    Optional levelVolumeTable As Dictionary(Of Double, Double) = Nothing
) As ReservoirWithOverflowData
public:
ReservoirWithOverflowData^ AddReservoirWithOverflow(
    String^ name,
    ReservoirCalculationModel calculationModel,
    double overflowThreshold,
    double overflowPenalty,
    Nullable<double> area = nullptr,
    Dictionary<double, double>^ levelVolumeTable = nullptr
)

Parameters

name
Type: SystemString
Name of the reservoir
calculationModel
Type: DHI.MPC.EngineReservoirCalculationModel
The calculation model determines what the internal state variable of the reservoir is. Also, the choice of calculation model dictates, if any of the extra information in area or levelVolumeTable are needed.
  • LevelVolume needs levelVolumeTable
  • Volume needs no extra information
  • Level needs area
overflowThreshold
Type: SystemDouble
The threshold above which overflow occurs. The threshold is specified as a level [m] or a volume [m^3], according to calculationModel
  • LevelVolume : level [m]
  • Volume : volume [m^3]
  • Level : level [m]
overflowPenalty
Type: SystemDouble
Penalty for exceeding the overflow threshold. The overflow threshold must be added to the reservoir as a hard constraint using AddConstraint(BlockData, ConstraintOption, Double, Boolean, Double).
area (Optional)
Type: SystemNullableDouble
Surface area in [m^2].
levelVolumeTable (Optional)
Type: System.Collections.GenericDictionaryDouble, Double
Dictionary with level (in [m]) as key and volume (in [m^3]) as value.

Return Value

Type: ReservoirWithOverflowData
A filled reservoir data record.
See Also

Reference

Configuration Class


Configuration.AddTarget Method

ConfigurationAddTarget Method

Overload List
 | Name | Description
Public method | AddTarget(BlockData, Double, Double) | Constant target value. Populates a TargetData record and adds it to the configuration. Setting a target value makes it an objective of the optimisation to guide the output of the model block towards the target value by penalising the deviation from the target.
Public method | AddTarget(BlockData, String, Double) | Time-varying target value. Populates a TargetData record and adds it to the configuration. Setting a target value makes it an objective of the optimisation to guide the output of the model block towards the target value by penalising the deviation from the target.
Top
See Also

Reference

Configuration Class


Configuration.AddTarget Method (BlockData, Double, Double)

ConfigurationAddTarget Method (BlockData, Double, Double)

Constant target value. Populates a TargetData record and adds it to the configuration. Setting a target value makes it an objective of the optimisation to guide the output of the model block towards the target value by penalising the deviation from the target.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public TargetData AddTarget(
    BlockData block,
    double targetValue,
    double penalty
)
Public Function AddTarget (
    block As BlockData,
    targetValue As Double,
    penalty As Double
) As TargetData
public:
TargetData^ AddTarget(
    BlockData^ block,
    double targetValue,
    double penalty
)

Parameters

block
Type: DHI.MPC.EngineBlockData
The data record of the model block that the target applies to.
targetValue
Type: SystemDouble
The constant target value.
penalty
Type: SystemDouble
The penalty for deviations from the target.

Return Value

Type: TargetData
The filled TargetData record.
See Also

Reference

Configuration Class
AddTarget Overload


Configuration.AddTarget Method (BlockData, String, Double)

ConfigurationAddTarget Method (BlockData, String, Double)

Time-varying target value. Populates a TargetData record and adds it to the configuration. Setting a target value makes it an objective of the optimisation to guide the output of the model block towards the target value by penalising the deviation from the target.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public TargetData AddTarget(
    BlockData block,
    string targetTsId,
    double penalty
)
Public Function AddTarget (
    block As BlockData,
    targetTsId As String,
    penalty As Double
) As TargetData
public:
TargetData^ AddTarget(
    BlockData^ block,
    String^ targetTsId,
    double penalty
)

Parameters

block
Type: DHI.MPC.EngineBlockData
The data record of the model block that the target applies to.
targetTsId
Type: SystemString
Id of the target time series.
penalty
Type: SystemDouble
The penalty for deviations from the target.

Return Value

Type: TargetData
The filled TargetData record.
See Also

Reference

Configuration Class
AddTarget Overload


Configuration.Connect Method

ConfigurationConnect Method

Overload List
 | Name | Description
Public method | Connect(LateralOutflowData, InflowData) | Creates a CONTROLLED link that pipes lateral outflow to the inflow of a reach.
Public method | Connect(LateralOutflowData, LateralInflowData) | Creates a CONTROLLED link that pipes lateral outflow to the lateral inflow of a(nother) reach.
Public method | Connect(LinearReservoirData, InflowData) | Creates an UNCONTROLLED link that pipes outflow from a linear reservoir to an inflow.
Public method | Connect(LinearReservoirData, LateralInflowData) | Creates an UNCONTROLLED link that pipes linear reservoir outflow to the specified lateral inflow. The lateral inflow may be distributed or be a point source.
Public method | Connect(OutflowData, InflowData) | Creates a CONTROLLED link that pipes outflow from a reservoir (outflow data) to the inflow of a reach.
Public method | Connect(OutflowData, LateralInflowData) | Creates a CONTROLLED link that pipes outflow from a reservoir (outflow data) to the lateral inflow of a reach.
Public method | Connect(ReachData, InflowData) | Creates an UNCONTROLLED link that pipes reach outflow to the specified inflow. The flow in this link cannot be controlled by the MPC. This is because the outflow of the upstream reach cannot be controlled (it is an output of the model).
Public method | Connect(ReachData, LateralInflowData) | Creates an UNCONTROLLED link that pipes reach outflow to the specified lateral inflow. The lateral inflow must be a point source.
Top
See Also

Reference

Configuration Class


Configuration.Connect Method (LateralOutflowData, InflowData)

ConfigurationConnect Method (LateralOutflowData, InflowData)

Creates a CONTROLLED link that pipes lateral outflow to the inflow of a reach.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public void Connect(
    LateralOutflowData lateralOutflowData,
    InflowData inflowData
)
Public Sub Connect (
    lateralOutflowData As LateralOutflowData,
    inflowData As InflowData
)
public:
void Connect(
    LateralOutflowData^ lateralOutflowData,
    InflowData^ inflowData
)

Parameters

lateralOutflowData
Type: DHI.MPC.EngineLateralOutflowData
Lateral flow data record.
inflowData
Type: DHI.MPC.EngineInflowData
Inflow data record.
See Also

Reference

Configuration Class
Connect Overload


Configuration.Connect Method (LateralOutflowData, LateralInflowData)

ConfigurationConnect Method (LateralOutflowData, LateralInflowData)

Creates a CONTROLLED link that pipes lateral outflow to the lateral inflow of a(nother) reach.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public void Connect(
    LateralOutflowData lateralOutflowData,
    LateralInflowData lateralInflowData
)
Public Sub Connect (
    lateralOutflowData As LateralOutflowData,
    lateralInflowData As LateralInflowData
)
public:
void Connect(
    LateralOutflowData^ lateralOutflowData,
    LateralInflowData^ lateralInflowData
)

Parameters

lateralOutflowData
Type: DHI.MPC.EngineLateralOutflowData
Lateral flow data record.
lateralInflowData
Type: DHI.MPC.EngineLateralInflowData
Lateral inflow data record.
See Also

Reference

Configuration Class
Connect Overload


Configuration.Connect Method (LinearReservoirData, InflowData)

ConfigurationConnect Method (LinearReservoirData, InflowData)

Creates an UNCONTROLLED link that pipes outflow from a linear reservoir to an inflow.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public void Connect(
    LinearReservoirData reservoirData,
    InflowData inflowData
)
Public Sub Connect (
    reservoirData As LinearReservoirData,
    inflowData As InflowData
)
public:
void Connect(
    LinearReservoirData^ reservoirData,
    InflowData^ inflowData
)

Parameters

reservoirData
Type: DHI.MPC.EngineLinearReservoirData
Linear reservoir data record
inflowData
Type: DHI.MPC.EngineInflowData
Inflow data record
See Also

Reference

Configuration Class
Connect Overload


Configuration.Connect Method (LinearReservoirData, LateralInflowData)

ConfigurationConnect Method (LinearReservoirData, LateralInflowData)

Creates an UNCONTROLLED link that pipes linear reservoir outflow to the specified lateral inflow. The lateral inflow may be distributed or be a point source.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public void Connect(
    LinearReservoirData linResData,
    LateralInflowData inflowData
)
Public Sub Connect (
    linResData As LinearReservoirData,
    inflowData As LateralInflowData
)
public:
void Connect(
    LinearReservoirData^ linResData,
    LateralInflowData^ inflowData
)

Parameters

linResData
Type: DHI.MPC.EngineLinearReservoirData
inflowData
Type: DHI.MPC.EngineLateralInflowData
See Also

Reference

Configuration Class
Connect Overload


Configuration.Connect Method (OutflowData, InflowData)

ConfigurationConnect Method (OutflowData, InflowData)

Creates a CONTROLLED link that pipes outflow from a reservoir (outflow data) to the inflow of a reach.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public void Connect(
    OutflowData OutflowData,
    InflowData inflowData
)
Public Sub Connect (
    OutflowData As OutflowData,
    inflowData As InflowData
)
public:
void Connect(
    OutflowData^ OutflowData,
    InflowData^ inflowData
)

Parameters

OutflowData
Type: DHI.MPC.EngineOutflowData
Outflow data record.
inflowData
Type: DHI.MPC.EngineInflowData
Inflow data record.
See Also

Reference

Configuration Class
Connect Overload


Configuration.Connect Method (OutflowData, LateralInflowData)

ConfigurationConnect Method (OutflowData, LateralInflowData)

Creates a CONTROLLED link that pipes outflow from a reservoir (outflow data) to the lateral inflow of a reach.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public void Connect(
    OutflowData OutflowData,
    LateralInflowData lateralInflowData
)
Public Sub Connect (
    OutflowData As OutflowData,
    lateralInflowData As LateralInflowData
)
public:
void Connect(
    OutflowData^ OutflowData,
    LateralInflowData^ lateralInflowData
)

Parameters

OutflowData
Type: DHI.MPC.EngineOutflowData
Outflow data record.
lateralInflowData
Type: DHI.MPC.EngineLateralInflowData
Lateral inflow data record.
See Also

Reference

Configuration Class
Connect Overload


Configuration.Connect Method (ReachData, InflowData)

ConfigurationConnect Method (ReachData, InflowData)

Creates an UNCONTROLLED link that pipes reach outflow to the specified inflow. The flow in this link cannot be controlled by the MPC. This is because the outflow of the upstream reach cannot be controlled (it is an output of the model).

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public void Connect(
    ReachData reachData,
    InflowData inflowData
)
Public Sub Connect (
    reachData As ReachData,
    inflowData As InflowData
)
public:
void Connect(
    ReachData^ reachData,
    InflowData^ inflowData
)

Parameters

reachData
Type: DHI.MPC.EngineReachData
Reach data record.
inflowData
Type: DHI.MPC.EngineInflowData
Inflow data record.
See Also

Reference

Configuration Class
Connect Overload


Configuration.Connect Method (ReachData, LateralInflowData)

ConfigurationConnect Method (ReachData, LateralInflowData)

Creates an UNCONTROLLED link that pipes reach outflow to the specified lateral inflow. The lateral inflow must be a point source.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public void Connect(
    ReachData reachData,
    LateralInflowData inflowData
)
Public Sub Connect (
    reachData As ReachData,
    inflowData As LateralInflowData
)
public:
void Connect(
    ReachData^ reachData,
    LateralInflowData^ inflowData
)

Parameters

reachData
Type: DHI.MPC.EngineReachData
Reach data record.
inflowData
Type: DHI.MPC.EngineLateralInflowData
Inflow data record.
See Also

Reference

Configuration Class
Connect Overload


Configuration.GetAllBlockData Method

ConfigurationGetAllBlockData Method

Gets the list of all IBlockData elements in the configuration.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public List<IBlockData> GetAllBlockData()
Public Function GetAllBlockData As List(Of IBlockData)
public:
List<IBlockData^>^ GetAllBlockData()

Return Value

Type: ListIBlockData
the list of all IBlockData elements in the configuration
See Also

Reference

Configuration Class


Configuration.GetAllControlledInflow Method

ConfigurationGetAllControlledInflow Method

Returns a list of all inflows that are controlled by the MPC. Currently all upstream inflows to the reaches (defined in an InflowData record) will automatically be MPC controlled. Future versions might open up for lateral flows being controlled by MPC as well

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public List<InflowData> GetAllControlledInflow()
Public Function GetAllControlledInflow As List(Of InflowData)
public:
List<InflowData^>^ GetAllControlledInflow()

Return Value

Type: ListInflowData
A list containing all InflowData defined for the model.
See Also

Reference

Configuration Class


Configuration.GetAllControlledLink Method

ConfigurationGetAllControlledLink Method

Gets the list of all connections that are MPC controlled.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public List<ControlledLinkData> GetAllControlledLink()
Public Function GetAllControlledLink As List(Of ControlledLinkData)
public:
List<ControlledLinkData^>^ GetAllControlledLink()

Return Value

Type: ListControlledLinkData
The list of controlled link data records.
See Also

Reference

Configuration Class


Configuration.GetAllLinearReservoirData Method

ConfigurationGetAllLinearReservoirData Method

Gets the configuration record for each linear reservoir, organised as a list

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public IList<LinearReservoirData> GetAllLinearReservoirData()
Public Function GetAllLinearReservoirData As IList(Of LinearReservoirData)
public:
IList<LinearReservoirData^>^ GetAllLinearReservoirData()

Return Value

Type: IListLinearReservoirData
A list of LinearReservoirData.
See Also

Reference

Configuration Class


Configuration.GetAllReachData Method

ConfigurationGetAllReachData Method

Gets the configuration for each reach, organized in a list

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public IList<ReachData> GetAllReachData()
Public Function GetAllReachData As IList(Of ReachData)
public:
IList<ReachData^>^ GetAllReachData()

Return Value

Type: IListReachData
The list of data records for all reaches.
See Also

Reference

Configuration Class


Configuration.GetAllReservoirData Method

ConfigurationGetAllReservoirData Method

Gets the configuration for each reservoir, organised in a list.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public IList<ReservoirData> GetAllReservoirData()
Public Function GetAllReservoirData As IList(Of ReservoirData)
public:
IList<ReservoirData^>^ GetAllReservoirData()

Return Value

Type: IListReservoirData
A list of data records for all reservoirs.
See Also

Reference

Configuration Class


Configuration.GetAllUncontrolledLink Method

ConfigurationGetAllUncontrolledLink Method

Gets the list of all connections that are not MPC controlled.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public List<UncontrolledLinkData> GetAllUncontrolledLink()
Public Function GetAllUncontrolledLink As List(Of UncontrolledLinkData)
public:
List<UncontrolledLinkData^>^ GetAllUncontrolledLink()

Return Value

Type: ListUncontrolledLinkData
The list of uncontrolled link data records.
See Also

Reference

Configuration Class


Configuration.GetBlock Method

ConfigurationGetBlock Method

Gets the data record for a block (identified by the record's Id)

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public IBlockData GetBlock(
    Guid blockId
)
Public Function GetBlock (
    blockId As Guid
) As IBlockData
public:
IBlockData^ GetBlock(
    Guid blockId
)

Parameters

blockId
Type: SystemGuid
The Id of the data record

Return Value

Type: IBlockData
The data record for the block.
See Also

Reference

Configuration Class


Configuration.GetBlockCalibrationData Method

ConfigurationGetBlockCalibrationData Method

Get calibration data for a given block id

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public BlockCalibrationData GetBlockCalibrationData(
    Guid blockId
)
Public Function GetBlockCalibrationData (
    blockId As Guid
) As BlockCalibrationData
public:
BlockCalibrationData^ GetBlockCalibrationData(
    Guid blockId
)

Parameters

blockId
Type: SystemGuid
Id of the block data.

Return Value

Type: BlockCalibrationData
The calibration data record for the block.
See Also

Reference

Configuration Class


Configuration.GetChangePenalty Method

ConfigurationGetChangePenalty Method

Get the data record for penalty on rate-of-change.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public PenaltyData GetChangePenalty(
    Guid blockId
)
Public Function GetChangePenalty (
    blockId As Guid
) As PenaltyData
public:
PenaltyData^ GetChangePenalty(
    Guid blockId
)

Parameters

blockId
Type: SystemGuid
Id of the block that the penalty applies to.

Return Value

Type: PenaltyData
A filled PenaltyData record.
See Also

Reference

Configuration Class


Configuration.GetFlow Method

ConfigurationGetFlow Method

Get a flow data record, specified by the id of its record. Contains all flows defined in system.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public FlowData GetFlow(
    Guid Id
)
Public Function GetFlow (
    Id As Guid
) As FlowData
public:
FlowData^ GetFlow(
    Guid Id
)

Parameters

Id
Type: SystemGuid
Id of data record

Return Value

Type: FlowData
the flow data record
See Also

Reference

Configuration Class


Configuration.GetForcing Method

ConfigurationGetForcing Method

Gets the list of all MPC controlled flows related to a specific model block.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public List<FlowData> GetForcing(
    Guid blockId
)
Public Function GetForcing (
    blockId As Guid
) As List(Of FlowData)
public:
List<FlowData^>^ GetForcing(
    Guid blockId
)

Parameters

blockId
Type: SystemGuid
Id of the block.

Return Value

Type: ListFlowData
The list of data records for all MPC controlled flows related to the model block.
See Also

Reference

Configuration Class


Configuration.GetForcingConstraint Method

ConfigurationGetForcingConstraint Method

Gets the list of forcing constraints related to an inflow.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public List<IForcingConstraintData> GetForcingConstraint(
    Guid flowDataId
)
Public Function GetForcingConstraint (
    flowDataId As Guid
) As List(Of IForcingConstraintData)
public:
List<IForcingConstraintData^>^ GetForcingConstraint(
    Guid flowDataId
)

Parameters

flowDataId
Type: SystemGuid
Id of the flow data record.

Return Value

Type: ListIForcingConstraintData
The list of forcing constraint data records, related to the specified flow.
See Also

Reference

Configuration Class


Configuration.GetForcingConstraintList Method

ConfigurationGetForcingConstraintList Method

Get the list of all data records for forcing constraints related to inflows to a single block.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public List<IForcingConstraintData> GetForcingConstraintList(
    Guid blockId
)
Public Function GetForcingConstraintList (
    blockId As Guid
) As List(Of IForcingConstraintData)
public:
List<IForcingConstraintData^>^ GetForcingConstraintList(
    Guid blockId
)

Parameters

blockId
Type: SystemGuid
Id of the block data record.

Return Value

Type: ListIForcingConstraintData
The list of all data records for forcing constraints related to inflows to a single block.
See Also

Reference

Configuration Class


Configuration.GetInflow Method

ConfigurationGetInflow Method

Gets an inflow data record, specified by the id of its record.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public InflowData GetInflow(
    Guid blockId
)
Public Function GetInflow (
    blockId As Guid
) As InflowData
public:
InflowData^ GetInflow(
    Guid blockId
)

Parameters

blockId
Type: SystemGuid
The id of the data record

Return Value

Type: InflowData
The inflow data record.
See Also

Reference

Configuration Class


Configuration.GetInflowList Method

ConfigurationGetInflowList Method

Get all inflows to a specific block. Most likely the block is a reservoir with multiple inflows

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public List<InflowData> GetInflowList(
    Guid blockId
)
Public Function GetInflowList (
    blockId As Guid
) As List(Of InflowData)
public:
List<InflowData^>^ GetInflowList(
    Guid blockId
)

Parameters

blockId
Type: SystemGuid
The id of the block that is subject to the inflows.

Return Value

Type: ListInflowData
A list of inflow data records.
See Also

Reference

Configuration Class


Configuration.GetInitialState Method

ConfigurationGetInitialState Method

Gets the data record that holds initial state.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public InitialStateData GetInitialState(
    Guid blockId
)
Public Function GetInitialState (
    blockId As Guid
) As InitialStateData
public:
InitialStateData^ GetInitialState(
    Guid blockId
)

Parameters

blockId
Type: SystemGuid
The Id of the block data record.

Return Value

Type: InitialStateData
The data record for the initial state.
See Also

Reference

Configuration Class


Configuration.GetLateralInflowData Method

ConfigurationGetLateralInflowData Method

Get all LateralInflowData records that have been assigned to a reach.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public List<LateralInflowData> GetLateralInflowData(
    Guid reachId
)
Public Function GetLateralInflowData (
    reachId As Guid
) As List(Of LateralInflowData)
public:
List<LateralInflowData^>^ GetLateralInflowData(
    Guid reachId
)

Parameters

reachId
Type: SystemGuid
The ID of the reach.

Return Value

Type: ListLateralInflowData
A list of LateralInflowData.
See Also

Reference

Configuration Class


Configuration.GetLateralOutflowData Method

ConfigurationGetLateralOutflowData Method

Gets the data records for all lateral flows connected to a reach.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public List<LateralOutflowData> GetLateralOutflowData(
    Guid reachId
)
Public Function GetLateralOutflowData (
    reachId As Guid
) As List(Of LateralOutflowData)
public:
List<LateralOutflowData^>^ GetLateralOutflowData(
    Guid reachId
)

Parameters

reachId
Type: SystemGuid
Id of the ReachData record.

Return Value

Type: ListLateralOutflowData
A list of LateralOutflowData.
See Also

Reference

Configuration Class


Configuration.GetLinearReservoir Method

ConfigurationGetLinearReservoir Method

Gets the data record for a linear reservoir, identified by the record's Id

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public LinearReservoirData GetLinearReservoir(
    Guid id
)
Public Function GetLinearReservoir (
    id As Guid
) As LinearReservoirData
public:
LinearReservoirData^ GetLinearReservoir(
    Guid id
)

Parameters

id
Type: SystemGuid
Id of the data record

Return Value

Type: LinearReservoirData
The data record for a linear reservoir.
See Also

Reference

Configuration Class


Configuration.GetOutflowData Method

ConfigurationGetOutflowData Method

For a single reservoir: Get the list of outflows.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public List<OutflowData> GetOutflowData(
    Guid reservoirId
)
Public Function GetOutflowData (
    reservoirId As Guid
) As List(Of OutflowData)
public:
List<OutflowData^>^ GetOutflowData(
    Guid reservoirId
)

Parameters

reservoirId
Type: SystemGuid
The Id of the reservoir data record.

Return Value

Type: ListOutflowData
The list of outflows from this reservoir.
See Also

Reference

Configuration Class


Configuration.GetOutputConstraintList Method

ConfigurationGetOutputConstraintList Method

Gets the list of output constraints related to a specific block.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public List<IOutputConstraintData> GetOutputConstraintList(
    Guid blockId
)
Public Function GetOutputConstraintList (
    blockId As Guid
) As List(Of IOutputConstraintData)
public:
List<IOutputConstraintData^>^ GetOutputConstraintList(
    Guid blockId
)

Parameters

blockId
Type: SystemGuid
The id of the block data record.

Return Value

Type: ListIOutputConstraintData
The list out output constraint data records related to this block.
See Also

Reference

Configuration Class


Configuration.GetReach Method

ConfigurationGetReach Method

Gets the data record for a reach (identified by the record's Id)

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public ReachData GetReach(
    Guid reachId
)
Public Function GetReach (
    reachId As Guid
) As ReachData
public:
ReachData^ GetReach(
    Guid reachId
)

Parameters

reachId
Type: SystemGuid
The Id of the data record.

Return Value

Type: ReachData
The data record for the reach.
See Also

Reference

Configuration Class


Configuration.GetReservoir Method

ConfigurationGetReservoir Method

Gets the ReservoirData record.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public ReservoirData GetReservoir(
    Guid id
)
Public Function GetReservoir (
    id As Guid
) As ReservoirData
public:
ReservoirData^ GetReservoir(
    Guid id
)

Parameters

id
Type: SystemGuid
The Id of the ReservoirData record.

Return Value

Type: ReservoirData
The data record of the reservoir.
See Also

Reference

Configuration Class


Configuration.GetTarget Method

ConfigurationGetTarget Method

Get the target data record for a specific block.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public TargetData GetTarget(
    Guid blockId
)
Public Function GetTarget (
    blockId As Guid
) As TargetData
public:
TargetData^ GetTarget(
    Guid blockId
)

Parameters

blockId
Type: SystemGuid
ID of the model block that the target is assigned to.

Return Value

Type: TargetData
The data record for the TargetData.
See Also

Reference

Configuration Class


Configuration.GetUpstreamSourceData Method

ConfigurationGetUpstreamSourceData Method

Find the upstream source that this inflow is linked to, and return its data record. If the flow is uncontrolled, the data record of the upstream model block is returned. If the flow is controlled the data record of the upstream flow is returned.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public void GetUpstreamSourceData(
    InflowData inflowData,
    out IBlockData upstreamSource,
    out bool controlled
)
Public Sub GetUpstreamSourceData (
    inflowData As InflowData,
    <OutAttribute> ByRef upstreamSource As IBlockData,
    <OutAttribute> ByRef controlled As Boolean
)
public:
void GetUpstreamSourceData(
    InflowData^ inflowData,
    [OutAttribute] IBlockData^% upstreamSource,
    [OutAttribute] bool% controlled
)

Parameters

inflowData
Type: DHI.MPC.EngineInflowData
Inflow data record.
upstreamSource
Type: DHI.MPC.EngineIBlockData
Data object for the upstream source.
controlled
Type: SystemBoolean
Flag indicating whether the upstream source is MPC controlled or not.
See Also

Reference

Configuration Class


Configuration.RemoveFromBlockList Method

ConfigurationRemoveFromBlockList Method

Removes a data record from the BlockList.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public void RemoveFromBlockList(
    Guid blockId
)
Public Sub RemoveFromBlockList (
    blockId As Guid
)
public:
void RemoveFromBlockList(
    Guid blockId
)

Parameters

blockId
Type: SystemGuid
The Id of the block to be removed.
See Also

Reference

Configuration Class


Configuration.SetCalibrationData Method

ConfigurationSetCalibrationData Method

Fill calibration time series into the empty BlockCalibrationData, which is generated by the AddReach(String, Int32, Double, Double, Boolean) method.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public void SetCalibrationData(
    Dictionary<Guid, string> calibrationTsDict = null
)
Public Sub SetCalibrationData (
    Optional calibrationTsDict As Dictionary(Of Guid, String) = Nothing
)
public:
void SetCalibrationData(
    Dictionary<Guid, String^>^ calibrationTsDict = nullptr
)

Parameters

calibrationTsDict (Optional)
Type: System.Collections.GenericDictionaryGuid, String
Optional dictionary mapping manually block ids to calibration time series ids
See Also

Reference

Configuration Class


ConfigurationHandler Class

A class for making CRUD operations on a repository of configurations.
CRUD = Create, Read, Update, Delete.
Inheritance Hierarchy
SystemObject
BaseServiceConfiguration, String
BaseUpdatableServiceConfiguration, String
DHI.MPC.EngineConfigurationHandler

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public class ConfigurationHandler : BaseUpdatableService<Configuration, string>
Public Class ConfigurationHandler
    Inherits BaseUpdatableService(Of Configuration, String)
public ref class ConfigurationHandler : public BaseUpdatableService<Configuration^, String^>

The ConfigurationHandler type exposes the following members.

Constructors
 | Name | Description
Public method | ConfigurationHandler | Creates an instance of the ConfigurationHandler class.
Top
Methods
 | Name | Description
Public method | Add | (Inherited from BaseUpdatableServiceConfiguration, String.)
Public method | AddOrUpdate | (Inherited from BaseUpdatableServiceConfiguration, String.)
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | Get | (Inherited from BaseServiceConfiguration, String.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Protected method | OnAdded | (Inherited from BaseUpdatableServiceConfiguration, String.)
Protected method | OnAdding | (Inherited from BaseUpdatableServiceConfiguration, String.)
Protected method | OnDeleted | (Inherited from BaseUpdatableServiceConfiguration, String.)
Protected method | OnDeleting | (Inherited from BaseUpdatableServiceConfiguration, String.)
Protected method | OnUpdated | (Inherited from BaseUpdatableServiceConfiguration, String.)
Protected method | OnUpdating | (Inherited from BaseUpdatableServiceConfiguration, String.)
Public method | Remove | (Inherited from BaseUpdatableServiceConfiguration, String.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Public method | TryAdd | (Inherited from BaseUpdatableServiceConfiguration, String.)
Public method | TryUpdate | (Inherited from BaseUpdatableServiceConfiguration, String.)
Public method | Update | (Inherited from BaseUpdatableServiceConfiguration, String.)
Top
Events
 | Name | Description
Public event | Added | (Inherited from BaseUpdatableServiceConfiguration, String.)
Public event | Adding | (Inherited from BaseUpdatableServiceConfiguration, String.)
Public event | Deleted | (Inherited from BaseUpdatableServiceConfiguration, String.)
Public event | Deleting | (Inherited from BaseUpdatableServiceConfiguration, String.)
Public event | Updated | (Inherited from BaseUpdatableServiceConfiguration, String.)
Public event | Updating | (Inherited from BaseUpdatableServiceConfiguration, String.)
Top
See Also

Reference

DHI.MPC.Engine Namespace


ConfigurationHandler Constructor

Creates an instance of the ConfigurationHandler class.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public ConfigurationHandler(
    IConfigurationRepository repository
)
Public Sub New (
    repository As IConfigurationRepository
)
public:
ConfigurationHandler(
    IConfigurationRepository^ repository
)

Parameters

repository
Type: DHI.MPC.EngineIConfigurationRepository
A configuration repository.
See Also

Reference

ConfigurationHandler Class


ConfigurationHandler Methods

The ConfigurationHandler type exposes the following members.

Methods
 | Name | Description
Public method | Add | (Inherited from BaseUpdatableServiceConfiguration, String.)
Public method | AddOrUpdate | (Inherited from BaseUpdatableServiceConfiguration, String.)
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | Get | (Inherited from BaseServiceConfiguration, String.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Protected method | OnAdded | (Inherited from BaseUpdatableServiceConfiguration, String.)
Protected method | OnAdding | (Inherited from BaseUpdatableServiceConfiguration, String.)
Protected method | OnDeleted | (Inherited from BaseUpdatableServiceConfiguration, String.)
Protected method | OnDeleting | (Inherited from BaseUpdatableServiceConfiguration, String.)
Protected method | OnUpdated | (Inherited from BaseUpdatableServiceConfiguration, String.)
Protected method | OnUpdating | (Inherited from BaseUpdatableServiceConfiguration, String.)
Public method | Remove | (Inherited from BaseUpdatableServiceConfiguration, String.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Public method | TryAdd | (Inherited from BaseUpdatableServiceConfiguration, String.)
Public method | TryUpdate | (Inherited from BaseUpdatableServiceConfiguration, String.)
Public method | Update | (Inherited from BaseUpdatableServiceConfiguration, String.)
Top
See Also

Reference

ConfigurationHandler Class


ConfigurationHandler Events

The ConfigurationHandler type exposes the following members.

Events
 | Name | Description
Public event | Added | (Inherited from BaseUpdatableServiceConfiguration, String.)
Public event | Adding | (Inherited from BaseUpdatableServiceConfiguration, String.)
Public event | Deleted | (Inherited from BaseUpdatableServiceConfiguration, String.)
Public event | Deleting | (Inherited from BaseUpdatableServiceConfiguration, String.)
Public event | Updated | (Inherited from BaseUpdatableServiceConfiguration, String.)
Public event | Updating | (Inherited from BaseUpdatableServiceConfiguration, String.)
Top
See Also

Reference

ConfigurationHandler Class


ConfigurationRepository Class

Class for holding a repository of MPC configurations
Inheritance Hierarchy
SystemObject
JsonRepositoryConfiguration, String
DHI.MPC.EngineConfigurationRepository

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public class ConfigurationRepository : JsonRepository<Configuration, string>,
    IConfigurationRepository, IUpdatableRepository<Configuration, string>
Public Class ConfigurationRepository
    Inherits JsonRepository(Of Configuration, String)
    Implements IConfigurationRepository, IUpdatableRepository(Of Configuration, String)
public ref class ConfigurationRepository : public JsonRepository<Configuration^, String^>,
    IConfigurationRepository, IUpdatableRepository<Configuration^, String^>

The ConfigurationRepository type exposes the following members.

Constructors
 | Name | Description
Public method | ConfigurationRepository | Initializes a new instance of the ConfigurationRepository class.
Top
Methods
 | Name | Description
Public method | Add | (Inherited from JsonRepositoryConfiguration, String.)
Public method | Contains | (Inherited from JsonRepositoryConfiguration, String.)
Public method | Count | (Inherited from JsonRepositoryConfiguration, String.)
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | Get(UTP, ClaimsPrincipal) | (Inherited from JsonRepositoryConfiguration, String.)
Public method | Get(ExpressionFuncUTP, Boolean, ClaimsPrincipal) | (Inherited from JsonRepositoryConfiguration, String.)
Public method | GetAll | (Inherited from JsonRepositoryConfiguration, String.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetIds | (Inherited from JsonRepositoryConfiguration, String.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | Remove(UTP, ClaimsPrincipal) | (Inherited from JsonRepositoryConfiguration, String.)
Public method | Remove(ExpressionFuncUTP, Boolean, ClaimsPrincipal) | (Inherited from JsonRepositoryConfiguration, String.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Public method | Update | (Inherited from JsonRepositoryConfiguration, String.)
Top
See Also

Reference

DHI.MPC.Engine Namespace


ConfigurationRepository Constructor

Initializes a new instance of the ConfigurationRepository class.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public ConfigurationRepository(
    string filePath
)
Public Sub New (
    filePath As String
)
public:
ConfigurationRepository(
    String^ filePath
)

Parameters

filePath
Type: SystemString
The file path.
See Also

Reference

ConfigurationRepository Class


ConfigurationRepository Methods

The ConfigurationRepository type exposes the following members.

Methods
 | Name | Description
Public method | Add | (Inherited from JsonRepositoryConfiguration, String.)
Public method | Contains | (Inherited from JsonRepositoryConfiguration, String.)
Public method | Count | (Inherited from JsonRepositoryConfiguration, String.)
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | Get(UTP, ClaimsPrincipal) | (Inherited from JsonRepositoryConfiguration, String.)
Public method | Get(ExpressionFuncUTP, Boolean, ClaimsPrincipal) | (Inherited from JsonRepositoryConfiguration, String.)
Public method | GetAll | (Inherited from JsonRepositoryConfiguration, String.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetIds | (Inherited from JsonRepositoryConfiguration, String.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | Remove(UTP, ClaimsPrincipal) | (Inherited from JsonRepositoryConfiguration, String.)
Public method | Remove(ExpressionFuncUTP, Boolean, ClaimsPrincipal) | (Inherited from JsonRepositoryConfiguration, String.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Public method | Update | (Inherited from JsonRepositoryConfiguration, String.)
Top
See Also

Reference

ConfigurationRepository Class


ConstraintOption Enumeration

Specifies whether a constraint is interpreted a lower or an upper bound or a rate-of-change constraint.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public enum ConstraintOption
Public Enumeration ConstraintOption
public enum class ConstraintOption
Members
Member name | Value | Description
Min | 0 | Minimum allowed values for the constrained variable.
Max | 1 | Maximum allowed value for the constrained variable.
RateOfChange | 2 | Maximum allowed rate of change for the constrained variable.
See Also

Reference

DHI.MPC.Engine Namespace


ControlledFlow Class

Class for holding information about a flow that is controlled by MPC. Primarily used to pick up the result, i.e. the optimised control input.
Inheritance Hierarchy
SystemObject
DHI.MPC.EngineControlledFlow

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public class ControlledFlow
Public Class ControlledFlow
public ref class ControlledFlow

The ControlledFlow type exposes the following members.

Constructors
 | Name | Description
Public method | ControlledFlow | Initializes an instance of the ControlledFlow class.
Top
Properties
 | Name | Description
Public property | Result | Gets the result. The "result" is the optimal control calculated by MPC.
Top
Methods
 | Name | Description
Public method | AssignResult | Assign values to the result record.
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

DHI.MPC.Engine Namespace


ControlledFlow Constructor

Initializes an instance of the ControlledFlow class.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public ControlledFlow(
    FlowData flowData
)
Public Sub New (
    flowData As FlowData
)
public:
ControlledFlow(
    FlowData^ flowData
)

Parameters

flowData
Type: DHI.MPC.EngineFlowData
See Also

Reference

ControlledFlow Class


ControlledFlow Properties

The ControlledFlow type exposes the following members.

Properties
 | Name | Description
Public property | Result | Gets the result. The "result" is the optimal control calculated by MPC.
Top
See Also

Reference

ControlledFlow Class


ControlledFlow.Result Property

ControlledFlowResult Property

Gets the result. The "result" is the optimal control calculated by MPC.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public Result Result { get; }
Public ReadOnly Property Result As Result
    Get
public:
property Result^ Result {
    Result^ get ();
}

Property Value

Type: Result
See Also

Reference

ControlledFlow Class


ControlledFlow Methods

The ControlledFlow type exposes the following members.

Methods
 | Name | Description
Public method | AssignResult | Assign values to the result record.
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

ControlledFlow Class


ControlledFlow.AssignResult Method

ControlledFlowAssignResult Method

Assign values to the result record.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public void AssignResult(
    double[] forcingVector
)
Public Sub AssignResult (
    forcingVector As Double()
)
public:
void AssignResult(
    array<double>^ forcingVector
)

Parameters

forcingVector
Type: SystemDouble

[Missing <param name="forcingVector"/> documentation for "M:DHI.MPC.Engine.ControlledFlow.AssignResult(System.Double[])"]

See Also

Reference

ControlledFlow Class


ControlledLinkData Class

Class for holding data for a controlled link. A "link" is the connection between two model blocks.
Outflow --> (link) --> Inflow
Inheritance Hierarchy
SystemObject
DHI.MPC.EngineControlledLinkData

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
[SerializableAttribute]
public class ControlledLinkData
<SerializableAttribute>
Public Class ControlledLinkData
[SerializableAttribute]
public ref class ControlledLinkData

The ControlledLinkData type exposes the following members.

Constructors
 | Name | Description
Public method | ControlledLinkData | Initializes a new instance of the ControlledLinkData class
Top
Properties
 | Name | Description
Public property | InflowDataId | Gets or sets the Id of theInflowData record.
Public property | OutflowDataId | Gets or sets the Id of the outflow data record.
Top
Methods
 | Name | Description
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

DHI.MPC.Engine Namespace


ControlledLinkData Constructor

Initializes a new instance of the ControlledLinkData class

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public ControlledLinkData()
Public Sub New
public:
ControlledLinkData()
See Also

Reference

ControlledLinkData Class


ControlledLinkData Properties

The ControlledLinkData type exposes the following members.

Properties
 | Name | Description
Public property | InflowDataId | Gets or sets the Id of theInflowData record.
Public property | OutflowDataId | Gets or sets the Id of the outflow data record.
Top
See Also

Reference

ControlledLinkData Class


ControlledLinkData.InflowDataId Property

ControlledLinkDataInflowDataId Property

Gets or sets the Id of theInflowData record.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public Guid InflowDataId { get; set; }
Public Property InflowDataId As Guid
    Get
    Set
public:
property Guid InflowDataId {
    Guid get ();
    void set (Guid value);
}

Property Value

Type: Guid
See Also

Reference

ControlledLinkData Class


ControlledLinkData.OutflowDataId Property

ControlledLinkDataOutflowDataId Property

Gets or sets the Id of the outflow data record.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public Guid OutflowDataId { get; set; }
Public Property OutflowDataId As Guid
    Get
    Set
public:
property Guid OutflowDataId {
    Guid get ();
    void set (Guid value);
}

Property Value

Type: Guid
See Also

Reference

ControlledLinkData Class


ControlledLinkData Methods

The ControlledLinkData type exposes the following members.

Methods
 | Name | Description
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

ControlledLinkData Class


EventArgs(T) Class

EventArgsT Class

Class for holding event arguments.
Inheritance Hierarchy
SystemObject
SystemEventArgs
DHI.MPC.EngineEventArgsT

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public class EventArgs<T> : EventArgs

Public Class EventArgs(Of T)
    Inherits EventArgs
generic<typename T>
public ref class EventArgs : public EventArgs

Type Parameters

T

The EventArgsT type exposes the following members.

Constructors
 | Name | Description
Public method | EventArgsT | Creates an instance of the EventArgs class.
Top
Properties
 | Name | Description
Public property | Item | Gets the event argument.
Top
Methods
 | Name | Description
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

DHI.MPC.Engine Namespace


EventArgs(T) Constructor

EventArgsT Constructor

Creates an instance of the EventArgs class.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public EventArgs(
    T item
)
Public Sub New (
    item As T
)
public:
EventArgs(
    T item
)

Parameters

item
Type: T
See Also

Reference

EventArgsT Class


EventArgs(T) Properties

EventArgsT Properties

The EventArgsT generic type exposes the following members.

Properties
 | Name | Description
Public property | Item | Gets the event argument.
Top
See Also

Reference

EventArgsT Class


EventArgs(T).Item Property

EventArgsTItem Property

Gets the event argument.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public T Item { get; }
Public ReadOnly Property Item As T
    Get
public:
property T Item {
    T get ();
}

Property Value

Type: T
See Also

Reference

EventArgsT Class


EventArgs(T) Methods

EventArgsT Methods

The EventArgsT generic type exposes the following members.

Methods
 | Name | Description
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

EventArgsT Class


FlowConstraintData Class

Class for defining lower and upper bounds on controlled flows.
Inheritance Hierarchy
SystemObject
DHI.MPC.EngineFlowConstraintData

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
[SerializableAttribute]
public class FlowConstraintData : IForcingConstraintData
<SerializableAttribute>
Public Class FlowConstraintData
    Implements IForcingConstraintData
[SerializableAttribute]
public ref class FlowConstraintData : IForcingConstraintData

The FlowConstraintData type exposes the following members.

Constructors
 | Name | Description
Public method | FlowConstraintData | Initializes a new instance of the FlowConstraintData class
Top
Properties
 | Name | Description
Public property | Bound | Specifies whether the bound is upper (Max) or lower (Min).
Public property | ForcingId | Attaches the constraint to any descendant of FlowData
Public property | TsId | Bound defined as time series. If TsId is set, this will override a constant value specified in Value
Public property | Value | Specifies the value of the bound
Top
Methods
 | Name | Description
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

DHI.MPC.Engine Namespace


FlowConstraintData Constructor

Initializes a new instance of the FlowConstraintData class

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public FlowConstraintData()
Public Sub New
public:
FlowConstraintData()
See Also

Reference

FlowConstraintData Class


FlowConstraintData Properties

The FlowConstraintData type exposes the following members.

Properties
 | Name | Description
Public property | Bound | Specifies whether the bound is upper (Max) or lower (Min).
Public property | ForcingId | Attaches the constraint to any descendant of FlowData
Public property | TsId | Bound defined as time series. If TsId is set, this will override a constant value specified in Value
Public property | Value | Specifies the value of the bound
Top
See Also

Reference

FlowConstraintData Class


FlowConstraintData.Bound Property

FlowConstraintDataBound Property

Specifies whether the bound is upper (Max) or lower (Min).

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public ConstraintOption Bound { get; set; }
Public Property Bound As ConstraintOption
    Get
    Set
public:
virtual property ConstraintOption Bound {
    ConstraintOption get () sealed;
    void set (ConstraintOption value) sealed;
}

Property Value

Type: ConstraintOption

Implements

IForcingConstraintDataBound
See Also

Reference

FlowConstraintData Class


FlowConstraintData.ForcingId Property

FlowConstraintDataForcingId Property

Attaches the constraint to any descendant of FlowData

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public Guid ForcingId { get; set; }
Public Property ForcingId As Guid
    Get
    Set
public:
virtual property Guid ForcingId {
    Guid get () sealed;
    void set (Guid value) sealed;
}

Property Value

Type: Guid

Implements

IForcingConstraintDataForcingId
See Also

Reference

FlowConstraintData Class


FlowConstraintData.TsId Property

FlowConstraintDataTsId Property

Bound defined as time series. If TsId is set, this will override a constant value specified in Value

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public string TsId { get; set; }
Public Property TsId As String
    Get
    Set
public:
virtual property String^ TsId {
    String^ get () sealed;
    void set (String^ value) sealed;
}

Property Value

Type: String

Implements

IForcingConstraintDataTsId
See Also

Reference

FlowConstraintData Class


FlowConstraintData.Value Property

FlowConstraintDataValue Property

Specifies the value of the bound

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public double Value { get; set; }
Public Property Value As Double
    Get
    Set
public:
virtual property double Value {
    double get () sealed;
    void set (double value) sealed;
}

Property Value

Type: Double

Implements

IForcingConstraintDataValue
See Also

Reference

FlowConstraintData Class


FlowConstraintData Methods

The FlowConstraintData type exposes the following members.

Methods
 | Name | Description
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

FlowConstraintData Class


FlowData Class

Abstract base class for defining flow data. Specialised classes for inflow, outflow and lateral flow inherits from this base class.
Inheritance Hierarchy
SystemObject
DHI.MPC.EngineBlockData
DHI.MPC.EngineFlowData
DHI.MPC.EngineInflowData
DHI.MPC.EngineLateralFlowData
DHI.MPC.EngineOutflowData

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
[SerializableAttribute]
public abstract class FlowData : BlockData
<SerializableAttribute>
Public MustInherit Class FlowData
    Inherits BlockData
[SerializableAttribute]
public ref class FlowData abstract : public BlockData

The FlowData type exposes the following members.

Constructors
 | Name | Description
Public method | FlowData | Initializes an instance of the FlowData class.
Top
Properties
 | Name | Description
Public property | BlockId |
Public property | Id | Gets or sets the identifier of this data record. (Inherited from BlockData.)
Public property | Linked | Gets or set the flag that indicates if flow is linked to another flow. This property is set to true in the Connect methods of Configuration methods
Public property | MpcControlled | Gets or sets the flag that indicates if the flow is controlled by the MPC or not (true: controlled, false: not controlled)
Public property | Name | Gets or sets the name. For a reach or reservoir, use the reach or reservoir name. (Inherited from BlockData.)
Public property | TimeSeriesId | Gets or set the identifier of the time series which holds the flow.
Public property | TsScalingFactor | Gets or sets scaling factor. The scaling factor will apply to the time series defined for this FlowData record. In case of an MpcControlled flow the scaling will apply to the initial flow (which is defined by the time series).
Top
Methods
 | Name | Description
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

DHI.MPC.Engine Namespace


FlowData Constructor

Initializes an instance of the FlowData class.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public FlowData()
Public Sub New
public:
FlowData()
See Also

Reference

FlowData Class


FlowData Properties

The FlowData type exposes the following members.

Properties
 | Name | Description
Public property | BlockId |
Public property | Id | Gets or sets the identifier of this data record. (Inherited from BlockData.)
Public property | Linked | Gets or set the flag that indicates if flow is linked to another flow. This property is set to true in the Connect methods of Configuration methods
Public property | MpcControlled | Gets or sets the flag that indicates if the flow is controlled by the MPC or not (true: controlled, false: not controlled)
Public property | Name | Gets or sets the name. For a reach or reservoir, use the reach or reservoir name. (Inherited from BlockData.)
Public property | TimeSeriesId | Gets or set the identifier of the time series which holds the flow.
Public property | TsScalingFactor | Gets or sets scaling factor. The scaling factor will apply to the time series defined for this FlowData record. In case of an MpcControlled flow the scaling will apply to the initial flow (which is defined by the time series).
Top
See Also

Reference

FlowData Class


FlowData.BlockId Property

FlowDataBlockId Property

[Missing <summary> documentation for "P:DHI.MPC.Engine.FlowData.BlockId"]

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public Guid BlockId { get; set; }
Public Property BlockId As Guid
    Get
    Set
public:
property Guid BlockId {
    Guid get ();
    void set (Guid value);
}

Property Value

Type: Guid
See Also

Reference

FlowData Class


FlowData.Linked Property

FlowDataLinked Property

Gets or set the flag that indicates if flow is linked to another flow. This property is set to true in the Connect methods of Configuration methods

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public bool Linked { get; set; }
Public Property Linked As Boolean
    Get
    Set
public:
property bool Linked {
    bool get ();
    void set (bool value);
}

Property Value

Type: Boolean
See Also

Reference

FlowData Class


FlowData.MpcControlled Property

FlowDataMpcControlled Property

Gets or sets the flag that indicates if the flow is controlled by the MPC or not (true: controlled, false: not controlled)

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public bool MpcControlled { get; set; }
Public Property MpcControlled As Boolean
    Get
    Set
public:
property bool MpcControlled {
    bool get ();
    void set (bool value);
}

Property Value

Type: Boolean
See Also

Reference

FlowData Class


FlowData.TimeSeriesId Property

FlowDataTimeSeriesId Property

Gets or set the identifier of the time series which holds the flow.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public string TimeSeriesId { get; set; }
Public Property TimeSeriesId As String
    Get
    Set
public:
property String^ TimeSeriesId {
    String^ get ();
    void set (String^ value);
}

Property Value

Type: String
See Also

Reference

FlowData Class


FlowData.TsScalingFactor Property

FlowDataTsScalingFactor Property

Gets or sets scaling factor. The scaling factor will apply to the time series defined for this FlowData record. In case of an MpcControlled flow the scaling will apply to the initial flow (which is defined by the time series).

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public double TsScalingFactor { get; set; }
Public Property TsScalingFactor As Double
    Get
    Set
public:
property double TsScalingFactor {
    double get ();
    void set (double value);
}

Property Value

Type: Double
See Also

Reference

FlowData Class


FlowData Methods

The FlowData type exposes the following members.

Methods
 | Name | Description
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

FlowData Class


ForecastLengthConverter Class

Static class for converting between forecast length in hours and forecast length in steps, given the time step.
Inheritance Hierarchy
SystemObject
DHI.MPC.EngineForecastLengthConverter

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public static class ForecastLengthConverter
Public NotInheritable Class ForecastLengthConverter
public ref class ForecastLengthConverter abstract sealed

The ForecastLengthConverter type exposes the following members.

Methods
Name | Description
HourToTimeSpan | Returns the TimeSpan that corresponds to the hours. The hours are first converted to minutes (second fractions are skipped).
TimeSpanToStep | Convert from forecast length (specified as TimeSpan) to forecast length in steps.
Top
See Also

Reference

DHI.MPC.Engine Namespace


ForecastLengthConverter Methods

The ForecastLengthConverter type exposes the following members.

Methods
Name | Description
HourToTimeSpan | Returns the TimeSpan that corresponds to the hours. The hours are first converted to minutes (second fractions are skipped).
TimeSpanToStep | Convert from forecast length (specified as TimeSpan) to forecast length in steps.
Top
See Also

Reference

ForecastLengthConverter Class


ForecastLengthConverter.HourToTimeSpan Method

ForecastLengthConverterHourToTimeSpan Method

Returns the TimeSpan that corresponds to the hours. The hours are first converted to minutes (second fractions are skipped).

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public static TimeSpan HourToTimeSpan(
    double timeInHours
)
Public Shared Function HourToTimeSpan (
    timeInHours As Double
) As TimeSpan
public:
static TimeSpan HourToTimeSpan(
    double timeInHours
)

Parameters

timeInHours
Type: SystemDouble
The number of hours, specified as a double, i.e. 1.25 means 1 hour and 15 minute (which is converted to 75 minutes before creating the TimeSpan).

Return Value

Type: TimeSpan

[Missing <returns> documentation for "M:DHI.MPC.Engine.ForecastLengthConverter.HourToTimeSpan(System.Double)"]

See Also

Reference

ForecastLengthConverter Class


ForecastLengthConverter.TimeSpanToStep Method

ForecastLengthConverterTimeSpanToStep Method

Convert from forecast length (specified as TimeSpan) to forecast length in steps.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public static int TimeSpanToStep(
    TimeSpan forecastLength,
    int timeStepInSeconds
)
Public Shared Function TimeSpanToStep (
    forecastLength As TimeSpan,
    timeStepInSeconds As Integer
) As Integer
public:
static int TimeSpanToStep(
    TimeSpan forecastLength,
    int timeStepInSeconds
)

Parameters

forecastLength
Type: SystemTimeSpan
The forecast length specified as a TimeSpan.
timeStepInSeconds
Type: SystemInt32
The time step in seconds.

Return Value

Type: Int32
The number of samples (time steps) in the control horizon.
See Also

Reference

ForecastLengthConverter Class


IBlockData Interface

Generic interface for data records that define model blocks.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public interface IBlockData
Public Interface IBlockData
public interface class IBlockData

The IBlockData type exposes the following members.

Properties
 | Name | Description
Public property | Id | Gets the identifier of this data record.
Public property | Name | Gets the name of this data record. For a reach or reservoir, use the reach or reservoir name.
Top
See Also

Reference

DHI.MPC.Engine Namespace


IBlockData Properties

The IBlockData type exposes the following members.

Properties
 | Name | Description
Public property | Id | Gets the identifier of this data record.
Public property | Name | Gets the name of this data record. For a reach or reservoir, use the reach or reservoir name.
Top
See Also

Reference

IBlockData Interface


IBlockData.Id Property

IBlockDataId Property

Gets the identifier of this data record.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
Guid Id { get; }
ReadOnly Property Id As Guid
    Get
property Guid Id {
    Guid get ();
}

Property Value

Type: Guid
See Also

Reference

IBlockData Interface


IBlockData.Name Property

IBlockDataName Property

Gets the name of this data record. For a reach or reservoir, use the reach or reservoir name.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
string Name { get; }
ReadOnly Property Name As String
    Get
property String^ Name {
    String^ get ();
}

Property Value

Type: String
See Also

Reference

IBlockData Interface


IConfigurationRepository Interface

Interface for a repository of MPC configurations.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public interface IConfigurationRepository : IUpdatableRepository<Configuration, string>
Public Interface IConfigurationRepository
    Inherits IUpdatableRepository(Of Configuration, String)
public interface class IConfigurationRepository : IUpdatableRepository<Configuration^, String^>

The IConfigurationRepository type exposes the following members.

Methods
 | Name | Description
Public method | Add | (Inherited from IUpdatableRepositoryConfiguration, String.)
Public method | Remove | (Inherited from IUpdatableRepositoryConfiguration, String.)
Public method | Update | (Inherited from IUpdatableRepositoryConfiguration, String.)
Top
See Also

Reference

DHI.MPC.Engine Namespace


IConfigurationRepository Methods

The IConfigurationRepository type exposes the following members.

Methods
 | Name | Description
Public method | Add | (Inherited from IUpdatableRepositoryConfiguration, String.)
Public method | Remove | (Inherited from IUpdatableRepositoryConfiguration, String.)
Public method | Update | (Inherited from IUpdatableRepositoryConfiguration, String.)
Top
See Also

Reference

IConfigurationRepository Interface


IForcingConstraintData Interface

Interface for defining data records for lower and upper bounds on forcings. Other names for "forcings are": optimisation variables, decision variables, control actions...

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public interface IForcingConstraintData
Public Interface IForcingConstraintData
public interface class IForcingConstraintData

The IForcingConstraintData type exposes the following members.

Properties
 | Name | Description
Public property | Bound | Specifies whether the bound is upper (Max) or lower (Min).
Public property | ForcingId | Attaches the constraint to the forcing in question
Public property | TsId | Bound defined as time series. If TsId is set, this will override a constant value specified in Value
Public property | Value | Specifies the value of the bound
Top
See Also

Reference

DHI.MPC.Engine Namespace


IForcingConstraintData Properties

The IForcingConstraintData type exposes the following members.

Properties
 | Name | Description
Public property | Bound | Specifies whether the bound is upper (Max) or lower (Min).
Public property | ForcingId | Attaches the constraint to the forcing in question
Public property | TsId | Bound defined as time series. If TsId is set, this will override a constant value specified in Value
Public property | Value | Specifies the value of the bound
Top
See Also

Reference

IForcingConstraintData Interface


IForcingConstraintData.Bound Property

IForcingConstraintDataBound Property

Specifies whether the bound is upper (Max) or lower (Min).

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
ConstraintOption Bound { get; set; }
Property Bound As ConstraintOption
    Get
    Set
property ConstraintOption Bound {
    ConstraintOption get ();
    void set (ConstraintOption value);
}

Property Value

Type: ConstraintOption
See Also

Reference

IForcingConstraintData Interface


IForcingConstraintData.ForcingId Property

IForcingConstraintDataForcingId Property

Attaches the constraint to the forcing in question

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
Guid ForcingId { get; set; }
Property ForcingId As Guid
    Get
    Set
property Guid ForcingId {
    Guid get ();
    void set (Guid value);
}

Property Value

Type: Guid
See Also

Reference

IForcingConstraintData Interface


IForcingConstraintData.TsId Property

IForcingConstraintDataTsId Property

Bound defined as time series. If TsId is set, this will override a constant value specified in Value

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
string TsId { get; set; }
Property TsId As String
    Get
    Set
property String^ TsId {
    String^ get ();
    void set (String^ value);
}

Property Value

Type: String
See Also

Reference

IForcingConstraintData Interface


IForcingConstraintData.Value Property

IForcingConstraintDataValue Property

Specifies the value of the bound

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
double Value { get; set; }
Property Value As Double
    Get
    Set
property double Value {
    double get ();
    void set (double value);
}

Property Value

Type: Double
See Also

Reference

IForcingConstraintData Interface


InflowData Class

Class for holding data for inflow to a reach at the upstream end.
The time series specified by TimeSeriesId in FlowData will be used as forcing, if an ordinary simulation is run via the MPC.Business.Network.Simulator. When using the MPC.Business.Network.Simulator to run an MPC controlled forecast, the forcing will be calculated by the MPC. In this case, it is valid not to set the TimeSerisId.
Inheritance Hierarchy
SystemObject
DHI.MPC.EngineBlockData
DHI.MPC.EngineFlowData
DHI.MPC.EngineInflowData

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
[SerializableAttribute]
public class InflowData : FlowData
<SerializableAttribute>
Public Class InflowData
    Inherits FlowData
[SerializableAttribute]
public ref class InflowData : public FlowData

The InflowData type exposes the following members.

Constructors
 | Name | Description
Public method | InflowData | Initializes a new instance of the InflowData class
Top
Properties
 | Name | Description
Public property | BlockId | (Inherited from FlowData.)
Public property | Id | Gets or sets the identifier of this data record. (Inherited from BlockData.)
Public property | Linked | Gets or set the flag that indicates if flow is linked to another flow. This property is set to true in the Connect methods of Configuration methods (Inherited from FlowData.)
Public property | MpcControlled | Gets or sets the flag that indicates if the flow is controlled by the MPC or not (true: controlled, false: not controlled) (Inherited from FlowData.)
Public property | Name | Gets or sets the name. For a reach or reservoir, use the reach or reservoir name. (Inherited from BlockData.)
Public property | TimeSeriesId | Gets or set the identifier of the time series which holds the flow. (Inherited from FlowData.)
Public property | TsScalingFactor | Gets or sets scaling factor. The scaling factor will apply to the time series defined for this FlowData record. In case of an MpcControlled flow the scaling will apply to the initial flow (which is defined by the time series). (Inherited from FlowData.)
Top
Methods
 | Name | Description
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

DHI.MPC.Engine Namespace


InflowData Constructor

Initializes a new instance of the InflowData class

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public InflowData()
Public Sub New
public:
InflowData()
See Also

Reference

InflowData Class


InflowData Properties

The InflowData type exposes the following members.

Properties
 | Name | Description
Public property | BlockId | (Inherited from FlowData.)
Public property | Id | Gets or sets the identifier of this data record. (Inherited from BlockData.)
Public property | Linked | Gets or set the flag that indicates if flow is linked to another flow. This property is set to true in the Connect methods of Configuration methods (Inherited from FlowData.)
Public property | MpcControlled | Gets or sets the flag that indicates if the flow is controlled by the MPC or not (true: controlled, false: not controlled) (Inherited from FlowData.)
Public property | Name | Gets or sets the name. For a reach or reservoir, use the reach or reservoir name. (Inherited from BlockData.)
Public property | TimeSeriesId | Gets or set the identifier of the time series which holds the flow. (Inherited from FlowData.)
Public property | TsScalingFactor | Gets or sets scaling factor. The scaling factor will apply to the time series defined for this FlowData record. In case of an MpcControlled flow the scaling will apply to the initial flow (which is defined by the time series). (Inherited from FlowData.)
Top
See Also

Reference

InflowData Class


InflowData Methods

The InflowData type exposes the following members.

Methods
 | Name | Description
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

InflowData Class


InitialStateData Class

Class for holding data for the initial state of a model block. The interpretation of the data depends on the model block in question. For example for reservoirs
  • The tank and the level-volume reservoir need the initial LEVEL.
  • The volume reservoir needs VOLUME.
  • The linear reservoir needs the initial OUTFLOW.
Inheritance Hierarchy
SystemObject
DHI.MPC.EngineInitialStateData

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
[SerializableAttribute]
public class InitialStateData
<SerializableAttribute>
Public Class InitialStateData
[SerializableAttribute]
public ref class InitialStateData

The InitialStateData type exposes the following members.

Constructors
 | Name | Description
Public method | InitialStateData | Initializes a new instance of the InitialStateData class
Top
Properties
 | Name | Description
Public property | BlockId | Gets or sets the ID of the BlockData object that the initial state is assigned to.
Public property | TimeSeriesId | Gets or sets the identifier of the time series from which the initial state will be looked up. The initial value is interpolated for simulation start time. If TimeSeriesId is set, this will override a constant value specified in Value.
Public property | Value | Gets or sets a constant value for the initial state. If TimeSeriesId is set, this will override a constant value specified in Value.
Top
Methods
 | Name | Description
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

DHI.MPC.Engine Namespace


InitialStateData Constructor

Initializes a new instance of the InitialStateData class

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public InitialStateData()
Public Sub New
public:
InitialStateData()
See Also

Reference

InitialStateData Class


InitialStateData Properties

The InitialStateData type exposes the following members.

Properties
 | Name | Description
Public property | BlockId | Gets or sets the ID of the BlockData object that the initial state is assigned to.
Public property | TimeSeriesId | Gets or sets the identifier of the time series from which the initial state will be looked up. The initial value is interpolated for simulation start time. If TimeSeriesId is set, this will override a constant value specified in Value.
Public property | Value | Gets or sets a constant value for the initial state. If TimeSeriesId is set, this will override a constant value specified in Value.
Top
See Also

Reference

InitialStateData Class


InitialStateData.BlockId Property

InitialStateDataBlockId Property

Gets or sets the ID of the BlockData object that the initial state is assigned to.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public Guid BlockId { get; set; }
Public Property BlockId As Guid
    Get
    Set
public:
property Guid BlockId {
    Guid get ();
    void set (Guid value);
}

Property Value

Type: Guid
See Also

Reference

InitialStateData Class


InitialStateData.TimeSeriesId Property

InitialStateDataTimeSeriesId Property

Gets or sets the identifier of the time series from which the initial state will be looked up. The initial value is interpolated for simulation start time. If TimeSeriesId is set, this will override a constant value specified in Value.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public string TimeSeriesId { get; set; }
Public Property TimeSeriesId As String
    Get
    Set
public:
property String^ TimeSeriesId {
    String^ get ();
    void set (String^ value);
}

Property Value

Type: String
See Also

Reference

InitialStateData Class


InitialStateData.Value Property

InitialStateDataValue Property

Gets or sets a constant value for the initial state. If TimeSeriesId is set, this will override a constant value specified in Value.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public double Value { get; set; }
Public Property Value As Double
    Get
    Set
public:
property double Value {
    double get ();
    void set (double value);
}

Property Value

Type: Double
See Also

Reference

InitialStateData Class


InitialStateData Methods

The InitialStateData type exposes the following members.

Methods
 | Name | Description
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

InitialStateData Class


IOutputConstraintData Interface

Interface for holding the configuration of output constraints

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public interface IOutputConstraintData
Public Interface IOutputConstraintData
public interface class IOutputConstraintData

The IOutputConstraintData type exposes the following members.

Properties
 | Name | Description
Public property | AllowViolation | Specifies whether this constraint is soft or not. AllowViolation = true will create a soft constraint, AllowViolation = false creates a hard constraint.
Public property | BlockId | Attaches the constraint to model block (IBlockData, whose output is to be constrained.
Public property | Bound | Specifies whether the bound is upper (Max) or lower (Min).
Public property | TsId | Bound defined as time series. If TsId is set, this will override a constant value specified in Value
Public property | Value | Specifies the value of the bound.
Public property | ViolationPenalty | Specifies the penalty for violating the constraint.
Top
See Also

Reference

DHI.MPC.Engine Namespace


IOutputConstraintData Properties

The IOutputConstraintData type exposes the following members.

Properties
 | Name | Description
Public property | AllowViolation | Specifies whether this constraint is soft or not. AllowViolation = true will create a soft constraint, AllowViolation = false creates a hard constraint.
Public property | BlockId | Attaches the constraint to model block (IBlockData, whose output is to be constrained.
Public property | Bound | Specifies whether the bound is upper (Max) or lower (Min).
Public property | TsId | Bound defined as time series. If TsId is set, this will override a constant value specified in Value
Public property | Value | Specifies the value of the bound.
Public property | ViolationPenalty | Specifies the penalty for violating the constraint.
Top
See Also

Reference

IOutputConstraintData Interface


IOutputConstraintData.AllowViolation Property

IOutputConstraintDataAllowViolation Property

Specifies whether this constraint is soft or not. AllowViolation = true will create a soft constraint, AllowViolation = false creates a hard constraint.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
bool AllowViolation { get; set; }
Property AllowViolation As Boolean
    Get
    Set
property bool AllowViolation {
    bool get ();
    void set (bool value);
}

Property Value

Type: Boolean
See Also

Reference

IOutputConstraintData Interface


IOutputConstraintData.BlockId Property

IOutputConstraintDataBlockId Property

Attaches the constraint to model block (IBlockData, whose output is to be constrained.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
Guid BlockId { get; set; }
Property BlockId As Guid
    Get
    Set
property Guid BlockId {
    Guid get ();
    void set (Guid value);
}

Property Value

Type: Guid
See Also

Reference

IOutputConstraintData Interface


IOutputConstraintData.Bound Property

IOutputConstraintDataBound Property

Specifies whether the bound is upper (Max) or lower (Min).

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
ConstraintOption Bound { get; set; }
Property Bound As ConstraintOption
    Get
    Set
property ConstraintOption Bound {
    ConstraintOption get ();
    void set (ConstraintOption value);
}

Property Value

Type: ConstraintOption
See Also

Reference

IOutputConstraintData Interface


IOutputConstraintData.TsId Property

IOutputConstraintDataTsId Property

Bound defined as time series. If TsId is set, this will override a constant value specified in Value

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
string TsId { get; set; }
Property TsId As String
    Get
    Set
property String^ TsId {
    String^ get ();
    void set (String^ value);
}

Property Value

Type: String
See Also

Reference

IOutputConstraintData Interface


IOutputConstraintData.Value Property

IOutputConstraintDataValue Property

Specifies the value of the bound.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
double Value { get; set; }
Property Value As Double
    Get
    Set
property double Value {
    double get ();
    void set (double value);
}

Property Value

Type: Double
See Also

Reference

IOutputConstraintData Interface


IOutputConstraintData.ViolationPenalty Property

IOutputConstraintDataViolationPenalty Property

Specifies the penalty for violating the constraint.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
double ViolationPenalty { get; set; }
Property ViolationPenalty As Double
    Get
    Set
property double ViolationPenalty {
    double get ();
    void set (double value);
}

Property Value

Type: Double
See Also

Reference

IOutputConstraintData Interface


LateralFlowData Class

Class for holding configuration data for the lateral flows along a reach. This is an abstract superclass for the two special cases of inflow and outflow: LateralInflowData and LateralOutflowData. The two descendants share all properties, but differ in how the sign in the time series is interpreted.
  • LateralInflowData will interpret positive values as injections and negative numbers as extractions.
  • LateralOutflowData will interpret positive values as extractions and negative values as injections.
Inheritance Hierarchy
SystemObject
DHI.MPC.EngineBlockData
DHI.MPC.EngineFlowData
DHI.MPC.EngineLateralFlowData
DHI.MPC.EngineLateralInflowData
DHI.MPC.EngineLateralOutflowData

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
[SerializableAttribute]
public abstract class LateralFlowData : FlowData
<SerializableAttribute>
Public MustInherit Class LateralFlowData
    Inherits FlowData
[SerializableAttribute]
public ref class LateralFlowData abstract : public FlowData

The LateralFlowData type exposes the following members.

Constructors
 | Name | Description
Protected method | LateralFlowData | Initializes a new instance of the LateralFlowData class
Top
Properties
Name | Description
Public property | BlockId | (Inherited from FlowData.)
Public property Delay
Gets or sets delay on lateral inflow counted in number of time steps.
Public property DistributionType
Gets or sets how the lateral flow must be distributed along the reach.
  • DistributedAllReach: Distributes the flow evenly along all computational nodes along the reach. No need to specify chainages in Location as location information will be ignored for the "all reach option".
  • DistributedRange: Distributes the flow evenly along all computational nodes in the range specified in Location. Location must contain exactly two entries: Upper and lower chainage of the range.
  • Points: Distributes the flow evenly to the chainage list specified in Location. Define a point source by entering exactly one chainage in the location chainage list.
Public property Id
Gets or sets the identifier of this data record.
(Inherited from BlockData.)
Public property Linked
Gets or set the flag that indicates if flow is linked to another flow. This property is set to true in the Connect methods of Configuration methods
(Inherited from FlowData.)
Public property Location
Gets or sets the list of chainages that defines the injection/extraction points(s).
Public property MpcControlled
Gets or sets the flag that indicates if the flow is controlled by the MPC or not (true: controlled, false: not controlled)
(Inherited from FlowData.)
Public property Name
Gets or sets the name. For a reach or reservoir, use the reach or reservoir name.
(Inherited from BlockData.)
Public property TimeSeriesId
Gets or set the identifier of the time series which holds the flow.
(Inherited from FlowData.)
Public property TsScalingFactor
Gets or sets scaling factor. The scaling factor will apply to the time series defined for this FlowData record. In case of an MpcControlled flow the scaling will apply to the initial flow (which is defined by the time series).
(Inherited from FlowData.)
Top
Methods
 | Name | Description
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

DHI.MPC.Engine Namespace


LateralFlowData Constructor

Initializes a new instance of the LateralFlowData class

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
protected LateralFlowData()
Protected Sub New
protected:
LateralFlowData()
See Also

Reference

LateralFlowData Class


LateralFlowData Properties

The LateralFlowData type exposes the following members.

Properties
Name | Description
Public property | BlockId | (Inherited from FlowData.)
Public property Delay
Gets or sets delay on lateral inflow counted in number of time steps.
Public property DistributionType
Gets or sets how the lateral flow must be distributed along the reach.
  • DistributedAllReach: Distributes the flow evenly along all computational nodes along the reach. No need to specify chainages in Location as location information will be ignored for the "all reach option".
  • DistributedRange: Distributes the flow evenly along all computational nodes in the range specified in Location. Location must contain exactly two entries: Upper and lower chainage of the range.
  • Points: Distributes the flow evenly to the chainage list specified in Location. Define a point source by entering exactly one chainage in the location chainage list.
Public property Id
Gets or sets the identifier of this data record.
(Inherited from BlockData.)
Public property Linked
Gets or set the flag that indicates if flow is linked to another flow. This property is set to true in the Connect methods of Configuration methods
(Inherited from FlowData.)
Public property Location
Gets or sets the list of chainages that defines the injection/extraction points(s).
Public property MpcControlled
Gets or sets the flag that indicates if the flow is controlled by the MPC or not (true: controlled, false: not controlled)
(Inherited from FlowData.)
Public property Name
Gets or sets the name. For a reach or reservoir, use the reach or reservoir name.
(Inherited from BlockData.)
Public property TimeSeriesId
Gets or set the identifier of the time series which holds the flow.
(Inherited from FlowData.)
Public property TsScalingFactor
Gets or sets scaling factor. The scaling factor will apply to the time series defined for this FlowData record. In case of an MpcControlled flow the scaling will apply to the initial flow (which is defined by the time series).
(Inherited from FlowData.)
Top
See Also

Reference

LateralFlowData Class


LateralFlowData.Delay Property

LateralFlowDataDelay Property

Gets or sets delay on lateral inflow counted in number of time steps.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public int Delay { get; set; }
Public Property Delay As Integer
    Get
    Set
public:
property int Delay {
    int get ();
    void set (int value);
}

Property Value

Type: Int32
See Also

Reference

LateralFlowData Class


LateralFlowData.DistributionType Property

LateralFlowDataDistributionType Property

Gets or sets how the lateral flow must be distributed along the reach.
  • DistributedAllReach: Distributes the flow evenly along all computational nodes along the reach. No need to specify chainages in Location as location information will be ignored for the "all reach option".
  • DistributedRange: Distributes the flow evenly along all computational nodes in the range specified in Location. Location must contain exactly two entries: Upper and lower chainage of the range.
  • Points: Distributes the flow evenly to the chainage list specified in Location. Define a point source by entering exactly one chainage in the location chainage list.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public LateralFlowDistributionType DistributionType { get; set; }
Public Property DistributionType As LateralFlowDistributionType
    Get
    Set
public:
property LateralFlowDistributionType DistributionType {
    LateralFlowDistributionType get ();
    void set (LateralFlowDistributionType value);
}

Property Value

Type: LateralFlowDistributionType
See Also

Reference

LateralFlowData Class


LateralFlowData.Location Property

LateralFlowDataLocation Property

Gets or sets the list of chainages that defines the injection/extraction points(s).

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public List<double> Location { get; set; }
Public Property Location As List(Of Double)
    Get
    Set
public:
property List<double>^ Location {
    List<double>^ get ();
    void set (List<double>^ value);
}

Property Value

Type: ListDouble
See Also

Reference

LateralFlowData Class


LateralFlowData Methods

The LateralFlowData type exposes the following members.

Methods
 | Name | Description
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

LateralFlowData Class


LateralFlowDistributionType Enumeration

LateralFlowDistribution type determines how the Location will be interpreted when the model is up.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public enum LateralFlowDistributionType
Public Enumeration LateralFlowDistributionType
public enum class LateralFlowDistributionType
Members
Member name | Value | Description
Points | 0 | Distribute the flow to the points specified in LateralFlowData
DistributedRange | 1 | Distribute the lateral flow over the range specified in LateralFlowData
See Also

Reference

DHI.MPC.Engine Namespace


LateralInflowData Class

Class for holding configuration data for the lateral inflows along a reach. Catchment runoff can be specified as a lateral inflow. Positive numbers in the flow time series (specified through TimeSeriesId) count as injections. A loss/gain time series containing both positive and negative values can be specified. In this case positive values count as injections and negative values as extractions). Lateral flows are boundary conditions to the model block, and cannot be controlled.
Inheritance Hierarchy
SystemObject
DHI.MPC.EngineBlockData
DHI.MPC.EngineFlowData
DHI.MPC.EngineLateralFlowData
DHI.MPC.EngineLateralInflowData

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
[SerializableAttribute]
public class LateralInflowData : LateralFlowData
<SerializableAttribute>
Public Class LateralInflowData
    Inherits LateralFlowData
[SerializableAttribute]
public ref class LateralInflowData : public LateralFlowData

The LateralInflowData type exposes the following members.

Constructors
 | Name | Description
Public method | LateralInflowData | Initializes a new instance of the LateralInflowData class
Top
Properties
Name | Description
Public property | BlockId | (Inherited from FlowData.)
Public property Delay
Gets or sets delay on lateral inflow counted in number of time steps.
(Inherited from LateralFlowData.)
Public property DistributionType
Gets or sets how the lateral flow must be distributed along the reach.
  • DistributedAllReach: Distributes the flow evenly along all computational nodes along the reach. No need to specify chainages in Location as location information will be ignored for the "all reach option".
  • DistributedRange: Distributes the flow evenly along all computational nodes in the range specified in Location. Location must contain exactly two entries: Upper and lower chainage of the range.
  • Points: Distributes the flow evenly to the chainage list specified in Location. Define a point source by entering exactly one chainage in the location chainage list.
(Inherited from LateralFlowData.)
Public property Id
Gets or sets the identifier of this data record.
(Inherited from BlockData.)
Public property Linked
Gets or set the flag that indicates if flow is linked to another flow. This property is set to true in the Connect methods of Configuration methods
(Inherited from FlowData.)
Public property Location
Gets or sets the list of chainages that defines the injection/extraction points(s).
(Inherited from LateralFlowData.)
Public property MpcControlled
Gets or sets the flag that indicates if the flow is controlled by the MPC or not (true: controlled, false: not controlled)
(Inherited from FlowData.)
Public property Name
Gets or sets the name. For a reach or reservoir, use the reach or reservoir name.
(Inherited from BlockData.)
Public property TimeSeriesId
Gets or set the identifier of the time series which holds the flow.
(Inherited from FlowData.)
Public property TsScalingFactor
Gets or sets scaling factor. The scaling factor will apply to the time series defined for this FlowData record. In case of an MpcControlled flow the scaling will apply to the initial flow (which is defined by the time series).
(Inherited from FlowData.)
Top
Methods
 | Name | Description
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

DHI.MPC.Engine Namespace


LateralInflowData Constructor

Initializes a new instance of the LateralInflowData class

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public LateralInflowData()
Public Sub New
public:
LateralInflowData()
See Also

Reference

LateralInflowData Class


LateralInflowData Properties

The LateralInflowData type exposes the following members.

Properties
Name | Description
Public property | BlockId | (Inherited from FlowData.)
Public property Delay
Gets or sets delay on lateral inflow counted in number of time steps.
(Inherited from LateralFlowData.)
Public property DistributionType
Gets or sets how the lateral flow must be distributed along the reach.
  • DistributedAllReach: Distributes the flow evenly along all computational nodes along the reach. No need to specify chainages in Location as location information will be ignored for the "all reach option".
  • DistributedRange: Distributes the flow evenly along all computational nodes in the range specified in Location. Location must contain exactly two entries: Upper and lower chainage of the range.
  • Points: Distributes the flow evenly to the chainage list specified in Location. Define a point source by entering exactly one chainage in the location chainage list.
(Inherited from LateralFlowData.)
Public property Id
Gets or sets the identifier of this data record.
(Inherited from BlockData.)
Public property Linked
Gets or set the flag that indicates if flow is linked to another flow. This property is set to true in the Connect methods of Configuration methods
(Inherited from FlowData.)
Public property Location
Gets or sets the list of chainages that defines the injection/extraction points(s).
(Inherited from LateralFlowData.)
Public property MpcControlled
Gets or sets the flag that indicates if the flow is controlled by the MPC or not (true: controlled, false: not controlled)
(Inherited from FlowData.)
Public property Name
Gets or sets the name. For a reach or reservoir, use the reach or reservoir name.
(Inherited from BlockData.)
Public property TimeSeriesId
Gets or set the identifier of the time series which holds the flow.
(Inherited from FlowData.)
Public property TsScalingFactor
Gets or sets scaling factor. The scaling factor will apply to the time series defined for this FlowData record. In case of an MpcControlled flow the scaling will apply to the initial flow (which is defined by the time series).
(Inherited from FlowData.)
Top
See Also

Reference

LateralInflowData Class


LateralInflowData Methods

The LateralInflowData type exposes the following members.

Methods
 | Name | Description
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

LateralInflowData Class


LateralOutflowData Class

Class for holding configuration data for the lateral outflows along a reach. Lateral outflows are minor irrigation users distributed along the reach, as well as losses due to e.g leakage and evaporation. Positive numbers in the flow time series (specified through TimeSeriesId) counts as extractions. Lateral flows are boundary conditions to the model, and cannot be controlled.
Inheritance Hierarchy
SystemObject
DHI.MPC.EngineBlockData
DHI.MPC.EngineFlowData
DHI.MPC.EngineLateralFlowData
DHI.MPC.EngineLateralOutflowData

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
[SerializableAttribute]
public class LateralOutflowData : LateralFlowData
<SerializableAttribute>
Public Class LateralOutflowData
    Inherits LateralFlowData
[SerializableAttribute]
public ref class LateralOutflowData : public LateralFlowData

The LateralOutflowData type exposes the following members.

Constructors
 | Name | Description
Public method | LateralOutflowData | Initializes a new instance of the LateralOutflowData class
Top
Properties
Name | Description
Public property | BlockId | (Inherited from FlowData.)
Public property Delay
Gets or sets delay on lateral inflow counted in number of time steps.
(Inherited from LateralFlowData.)
Public property DistributionType
Gets or sets how the lateral flow must be distributed along the reach.
  • DistributedAllReach: Distributes the flow evenly along all computational nodes along the reach. No need to specify chainages in Location as location information will be ignored for the "all reach option".
  • DistributedRange: Distributes the flow evenly along all computational nodes in the range specified in Location. Location must contain exactly two entries: Upper and lower chainage of the range.
  • Points: Distributes the flow evenly to the chainage list specified in Location. Define a point source by entering exactly one chainage in the location chainage list.
(Inherited from LateralFlowData.)
Public property Id
Gets or sets the identifier of this data record.
(Inherited from BlockData.)
Public property Linked
Gets or set the flag that indicates if flow is linked to another flow. This property is set to true in the Connect methods of Configuration methods
(Inherited from FlowData.)
Public property Location
Gets or sets the list of chainages that defines the injection/extraction points(s).
(Inherited from LateralFlowData.)
Public property MpcControlled
Gets or sets the flag that indicates if the flow is controlled by the MPC or not (true: controlled, false: not controlled)
(Inherited from FlowData.)
Public property Name
Gets or sets the name. For a reach or reservoir, use the reach or reservoir name.
(Inherited from BlockData.)
Public property TimeSeriesId
Gets or set the identifier of the time series which holds the flow.
(Inherited from FlowData.)
Public property TsScalingFactor
Gets or sets scaling factor. The scaling factor will apply to the time series defined for this FlowData record. In case of an MpcControlled flow the scaling will apply to the initial flow (which is defined by the time series).
(Inherited from FlowData.)
Top
Methods
 | Name | Description
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

DHI.MPC.Engine Namespace


LateralOutflowData Constructor

Initializes a new instance of the LateralOutflowData class

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public LateralOutflowData()
Public Sub New
public:
LateralOutflowData()
See Also

Reference

LateralOutflowData Class


LateralOutflowData Properties

The LateralOutflowData type exposes the following members.

Properties
Name | Description
Public property | BlockId | (Inherited from FlowData.)
Public property Delay
Gets or sets delay on lateral inflow counted in number of time steps.
(Inherited from LateralFlowData.)
Public property DistributionType
Gets or sets how the lateral flow must be distributed along the reach.
  • DistributedAllReach: Distributes the flow evenly along all computational nodes along the reach. No need to specify chainages in Location as location information will be ignored for the "all reach option".
  • DistributedRange: Distributes the flow evenly along all computational nodes in the range specified in Location. Location must contain exactly two entries: Upper and lower chainage of the range.
  • Points: Distributes the flow evenly to the chainage list specified in Location. Define a point source by entering exactly one chainage in the location chainage list.
(Inherited from LateralFlowData.)
Public property Id
Gets or sets the identifier of this data record.
(Inherited from BlockData.)
Public property Linked
Gets or set the flag that indicates if flow is linked to another flow. This property is set to true in the Connect methods of Configuration methods
(Inherited from FlowData.)
Public property Location
Gets or sets the list of chainages that defines the injection/extraction points(s).
(Inherited from LateralFlowData.)
Public property MpcControlled
Gets or sets the flag that indicates if the flow is controlled by the MPC or not (true: controlled, false: not controlled)
(Inherited from FlowData.)
Public property Name
Gets or sets the name. For a reach or reservoir, use the reach or reservoir name.
(Inherited from BlockData.)
Public property TimeSeriesId
Gets or set the identifier of the time series which holds the flow.
(Inherited from FlowData.)
Public property TsScalingFactor
Gets or sets scaling factor. The scaling factor will apply to the time series defined for this FlowData record. In case of an MpcControlled flow the scaling will apply to the initial flow (which is defined by the time series).
(Inherited from FlowData.)
Top
See Also

Reference

LateralOutflowData Class


LateralOutflowData Methods

The LateralOutflowData type exposes the following members.

Methods
 | Name | Description
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

LateralOutflowData Class


LinearModel Class

Class for holding state space matrices that are prepared for Model Predictive Control (MPC) A: System matrix (state transition) B_u: Forcing matrix (control inputs) B_d: disturbance matrix (boundary conditions) C: Observation matrix (convert state to outputs)
Inheritance Hierarchy
SystemObject
DHI.MPC.EngineLinearModel

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public class LinearModel
Public Class LinearModel
public ref class LinearModel

The LinearModel type exposes the following members.

Constructors
 | Name | Description
Public method | LinearModel | Initializes a new instance of the LinearModel class
Top
Properties
 | Name | Description
Public property | A | State transition matrix for a linear model.
Public property | Bd | Disturbance matrix for a linear model.
Public property | Bu | Forcing matrix for a linear model.
Public property | C | Output matrix for a linear model.
Top
Methods
 | Name | Description
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

DHI.MPC.Engine Namespace


LinearModel Constructor

Initializes a new instance of the LinearModel class

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public LinearModel()
Public Sub New
public:
LinearModel()
See Also

Reference

LinearModel Class


LinearModel Properties

The LinearModel type exposes the following members.

Properties
 | Name | Description
Public property | A | State transition matrix for a linear model.
Public property | Bd | Disturbance matrix for a linear model.
Public property | Bu | Forcing matrix for a linear model.
Public property | C | Output matrix for a linear model.
Top
See Also

Reference

LinearModel Class


LinearModel.A Property

LinearModelA Property

State transition matrix for a linear model.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public SparseMatrix A { get; set; }
Public Property A As SparseMatrix
    Get
    Set
public:
property SparseMatrix^ A {
    SparseMatrix^ get ();
    void set (SparseMatrix^ value);
}

Property Value

Type: SparseMatrix
See Also

Reference

LinearModel Class


LinearModel.Bd Property

LinearModelBd Property

Disturbance matrix for a linear model.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public SparseMatrix Bd { get; set; }
Public Property Bd As SparseMatrix
    Get
    Set
public:
property SparseMatrix^ Bd {
    SparseMatrix^ get ();
    void set (SparseMatrix^ value);
}

Property Value

Type: SparseMatrix
See Also

Reference

LinearModel Class


LinearModel.Bu Property

LinearModelBu Property

Forcing matrix for a linear model.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public SparseMatrix Bu { get; set; }
Public Property Bu As SparseMatrix
    Get
    Set
public:
property SparseMatrix^ Bu {
    SparseMatrix^ get ();
    void set (SparseMatrix^ value);
}

Property Value

Type: SparseMatrix
See Also

Reference

LinearModel Class


LinearModel.C Property

LinearModelC Property

Output matrix for a linear model.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public SparseMatrix C { get; set; }
Public Property C As SparseMatrix
    Get
    Set
public:
property SparseMatrix^ C {
    SparseMatrix^ get ();
    void set (SparseMatrix^ value);
}

Property Value

Type: SparseMatrix
See Also

Reference

LinearModel Class


LinearModel Methods

The LinearModel type exposes the following members.

Methods
 | Name | Description
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

LinearModel Class


LinearModelFactory Class

Abstract superclass for setting up linear models in derived classes. Note: there is a one-to-one relation between arranging the matrix elements in the specialised class, and how the specialised boundary object (the implementation of the IBoundary interface) should arrange forcings, disturbances and initial states.
Inheritance Hierarchy
SystemObject
DHI.MPC.EngineLinearModelFactory

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public abstract class LinearModelFactory
Public MustInherit Class LinearModelFactory
public ref class LinearModelFactory abstract

The LinearModelFactory type exposes the following members.

Properties
 | Name | Description
Protected property | Configuration | Holds the configuration object for an MPC setup.
Protected property | Data | Holds the data object for the model block
Top
Methods
 | Name | Description
Protected method | _CreateA | Generates the basic A matrix (state transition matrix) for one reservoir. The basic A includes delay on upstream forcings (controlled releases).
Protected method | _CreateBd | Generates the basic Bd (disturbance matrix) for one reservoir. The basic Bd handles extractions/inflows directly to the reservoir. Each flow gives rise to one column in Bd.
Protected method | _CreateBu | Generates the basic Bu (the forcing matrix) for one reservoir. The basic Bu includes delay on upstream forcings (controlled releases)
Protected method | _CreateC | Generates the basic C (observation matrix) for one reservoir. The basic C only points out the reservoir level as output. If other states are to be directed to the output vector Y, specialized implementations must be made in a derived class.
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

DHI.MPC.Engine Namespace


LinearModelFactory Properties

The LinearModelFactory type exposes the following members.

Properties
 | Name | Description
Protected property | Configuration | Holds the configuration object for an MPC setup.
Protected property | Data | Holds the data object for the model block
Top
See Also

Reference

LinearModelFactory Class


LinearModelFactory.Configuration Property

LinearModelFactoryConfiguration Property

Holds the configuration object for an MPC setup.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
protected Configuration Configuration { get; }
Protected ReadOnly Property Configuration As Configuration
    Get
protected:
property Configuration^ Configuration {
    Configuration^ get ();
}

Property Value

Type: Configuration
See Also

Reference

LinearModelFactory Class


LinearModelFactory.Data Property

LinearModelFactoryData Property

Holds the data object for the model block

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
protected IBlockData Data { get; }
Protected ReadOnly Property Data As IBlockData
    Get
protected:
property IBlockData^ Data {
    IBlockData^ get ();
}

Property Value

Type: IBlockData
See Also

Reference

LinearModelFactory Class


LinearModelFactory Methods

The LinearModelFactory type exposes the following members.

Methods
 | Name | Description
Protected method | _CreateA | Generates the basic A matrix (state transition matrix) for one reservoir. The basic A includes delay on upstream forcings (controlled releases).
Protected method | _CreateBd | Generates the basic Bd (disturbance matrix) for one reservoir. The basic Bd handles extractions/inflows directly to the reservoir. Each flow gives rise to one column in Bd.
Protected method | _CreateBu | Generates the basic Bu (the forcing matrix) for one reservoir. The basic Bu includes delay on upstream forcings (controlled releases)
Protected method | _CreateC | Generates the basic C (observation matrix) for one reservoir. The basic C only points out the reservoir level as output. If other states are to be directed to the output vector Y, specialized implementations must be made in a derived class.
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

LinearModelFactory Class


LinearModelFactory._CreateA Method

LinearModelFactory_CreateA Method

Generates the basic A matrix (state transition matrix) for one reservoir. The basic A includes delay on upstream forcings (controlled releases).

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
protected abstract SparseMatrix _CreateA()
Protected MustOverride Function _CreateA As SparseMatrix
protected:
virtual SparseMatrix^ _CreateA() abstract

Return Value

Type: SparseMatrix
The state transition matrix (A) for one reservoir.
See Also

Reference

LinearModelFactory Class


LinearModelFactory._CreateBd Method

LinearModelFactory_CreateBd Method

Generates the basic Bd (disturbance matrix) for one reservoir. The basic Bd handles extractions/inflows directly to the reservoir. Each flow gives rise to one column in Bd.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
protected abstract SparseMatrix _CreateBd()
Protected MustOverride Function _CreateBd As SparseMatrix
protected:
virtual SparseMatrix^ _CreateBd() abstract

Return Value

Type: SparseMatrix
The Bd matrix for one reservoir.
See Also

Reference

LinearModelFactory Class


LinearModelFactory._CreateBu Method

LinearModelFactory_CreateBu Method

Generates the basic Bu (the forcing matrix) for one reservoir. The basic Bu includes delay on upstream forcings (controlled releases)

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
protected abstract SparseMatrix _CreateBu()
Protected MustOverride Function _CreateBu As SparseMatrix
protected:
virtual SparseMatrix^ _CreateBu() abstract

Return Value

Type: SparseMatrix

[Missing <returns> documentation for "M:DHI.MPC.Engine.LinearModelFactory._CreateBu"]

See Also

Reference

LinearModelFactory Class


LinearModelFactory._CreateC Method

LinearModelFactory_CreateC Method

Generates the basic C (observation matrix) for one reservoir. The basic C only points out the reservoir level as output. If other states are to be directed to the output vector Y, specialized implementations must be made in a derived class.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
protected abstract SparseMatrix _CreateC()
Protected MustOverride Function _CreateC As SparseMatrix
protected:
virtual SparseMatrix^ _CreateC() abstract

Return Value

Type: SparseMatrix

[Missing <returns> documentation for "M:DHI.MPC.Engine.LinearModelFactory._CreateC"]

See Also

Reference

LinearModelFactory Class


LinearModelSimulator Class

This class is the engine for using the Forecast for simulations. The LinearModelSimulator is not used by the Model Predictive Control, but will be useful for calibrating the linear model.
Inheritance Hierarchy
SystemObject
DHI.MPC.EngineLinearModelSimulator

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public class LinearModelSimulator
Public Class LinearModelSimulator
public ref class LinearModelSimulator

The LinearModelSimulator type exposes the following members.

Methods
 | Name | Description
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

DHI.MPC.Engine Namespace


LinearModelSimulator Methods

The LinearModelSimulator type exposes the following members.

Methods
 | Name | Description
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

LinearModelSimulator Class


LinearModelSimulator2 Class

This class is the engine for using the Forecast2 for simulations. The LinearModelSimulator is not used by the Model Predictive Control, but will be useful for calibrating the linear model.
Inheritance Hierarchy
SystemObject
DHI.MPC.EngineLinearModelSimulator2

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public class LinearModelSimulator2
Public Class LinearModelSimulator2
public ref class LinearModelSimulator2

The LinearModelSimulator2 type exposes the following members.

Methods
 | Name | Description
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | RunSimulation | Runs the simulation, which will start at the specified time. The length of the simulation is inherited from the _forecast that was used for initializing the LinearModelSimulator.
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

DHI.MPC.Engine Namespace


LinearModelSimulator2 Methods

The LinearModelSimulator2 type exposes the following members.

Methods
 | Name | Description
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | RunSimulation | Runs the simulation, which will start at the specified time. The length of the simulation is inherited from the _forecast that was used for initializing the LinearModelSimulator.
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

LinearModelSimulator2 Class


LinearModelSimulator2.RunSimulation Method

LinearModelSimulator2RunSimulation Method

Runs the simulation, which will start at the specified time. The length of the simulation is inherited from the _forecast that was used for initializing the LinearModelSimulator.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public double[] RunSimulation(
    DateTime startDate
)
Public Function RunSimulation (
    startDate As DateTime
) As Double()
public:
array<double>^ RunSimulation(
    DateTime startDate
)

Parameters

startDate
Type: SystemDateTime

Return Value

Type: Double

[Missing <returns> documentation for "M:DHI.MPC.Engine.LinearModelSimulator2.RunSimulation(System.DateTime)"]

See Also

Reference

LinearModelSimulator2 Class


LinearReservoirData Class

Class for holding the configuration data for a linear reservoir model.
The linear reservoir calculates the outflow from the reservoir as a fraction of the volume: q_out = b*V. b is the flow-volume conversion coefficient. In a discretised model, b depends on the discretisation time step, therefore it is preferred to enter the half-life decay time as parameter.
Inheritance Hierarchy
SystemObject
DHI.MPC.EngineBlockData
DHI.MPC.EngineReservoirBaseData
DHI.MPC.EngineLinearReservoirData

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
[SerializableAttribute]
public class LinearReservoirData : ReservoirBaseData
<SerializableAttribute>
Public Class LinearReservoirData
    Inherits ReservoirBaseData
[SerializableAttribute]
public ref class LinearReservoirData : public ReservoirBaseData

The LinearReservoirData type exposes the following members.

Constructors
 | Name | Description
Public method | LinearReservoirData | Initializes a new instance of the LinearReservoirData class
Top
Properties
 | Name | Description
Public property | HalfLifeTime | The half-life decay time specified in seconds [s]. The flow-volume conversion coefficient can be calculated from the half-life decay time when the time step is known.
Public property | Id | Gets or sets the identifier of this data record. (Inherited from BlockData.)
Public property | Name | Gets or sets the name. For a reach or reservoir, use the reach or reservoir name. (Inherited from BlockData.)
Top
Methods
 | Name | Description
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

DHI.MPC.Engine Namespace


LinearReservoirData Constructor

Initializes a new instance of the LinearReservoirData class

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public LinearReservoirData()
Public Sub New
public:
LinearReservoirData()
See Also

Reference

LinearReservoirData Class


LinearReservoirData Properties

The LinearReservoirData type exposes the following members.

Properties
 | Name | Description
Public property | HalfLifeTime | The half-life decay time specified in seconds [s]. The flow-volume conversion coefficient can be calculated from the half-life decay time when the time step is known.
Public property | Id | Gets or sets the identifier of this data record. (Inherited from BlockData.)
Public property | Name | Gets or sets the name. For a reach or reservoir, use the reach or reservoir name. (Inherited from BlockData.)
Top
See Also

Reference

LinearReservoirData Class


LinearReservoirData.HalfLifeTime Property

LinearReservoirDataHalfLifeTime Property

The half-life decay time specified in seconds [s].
The flow-volume conversion coefficient can be calculated from the half-life decay time when the time step is known.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public double HalfLifeTime { get; set; }
Public Property HalfLifeTime As Double
    Get
    Set
public:
property double HalfLifeTime {
    double get ();
    void set (double value);
}

Property Value

Type: Double
See Also

Reference

LinearReservoirData Class


LinearReservoirData Methods

The LinearReservoirData type exposes the following members.

Methods
 | Name | Description
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

LinearReservoirData Class


MatrixExtension Class

Class for defining extensions for concatenation to Extreme.Mathematics' Matrix.
Inheritance Hierarchy
SystemObject
DHI.MPC.EngineMatrixExtension

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public static class MatrixExtension
<ExtensionAttribute>
Public NotInheritable Class MatrixExtension
[ExtensionAttribute]
public ref class MatrixExtension abstract sealed

The MatrixExtension type exposes the following members.

Methods
Name | Description
ConcatD | Concatenates two quadratic matrices diagonally. The matrices are placed in the block diagonal of the result matrix and zeros are inserted outside of the block diagonal
ConcatH | Horizontal concatenation of matrices. This implementation is very rough. It creates a new matrix to which the two input matrices are copied. The implication is that the concatenation process doubles the memory need and reallocates each time a concatenation is performed :-(
ConcatV | Vertical concatenation of matrices. This implementation is very rough. It creates a new matrix to which the two input matrices are copied. The implication is that the concatenation process doubles the memory need and reallocates each time a concatenation is performed :-(
OneDMatrixToList | Convert a Matrix with one column to IList of double
RowsNonZeroIndexed | Generic representation of a matrix: the outer list contains the rows, each row is represented by a list of non-zero values and a list of non-zero indices.
TuplesNonZeroIndexed | Returns all non-zero elements in this Matrix as tuples of (row, column, value). This is a conversion from the RowColumnValueTriplet that ExtremeOptimization uses.
Top
See Also

Reference

DHI.MPC.Engine Namespace


MatrixExtension Methods

The MatrixExtension type exposes the following members.

Methods
Name | Description
ConcatD | Concatenates two quadratic matrices diagonally. The matrices are placed in the block diagonal of the result matrix and zeros are inserted outside of the block diagonal
ConcatH | Horizontal concatenation of matrices. This implementation is very rough. It creates a new matrix to which the two input matrices are copied. The implication is that the concatenation process doubles the memory need and reallocates each time a concatenation is performed :-(
ConcatV | Vertical concatenation of matrices. This implementation is very rough. It creates a new matrix to which the two input matrices are copied. The implication is that the concatenation process doubles the memory need and reallocates each time a concatenation is performed :-(
OneDMatrixToList | Convert a Matrix with one column to IList of double
RowsNonZeroIndexed | Generic representation of a matrix: the outer list contains the rows, each row is represented by a list of non-zero values and a list of non-zero indices.
TuplesNonZeroIndexed | Returns all non-zero elements in this Matrix as tuples of (row, column, value). This is a conversion from the RowColumnValueTriplet that ExtremeOptimization uses.
Top
See Also

Reference

MatrixExtension Class


MatrixExtension.ConcatD Method

MatrixExtensionConcatD Method

Concatenates two quadratic matrices diagonally. The matrices are placed in the block diagonal of the result matrix and zeros are inserted outside of the block diagonal

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public static Matrix ConcatD(
    this Matrix x,
    Matrix y
)
<ExtensionAttribute>
Public Shared Function ConcatD (
    x As Matrix,
    y As Matrix
) As Matrix
public:
[ExtensionAttribute]
static Matrix^ ConcatD(
    Matrix^ x,
    Matrix^ y
)

Parameters

x
Type: Matrix
y
Type: Matrix

Return Value

Type: Matrix

[Missing <returns> documentation for "M:DHI.MPC.Engine.MatrixExtension.ConcatD(Extreme.Mathematics.Matrix,Extreme.Mathematics.Matrix)"]

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type Matrix. When you use instance method syntax to call this method, omit the first parameter. For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).
See Also

Reference

MatrixExtension Class


MatrixExtension.ConcatH Method

MatrixExtensionConcatH Method

Horizontal concatenation of matrices. This implementation is very rough. It creates a new matrix to which the two input matrices are copied. The implication is that the concatenation process doubles the memory need and reallocates each time a concatenation is performed :-(

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public static Matrix ConcatH(
    this Matrix x,
    Matrix y
)
<ExtensionAttribute>
Public Shared Function ConcatH (
    x As Matrix,
    y As Matrix
) As Matrix
public:
[ExtensionAttribute]
static Matrix^ ConcatH(
    Matrix^ x,
    Matrix^ y
)

Parameters

x
Type: Matrix
Left matrix in concatenation
y
Type: Matrix
Right matrix in concatenation

Return Value

Type: Matrix
The concatenated matrix

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type Matrix. When you use instance method syntax to call this method, omit the first parameter. For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).
See Also

Reference

MatrixExtension Class


MatrixExtension.ConcatV Method

MatrixExtensionConcatV Method

Vertical concatenation of matrices. This implementation is very rough. It creates a new matrix to which the two input matrices are copied. The implication is that the concatenation process doubles the memory need and reallocates each time a concatenation is performed :-(

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public static Matrix ConcatV(
    this Matrix x,
    Matrix y
)
<ExtensionAttribute>
Public Shared Function ConcatV (
    x As Matrix,
    y As Matrix
) As Matrix
public:
[ExtensionAttribute]
static Matrix^ ConcatV(
    Matrix^ x,
    Matrix^ y
)

Parameters

x
Type: Matrix
Upper matrix in concatenation
y
Type: Matrix
Lower matrix in concatenation

Return Value

Type: Matrix
The concatenated matrix

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type Matrix. When you use instance method syntax to call this method, omit the first parameter. For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).
See Also

Reference

MatrixExtension Class


MatrixExtension.OneDMatrixToList Method

MatrixExtensionOneDMatrixToList Method

Convert a Matrix with one column to IList of double

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public static IList<double> OneDMatrixToList(
    this Matrix x
)
<ExtensionAttribute>
Public Shared Function OneDMatrixToList (
    x As Matrix
) As IList(Of Double)
public:
[ExtensionAttribute]
static IList<double>^ OneDMatrixToList(
    Matrix^ x
)

Parameters

x
Type: Matrix

Return Value

Type: IListDouble

[Missing <returns> documentation for "M:DHI.MPC.Engine.MatrixExtension.OneDMatrixToList(Extreme.Mathematics.Matrix)"]

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type Matrix. When you use instance method syntax to call this method, omit the first parameter. For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).
See Also

Reference

MatrixExtension Class


MatrixExtension.RowsNonZeroIndexed Method

MatrixExtensionRowsNonZeroIndexed Method

Generic representation of a matrix: the outer list contains the rows, each row is represented by a list of non-zero values and a list of non-zero indices.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public static IList<Tuple<IList<double>, IList<int>>> RowsNonZeroIndexed(
    this Matrix x
)
<ExtensionAttribute>
Public Shared Function RowsNonZeroIndexed (
    x As Matrix
) As IList(Of Tuple(Of IList(Of Double), IList(Of Integer)))
public:
[ExtensionAttribute]
static IList<Tuple<IList<double>^, IList<int>^>^>^ RowsNonZeroIndexed(
    Matrix^ x
)

Parameters

x
Type: Matrix

[Missing <param name="x"/> documentation for "M:DHI.MPC.Engine.MatrixExtension.RowsNonZeroIndexed(Extreme.Mathematics.Matrix)"]

Return Value

Type: IListTupleIListDouble, IListInt32

[Missing <returns> documentation for "M:DHI.MPC.Engine.MatrixExtension.RowsNonZeroIndexed(Extreme.Mathematics.Matrix)"]

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type Matrix. When you use instance method syntax to call this method, omit the first parameter. For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).
See Also

Reference

MatrixExtension Class


MatrixExtension.TuplesNonZeroIndexed Method

MatrixExtensionTuplesNonZeroIndexed Method

Returns all non-zero elements in this Matrix as tuples of (row, column, value). This is a conversion from the RowColumnValueTriplet that ExtremeOptimization uses.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public static IEnumerable<Tuple<int, int, double>> TuplesNonZeroIndexed(
    this Matrix x
)
<ExtensionAttribute>
Public Shared Function TuplesNonZeroIndexed (
    x As Matrix
) As IEnumerable(Of Tuple(Of Integer, Integer, Double))
public:
[ExtensionAttribute]
static IEnumerable<Tuple<int, int, double>^>^ TuplesNonZeroIndexed(
    Matrix^ x
)

Parameters

x
Type: Matrix

[Missing <param name="x"/> documentation for "M:DHI.MPC.Engine.MatrixExtension.TuplesNonZeroIndexed(Extreme.Mathematics.Matrix)"]

Return Value

Type: IEnumerableTupleInt32, Int32, Double

[Missing <returns> documentation for "M:DHI.MPC.Engine.MatrixExtension.TuplesNonZeroIndexed(Extreme.Mathematics.Matrix)"]

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type Matrix. When you use instance method syntax to call this method, omit the first parameter. For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).
See Also

Reference

MatrixExtension Class


MatrixProvider Class

abstract base class for interfacing to 3rd party matrix libraries.
Inheritance Hierarchy
SystemObject
DHI.MPC.EngineMatrixProvider

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public abstract class MatrixProvider
Public MustInherit Class MatrixProvider
public ref class MatrixProvider abstract

The MatrixProvider type exposes the following members.

Constructors
 | Name | Description
Protected method | MatrixProvider | Initializes a new instance of the MatrixProvider class
Top
Methods
 | Name | Description
Public method | CreateSparseMatrix | Create a sparse matrix
Public method | CreateVector(ListDouble) | Creates a vector from a list of double.
Public method | CreateVector(Double) | Creates a vector from an array of double.
Public method | CreateVector(ListTimeSeries) | Creates a vector from a list of time series.
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

DHI.MPC.Engine Namespace


MatrixProvider Constructor

Initializes a new instance of the MatrixProvider class

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
protected MatrixProvider()
Protected Sub New
protected:
MatrixProvider()
See Also

Reference

MatrixProvider Class


MatrixProvider Methods

The MatrixProvider type exposes the following members.

Methods
 | Name | Description
Public method | CreateSparseMatrix | Create a sparse matrix
Public method | CreateVector(ListDouble) | Creates a vector from a list of double.
Public method | CreateVector(Double) | Creates a vector from an array of double.
Public method | CreateVector(ListTimeSeries) | Creates a vector from a list of time series.
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

MatrixProvider Class


MatrixProvider.CreateSparseMatrix Method

MatrixProviderCreateSparseMatrix Method

Create a sparse matrix

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public abstract BlockMatrix CreateSparseMatrix(
    int rowCount,
    int columnCount,
    int[] rowIndexes,
    int[] columnIndexes,
    double[] values
)
Public MustOverride Function CreateSparseMatrix (
    rowCount As Integer,
    columnCount As Integer,
    rowIndexes As Integer(),
    columnIndexes As Integer(),
    values As Double()
) As BlockMatrix
public:
virtual BlockMatrix^ CreateSparseMatrix(
    int rowCount,
    int columnCount,
    array<int>^ rowIndexes,
    array<int>^ columnIndexes,
    array<double>^ values
) abstract

Parameters

rowCount
Type: SystemInt32
The number of rows.
columnCount
Type: SystemInt32
The number of columns.
rowIndexes
Type: SystemInt32
An integer array that contains the row indices of the non-zero components.
columnIndexes
Type: SystemInt32
An integer array that contains the column indices of the non-zero components.
values
Type: SystemDouble
An array of doubles that contains the values of the non-zero components.

Return Value

Type: BlockMatrix
A matrix.
See Also

Reference

MatrixProvider Class


MatrixProvider.CreateVector Method

MatrixProviderCreateVector Method

Overload List
 | Name | Description
Public method | CreateVector(ListDouble) | Creates a vector from a list of double.
Public method | CreateVector(Double) | Creates a vector from an array of double.
Public method | CreateVector(ListTimeSeries) | Creates a vector from a list of time series.
Top
See Also

Reference

MatrixProvider Class


MatrixProvider.CreateVector Method (List(Double))

MatrixProviderCreateVector Method (ListDouble)

Creates a vector from a list of double.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public abstract BlockVectorBase CreateVector(
    List<double> valueList
)
Public MustOverride Function CreateVector (
    valueList As List(Of Double)
) As BlockVectorBase
public:
virtual BlockVectorBase^ CreateVector(
    List<double>^ valueList
) abstract

Parameters

valueList
Type: System.Collections.GenericListDouble
A list of values.

Return Value

Type: BlockVectorBase
A vector.
See Also

Reference

MatrixProvider Class
CreateVector Overload


MatrixProvider.CreateVector Method (Double[])

MatrixProviderCreateVector Method (Double)

Creates a vector from an array of double.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public abstract BlockVectorBase CreateVector(
    double[] valueArray
)
Public MustOverride Function CreateVector (
    valueArray As Double()
) As BlockVectorBase
public:
virtual BlockVectorBase^ CreateVector(
    array<double>^ valueArray
) abstract

Parameters

valueArray
Type: SystemDouble
An array of values

Return Value

Type: BlockVectorBase
A vector.
See Also

Reference

MatrixProvider Class
CreateVector Overload


MatrixProvider.CreateVector Method (List(TimeSeries))

MatrixProviderCreateVector Method (ListTimeSeries)

Creates a vector from a list of time series.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public abstract BlockVectorBase CreateVector(
    List<TimeSeries> timeSeriesList
)
Public MustOverride Function CreateVector (
    timeSeriesList As List(Of TimeSeries)
) As BlockVectorBase
public:
virtual BlockVectorBase^ CreateVector(
    List<TimeSeries^>^ timeSeriesList
) abstract

Parameters

timeSeriesList
Type: System.Collections.GenericListTimeSeries

[Missing <param name="timeSeriesList"/> documentation for "M:DHI.MPC.Engine.MatrixProvider.CreateVector(System.Collections.Generic.List{DHI.MPC.Engine.TimeSeries})"]

Return Value

Type: BlockVectorBase
A vector.
See Also

Reference

MatrixProvider Class
CreateVector Overload


Network Class

In Network, the Forecast of surrogate model is held in matrix objects that DO NOT exploit the block structure of the forecast. This imposes a heavy memory use, and in general, models that contain more than a few reaches will cause an OutOfMemory exception.

Network is an abstract class which contains methods for
  • Creation of the model blocks from the data records held by Configuration.
  • Linking the model blocks into a network.
  • Execution of an optimisation.
  • Execution of a simulation with the surrogate model.
Inheritance Hierarchy
SystemObject
DHI.MPC.EngineNetwork
DHI.MPC.EngineNetworkBlock

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public abstract class Network
Public MustInherit Class Network
public ref class Network abstract

The Network type exposes the following members.

Constructors
 | Name | Description
Protected method | Network | Basic constructor for the abstract Network class
Top
Methods
 | Name | Description
Public method | AppendMPCResult | This method will append the result of the current MPC run to the result stored in /MPCOutput/Appended/.
Public method | CreateMPCController | Creates an IMpcController and assigns it to the network. An MPC controller created by this method will use the external solver, injected via the solver argument.
Public method | CreateSimulator | Creates a LinearModelSimulator and assigns it to the network.
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetInMemoryResult | This method returns in memory results in pairs of (blockname, double[]), added to a dictionary.
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | RunSimulation | Runs a simulation of the linear surrogate model, where the forcings are determined by the input time series specified in the configuration. This is opposed to SolveMPC(DateTime) which determines the optimal forcings.
Public method | SaveMPCResult | This method takes all result data series (which are assigned to the BuildingBlock and ControlledFlow business objects) and persist them in the database.
Public method | SaveSimulationResult | This method takes all result data series (which are assigned to the reservoir business objects) and persist them in the database.
Public method | SolveMPC | Finds the optimal control for the prediction horizon. The prediction horizon is an input when the MPC controller is created by calling CreateMPCController(TimeSpan, ISolver). The MPC controller must be created before SolveMPC(DateTime) is called. This method assigns the result data series to the reach and reservoir business object, but does NOT persist the result data series in the data base.
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

DHI.MPC.Engine Namespace


Network Constructor

Basic constructor for the abstract Network class

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
protected Network(
    Configuration configuration,
    IUpdatableTimeSeriesRepository<string, double> timeSeriesRepository
)
Protected Sub New (
    configuration As Configuration,
    timeSeriesRepository As IUpdatableTimeSeriesRepository(Of String, Double)
)
protected:
Network(
    Configuration^ configuration,
    IUpdatableTimeSeriesRepository<String^, double>^ timeSeriesRepository
)

Parameters

configuration
Type: DHI.MPC.EngineConfiguration
timeSeriesRepository
Type: IUpdatableTimeSeriesRepositoryString, Double
See Also

Reference

Network Class


Network Methods

The Network type exposes the following members.

Methods
 | Name | Description
Public method | AppendMPCResult | This method will append the result of the current MPC run to the result stored in /MPCOutput/Appended/.
Public method | CreateMPCController | Creates an IMpcController and assigns it to the network. An MPC controller created by this method will use the external solver, injected via the solver argument.
Public method | CreateSimulator | Creates a LinearModelSimulator and assigns it to the network.
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetInMemoryResult | This method returns in memory results in pairs of (blockname, double[]), added to a dictionary.
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | RunSimulation | Runs a simulation of the linear surrogate model, where the forcings are determined by the input time series specified in the configuration. This is opposed to SolveMPC(DateTime) which determines the optimal forcings.
Public method | SaveMPCResult | This method takes all result data series (which are assigned to the BuildingBlock and ControlledFlow business objects) and persist them in the database.
Public method | SaveSimulationResult | This method takes all result data series (which are assigned to the reservoir business objects) and persist them in the database.
Public method | SolveMPC | Finds the optimal control for the prediction horizon. The prediction horizon is an input when the MPC controller is created by calling CreateMPCController(TimeSpan, ISolver). The MPC controller must be created before SolveMPC(DateTime) is called. This method assigns the result data series to the reach and reservoir business object, but does NOT persist the result data series in the data base.
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

Network Class


Network.AppendMPCResult Method

NetworkAppendMPCResult Method

This method will append the result of the current MPC run to the result stored in /MPCOutput/Appended/.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public void AppendMPCResult(
    DateTime tof
)
Public Sub AppendMPCResult (
    tof As DateTime
)
public:
void AppendMPCResult(
    DateTime tof
)

Parameters

tof
Type: SystemDateTime
The time at which the results are appended.
See Also

Reference

Network Class


Network.CreateMPCController Method

NetworkCreateMPCController Method

Creates an IMpcController and assigns it to the network. An MPC controller created by this method will use the external solver, injected via the solver argument.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public virtual void CreateMPCController(
    TimeSpan k,
    ISolver solver
)
Public Overridable Sub CreateMPCController (
    k As TimeSpan,
    solver As ISolver
)
public:
virtual void CreateMPCController(
    TimeSpan k,
    ISolver^ solver
)

Parameters

k
Type: SystemTimeSpan
The prediction horizon of the MPC controller.
solver
Type: ISolver
Any 3rd party quadratic programming solver which conforms to the ISolver interface.
See Also

Reference

Network Class


Network.CreateSimulator Method

NetworkCreateSimulator Method

Creates a LinearModelSimulator and assigns it to the network.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public void CreateSimulator(
    TimeSpan k
)
Public Sub CreateSimulator (
    k As TimeSpan
)
public:
void CreateSimulator(
    TimeSpan k
)

Parameters

k
Type: SystemTimeSpan
The prediction horizon of the simulator, counted in hours.
See Also

Reference

Network Class


Network.GetInMemoryResult Method

NetworkGetInMemoryResult Method

This method returns in memory results in pairs of (blockname, double[]), added to a dictionary.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public Dictionary<string, double[]> GetInMemoryResult()
Public Function GetInMemoryResult As Dictionary(Of String, Double())
public:
Dictionary<String^, array<double>^>^ GetInMemoryResult()

Return Value

Type: DictionaryString, Double

[Missing <returns> documentation for "M:DHI.MPC.Engine.Network.GetInMemoryResult"]

See Also

Reference

Network Class


Network.RunSimulation Method

NetworkRunSimulation Method

Runs a simulation of the linear surrogate model, where the forcings are determined by the input time series specified in the configuration. This is opposed to SolveMPC(DateTime) which determines the optimal forcings.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public void RunSimulation(
    DateTime tof
)
Public Sub RunSimulation (
    tof As DateTime
)
public:
void RunSimulation(
    DateTime tof
)

Parameters

tof
Type: SystemDateTime
Start time of the simulation.
See Also

Reference

Network Class


Network.SaveMPCResult Method

NetworkSaveMPCResult Method

This method takes all result data series (which are assigned to the BuildingBlock and ControlledFlow business objects) and persist them in the database.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public void SaveMPCResult(
    DateTime tof
)
Public Sub SaveMPCResult (
    tof As DateTime
)
public:
void SaveMPCResult(
    DateTime tof
)

Parameters

tof
Type: SystemDateTime

[Missing <param name="tof"/> documentation for "M:DHI.MPC.Engine.Network.SaveMPCResult(System.DateTime)"]

See Also

Reference

Network Class


Network.SaveSimulationResult Method

NetworkSaveSimulationResult Method

This method takes all result data series (which are assigned to the reservoir business objects) and persist them in the database.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public void SaveSimulationResult(
    DateTime tof
)
Public Sub SaveSimulationResult (
    tof As DateTime
)
public:
void SaveSimulationResult(
    DateTime tof
)

Parameters

tof
Type: SystemDateTime

[Missing <param name="tof"/> documentation for "M:DHI.MPC.Engine.Network.SaveSimulationResult(System.DateTime)"]

See Also

Reference

Network Class


Network.SolveMPC Method

NetworkSolveMPC Method

Finds the optimal control for the prediction horizon. The prediction horizon is an input when the MPC controller is created by calling CreateMPCController(TimeSpan, ISolver). The MPC controller must be created before SolveMPC(DateTime) is called. This method assigns the result data series to the reach and reservoir business object, but does NOT persist the result data series in the data base.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public void SolveMPC(
    DateTime tof
)
Public Sub SolveMPC (
    tof As DateTime
)
public:
void SolveMPC(
    DateTime tof
)

Parameters

tof
Type: SystemDateTime
Start time of the receding horizon window.
See Also

Reference

Network Class


Network2 Class

In Network2, the Forecast2 of surrogate model is held in matrix objects that exploit the block structure of the forecast. This makes the memory footprint of Network2 much smaller than that of Network. The adverse effect is that there is a performance overhead in retrieving values from the matrices organised as BlockMatrix, so small networks with very few BuildingBlocks should rather use Network.

Network2 is an abstract class which contains methods for
  • Creation of the model blocks from the data records held by Configuration.
  • Linking the model blocks into a network.
  • Execution of an optimisation.
  • Execution of a simulation with the surrogate model.
Inheritance Hierarchy
SystemObject
DHI.MPC.EngineNetwork2
DHI.MPC.EngineNetworkBlock2

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public abstract class Network2
Public MustInherit Class Network2
public ref class Network2 abstract

The Network2 type exposes the following members.

Constructors
 | Name | Description
Protected method | Network2(Configuration, IUpdatableTimeSeriesRepositoryString, Double) | Initializes an instance of the Network2 class. As this class is abstract, it cannot be instantiated directly. Initialization goes via calling this constructor from one of the derived classes.
Protected method | Network2(Configuration, IUpdatableTimeSeriesRepositoryString, Double, IDiscreteTimeSeriesRepositoryString, Double) | Initializes a new instance of the Network2 class
Top
Methods
 | Name | Description
Public method | AppendMPCResult | Appends the result of the current MPC run to the result stored in /MPCOutput/Appended/.
Public method | AppendSimulationResult | Appends the result of the current simulation
Public method | CreateMPCController | Creates an IMpcController and assigns it to the network. An MPC controller created by this method will use the external solver, injected via the solver argument.
Public method | CreateSimulator | Creates a LinearModelSimulator and assigns it to the network.
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetInMemoryResult | This method returns in memory results in pairs of (blockname, double[]), added to a dictionary.
Public method | GetMPCResult(DateTime) | Creates all result time series
Public method | GetMPCResult(DateTime, String) | GetMPCResult
Public method | GetMPCResultPath | Create a list of paths to all appended result time series (in /MPCOutput/Appended/)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | RunSimulation | Runs a simulation of the linear surrogate model, where the forcings are determined by the input time series specified in the configuration. This is opposed to SolveMPC(DateTime) which determines the optimal forcings.
Public method | SaveMPCResult | This method takes all result data series (which are assigned to the BuildingBlock and ControlledFlow business objects) and persist them in the database.
Public method | SaveSimulationResult | This method takes all result data series (which are assigned to the reservoir business objects) and persist them in the database.
Public method | SolveMPC | Finds the optimal control for the prediction horizon. The prediction horizon is an input when the MPC controller is created by calling CreateMPCController(TimeSpan, ISolver). The MPC controller must be created methods before SolveMPC(DateTime) is called. This method assigns the result data series to the reach and reservoir business object, but does NOT persist the result data series in the data base.
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
Fields
 | Name | Description
Protected field | ResultHandler | Handle MPC output results
Protected field | TimeSeriesHandler | Handle MPC inputs
Top
See Also

Reference

DHI.MPC.Engine Namespace


Network2 Constructor

Overload List
 | Name | Description
Protected method | Network2(Configuration, IUpdatableTimeSeriesRepositoryString, Double) | Initializes an instance of the Network2 class. As this class is abstract, it cannot be instantiated directly. Initialization goes via calling this constructor from one of the derived classes.
Protected method | Network2(Configuration, IUpdatableTimeSeriesRepositoryString, Double, IDiscreteTimeSeriesRepositoryString, Double) | Initializes a new instance of the Network2 class
Top
See Also

Reference

Network2 Class


Network2 Constructor (Configuration, IUpdatableTimeSeriesRepository`2(String, Double))

Network2 Constructor (Configuration, IUpdatableTimeSeriesRepository`2String, Double)

Initializes an instance of the Network2 class. As this class is abstract, it cannot be instantiated directly. Initialization goes via calling this constructor from one of the derived classes.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
protected Network2(
    Configuration configuration,
    IUpdatableTimeSeriesRepository<string, double> timeSeriesRepository
)
Protected Sub New (
    configuration As Configuration,
    timeSeriesRepository As IUpdatableTimeSeriesRepository(Of String, Double)
)
protected:
Network2(
    Configuration^ configuration,
    IUpdatableTimeSeriesRepository<String^, double>^ timeSeriesRepository
)

Parameters

configuration
Type: DHI.MPC.EngineConfiguration
Holds the network configuration.
timeSeriesRepository
Type: IUpdatableTimeSeriesRepositoryString, Double
The timeSeriesRepository.
See Also

Reference

Network2 Class
Network2 Overload


Network2 Constructor (Configuration, IUpdatableTimeSeriesRepository`2(String, Double), IDiscreteTimeSeriesRepository`2(String, Double))

Network2 Constructor (Configuration, IUpdatableTimeSeriesRepository`2String, Double, IDiscreteTimeSeriesRepository`2String, Double)

Initializes a new instance of the Network2 class

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
protected Network2(
    Configuration configuration,
    IUpdatableTimeSeriesRepository<string, double> timeSeriesRepositoryForResults,
    IDiscreteTimeSeriesRepository<string, double> timeSeriesRepository
)
Protected Sub New (
    configuration As Configuration,
    timeSeriesRepositoryForResults As IUpdatableTimeSeriesRepository(Of String, Double),
    timeSeriesRepository As IDiscreteTimeSeriesRepository(Of String, Double)
)
protected:
Network2(
    Configuration^ configuration,
    IUpdatableTimeSeriesRepository<String^, double>^ timeSeriesRepositoryForResults,
    IDiscreteTimeSeriesRepository<String^, double>^ timeSeriesRepository
)

Parameters

configuration
Type: DHI.MPC.EngineConfiguration
timeSeriesRepositoryForResults
Type: IUpdatableTimeSeriesRepositoryString, Double
timeSeriesRepository
Type: IDiscreteTimeSeriesRepositoryString, Double
See Also

Reference

Network2 Class
Network2 Overload


Network2 Methods

The Network2 type exposes the following members.

Methods
 | Name | Description
Public method | AppendMPCResult | Appends the result of the current MPC run to the result stored in /MPCOutput/Appended/.
Public method | AppendSimulationResult | Appends the result of the current simulation
Public method | CreateMPCController | Creates an IMpcController and assigns it to the network. An MPC controller created by this method will use the external solver, injected via the solver argument.
Public method | CreateSimulator | Creates a LinearModelSimulator and assigns it to the network.
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetInMemoryResult | This method returns in memory results in pairs of (blockname, double[]), added to a dictionary.
Public method | GetMPCResult(DateTime) | Creates all result time series
Public method | GetMPCResult(DateTime, String) | GetMPCResult
Public method | GetMPCResultPath | Create a list of paths to all appended result time series (in /MPCOutput/Appended/)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | RunSimulation | Runs a simulation of the linear surrogate model, where the forcings are determined by the input time series specified in the configuration. This is opposed to SolveMPC(DateTime) which determines the optimal forcings.
Public method | SaveMPCResult | This method takes all result data series (which are assigned to the BuildingBlock and ControlledFlow business objects) and persist them in the database.
Public method | SaveSimulationResult | This method takes all result data series (which are assigned to the reservoir business objects) and persist them in the database.
Public method | SolveMPC | Finds the optimal control for the prediction horizon. The prediction horizon is an input when the MPC controller is created by calling CreateMPCController(TimeSpan, ISolver). The MPC controller must be created methods before SolveMPC(DateTime) is called. This method assigns the result data series to the reach and reservoir business object, but does NOT persist the result data series in the data base.
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

Network2 Class


Network2.AppendMPCResult Method

Network2AppendMPCResult Method

Appends the result of the current MPC run to the result stored in /MPCOutput/Appended/.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public void AppendMPCResult(
    DateTime tof
)
Public Sub AppendMPCResult (
    tof As DateTime
)
public:
void AppendMPCResult(
    DateTime tof
)

Parameters

tof
Type: SystemDateTime
The time at which the results are appended.
See Also

Reference

Network2 Class


Network2.AppendSimulationResult Method

Network2AppendSimulationResult Method

Appends the result of the current simulation

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public void AppendSimulationResult(
    DateTime tof
)
Public Sub AppendSimulationResult (
    tof As DateTime
)
public:
void AppendSimulationResult(
    DateTime tof
)

Parameters

tof
Type: SystemDateTime
See Also

Reference

Network2 Class


Network2.CreateMPCController Method

Network2CreateMPCController Method

Creates an IMpcController and assigns it to the network. An MPC controller created by this method will use the external solver, injected via the solver argument.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public virtual void CreateMPCController(
    TimeSpan k,
    ISolver solver
)
Public Overridable Sub CreateMPCController (
    k As TimeSpan,
    solver As ISolver
)
public:
virtual void CreateMPCController(
    TimeSpan k,
    ISolver^ solver
)

Parameters

k
Type: SystemTimeSpan
The prediction horizon of the MPC controller
solver
Type: ISolver
Any 3rd party quadratic programming solver which conforms to the ISolver interface.
See Also

Reference

Network2 Class


Network2.CreateSimulator Method

Network2CreateSimulator Method

Creates a LinearModelSimulator and assigns it to the network.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public LinearModelSimulator2 CreateSimulator(
    TimeSpan k
)
Public Function CreateSimulator (
    k As TimeSpan
) As LinearModelSimulator2
public:
LinearModelSimulator2^ CreateSimulator(
    TimeSpan k
)

Parameters

k
Type: SystemTimeSpan
The prediction horizon of the simulator

Return Value

Type: LinearModelSimulator2

[Missing <returns> documentation for "M:DHI.MPC.Engine.Network2.CreateSimulator(System.TimeSpan)"]

See Also

Reference

Network2 Class


Network2.GetInMemoryResult Method

Network2GetInMemoryResult Method

This method returns in memory results in pairs of (blockname, double[]), added to a dictionary.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public Dictionary<string, double[]> GetInMemoryResult()
Public Function GetInMemoryResult As Dictionary(Of String, Double())
public:
Dictionary<String^, array<double>^>^ GetInMemoryResult()

Return Value

Type: DictionaryString, Double

[Missing <returns> documentation for "M:DHI.MPC.Engine.Network2.GetInMemoryResult"]

See Also

Reference

Network2 Class


Network2.GetMPCResult Method

Network2GetMPCResult Method

Overload List
 | Name | Description
Public method | GetMPCResult(DateTime) | Creates all result time series
Public method | GetMPCResult(DateTime, String) | GetMPCResult
Top
See Also

Reference

Network2 Class


Network2.GetMPCResult Method (DateTime)

Network2GetMPCResult Method (DateTime)

Creates all result time series

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public IList<TimeSeries<string, double>> GetMPCResult(
    DateTime tof
)
Public Function GetMPCResult (
    tof As DateTime
) As IList(Of TimeSeries(Of String, Double))
public:
IList<TimeSeries<String^, double>^>^ GetMPCResult(
    DateTime tof
)

Parameters

tof
Type: SystemDateTime

[Missing <param name="tof"/> documentation for "M:DHI.MPC.Engine.Network2.GetMPCResult(System.DateTime)"]

Return Value

Type: IListTimeSeriesString, Double

[Missing <returns> documentation for "M:DHI.MPC.Engine.Network2.GetMPCResult(System.DateTime)"]

See Also

Reference

Network2 Class
GetMPCResult Overload


Network2.GetMPCResult Method (DateTime, String)

Network2GetMPCResult Method (DateTime, String)

GetMPCResult

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public IList<TimeSeries<string, double>> GetMPCResult(
    DateTime tof,
    string group
)
Public Function GetMPCResult (
    tof As DateTime,
    group As String
) As IList(Of TimeSeries(Of String, Double))
public:
IList<TimeSeries<String^, double>^>^ GetMPCResult(
    DateTime tof,
    String^ group
)

Parameters

tof
Type: SystemDateTime
group
Type: SystemString

Return Value

Type: IListTimeSeriesString, Double

[Missing <returns> documentation for "M:DHI.MPC.Engine.Network2.GetMPCResult(System.DateTime,System.String)"]

See Also

Reference

Network2 Class
GetMPCResult Overload


Network2.GetMPCResultPath Method

Network2GetMPCResultPath Method

Create a list of paths to all appended result time series (in /MPCOutput/Appended/)

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public IList<string> GetMPCResultPath()
Public Function GetMPCResultPath As IList(Of String)
public:
IList<String^>^ GetMPCResultPath()

Return Value

Type: IListString

[Missing <returns> documentation for "M:DHI.MPC.Engine.Network2.GetMPCResultPath"]

See Also

Reference

Network2 Class


Network2.RunSimulation Method

Network2RunSimulation Method

Runs a simulation of the linear surrogate model, where the forcings are determined by the input time series specified in the configuration. This is opposed to SolveMPC(DateTime) which determines the optimal forcings.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public void RunSimulation(
    DateTime tof
)
Public Sub RunSimulation (
    tof As DateTime
)
public:
void RunSimulation(
    DateTime tof
)

Parameters

tof
Type: SystemDateTime
Start time of the simulation.
See Also

Reference

Network2 Class


Network2.SaveMPCResult Method

Network2SaveMPCResult Method

This method takes all result data series (which are assigned to the BuildingBlock and ControlledFlow business objects) and persist them in the database.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public void SaveMPCResult(
    DateTime tof
)
Public Sub SaveMPCResult (
    tof As DateTime
)
public:
void SaveMPCResult(
    DateTime tof
)

Parameters

tof
Type: SystemDateTime

[Missing <param name="tof"/> documentation for "M:DHI.MPC.Engine.Network2.SaveMPCResult(System.DateTime)"]

See Also

Reference

Network2 Class


Network2.SaveSimulationResult Method

Network2SaveSimulationResult Method

This method takes all result data series (which are assigned to the reservoir business objects) and persist them in the database.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public void SaveSimulationResult(
    DateTime tof
)
Public Sub SaveSimulationResult (
    tof As DateTime
)
public:
void SaveSimulationResult(
    DateTime tof
)

Parameters

tof
Type: SystemDateTime

[Missing <param name="tof"/> documentation for "M:DHI.MPC.Engine.Network2.SaveSimulationResult(System.DateTime)"]

See Also

Reference

Network2 Class


Network2.SolveMPC Method

Network2SolveMPC Method

Finds the optimal control for the prediction horizon. The prediction horizon is an input when the MPC controller is created by calling CreateMPCController(TimeSpan, ISolver). The MPC controller must be created methods before SolveMPC(DateTime) is called. This method assigns the result data series to the reach and reservoir business object, but does NOT persist the result data series in the data base.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public void SolveMPC(
    DateTime tof
)
Public Sub SolveMPC (
    tof As DateTime
)
public:
void SolveMPC(
    DateTime tof
)

Parameters

tof
Type: SystemDateTime
Start time of the receding horizon window.
See Also

Reference

Network2 Class


Network2 Fields

The Network2 type exposes the following members.

Fields
 | Name | Description
Protected field | ResultHandler | Handle MPC output results
Protected field | TimeSeriesHandler | Handle MPC inputs
Top
See Also

Reference

Network2 Class


Network2.ResultHandler Field

Network2ResultHandler Field

Handle MPC output results

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
protected ResultHandler ResultHandler
Protected ResultHandler As ResultHandler
protected:
ResultHandler^ ResultHandler

Field Value

Type: ResultHandler
See Also

Reference

Network2 Class


Network2.TimeSeriesHandler Field

Network2TimeSeriesHandler Field

Handle MPC inputs

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
protected TimeSeriesHandler TimeSeriesHandler
Protected TimeSeriesHandler As TimeSeriesHandler
protected:
TimeSeriesHandler^ TimeSeriesHandler

Field Value

Type: TimeSeriesHandler
See Also

Reference

Network2 Class


Network3 Class

Network3 does not assemble the network, but prepares the model blocks for being connected by equality constraints in the optimisation model. This approach uses Network to generate separate surrogate models for each model block (and thus the memory consumption of Network is not an issue.

Network3 is an abstract class which contains methods for
  • Creation of the model blocks from the data records held by Configuration.
  • Execution of an optimisation.
  • Execution of a simulation with the surrogate model.
Inheritance Hierarchy
SystemObject
DHI.MPC.EngineNetwork3
DHI.MPC.EngineNetworkBlock3

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public abstract class Network3
Public MustInherit Class Network3
public ref class Network3 abstract

The Network3 type exposes the following members.

Constructors
 | Name | Description
Protected method | Network3 | Basic constructor for the abstract Network3 class
Top
Methods
 | Name | Description
Public method | AppendMPCResult | This method will append the result of the current MPC run to the result stored in /MPCOutput/Appended/.
Public method | AppendSimulationResult | Appends the result of the current simulation
Public method | CreateMPCController | Creates an IMpcController and assigns it to the network. An MPC controller created by this method will use the external solver, injected via the solver argument.
Public method | CreateSimulator | Creates a LinearModelSimulator and assigns it to the network.
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetInMemoryResult | This method returns in memory results in pairs of (blockname, double[]), added to a dictionary.
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | RunSimulation | Runs a simulation of the linear surrogate model, where the forcings are determined by the input time series specified in the configuration. This is opposed to SolveMPC(DateTime) which determines the optimal forcings.
Public method | SaveMPCResult | This method takes all result data series (which are assigned to the BuildingBlock and ControlledFlow business objects) and persist them in the database.
Public method | SaveSimulationResult | This method takes all result data series (which are assigned to the reservoir business objects) and persist them in the database.
Public method | SolveMPC | Finds the optimal control for the prediction horizon. The prediction horizon is an input when the MPC controller is created by calling CreateMPCController(TimeSpan, ISolver). The MPC controller must be created before SolveMPC(DateTime) is called. This method assigns the result data series to the reach and reservoir business object, but does NOT persist the result data series in the data base.
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

DHI.MPC.Engine Namespace


Network3 Constructor

Basic constructor for the abstract Network3 class

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
protected Network3(
    Configuration configuration,
    IUpdatableTimeSeriesRepository<string, double> timeSeriesRepository
)
Protected Sub New (
    configuration As Configuration,
    timeSeriesRepository As IUpdatableTimeSeriesRepository(Of String, Double)
)
protected:
Network3(
    Configuration^ configuration,
    IUpdatableTimeSeriesRepository<String^, double>^ timeSeriesRepository
)

Parameters

configuration
Type: DHI.MPC.EngineConfiguration
timeSeriesRepository
Type: IUpdatableTimeSeriesRepositoryString, Double
See Also

Reference

Network3 Class


Network3 Methods

The Network3 type exposes the following members.

Methods
 | Name | Description
Public method | AppendMPCResult | This method will append the result of the current MPC run to the result stored in /MPCOutput/Appended/.
Public method | AppendSimulationResult | Appends the result of the current simulation
Public method | CreateMPCController | Creates an IMpcController and assigns it to the network. An MPC controller created by this method will use the external solver, injected via the solver argument.
Public method | CreateSimulator | Creates a LinearModelSimulator and assigns it to the network.
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetInMemoryResult | This method returns in memory results in pairs of (blockname, double[]), added to a dictionary.
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | RunSimulation | Runs a simulation of the linear surrogate model, where the forcings are determined by the input time series specified in the configuration. This is opposed to SolveMPC(DateTime) which determines the optimal forcings.
Public method | SaveMPCResult | This method takes all result data series (which are assigned to the BuildingBlock and ControlledFlow business objects) and persist them in the database.
Public method | SaveSimulationResult | This method takes all result data series (which are assigned to the reservoir business objects) and persist them in the database.
Public method | SolveMPC | Finds the optimal control for the prediction horizon. The prediction horizon is an input when the MPC controller is created by calling CreateMPCController(TimeSpan, ISolver). The MPC controller must be created before SolveMPC(DateTime) is called. This method assigns the result data series to the reach and reservoir business object, but does NOT persist the result data series in the data base.
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

Network3 Class


Network3.AppendMPCResult Method

Network3AppendMPCResult Method

This method will append the result of the current MPC run to the result stored in /MPCOutput/Appended/.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public void AppendMPCResult(
    DateTime tof
)
Public Sub AppendMPCResult (
    tof As DateTime
)
public:
void AppendMPCResult(
    DateTime tof
)

Parameters

tof
Type: SystemDateTime
The time at which the results are appended.
See Also

Reference

Network3 Class


Network3.AppendSimulationResult Method

Network3AppendSimulationResult Method

Appends the result of the current simulation

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public void AppendSimulationResult(
    DateTime tof
)
Public Sub AppendSimulationResult (
    tof As DateTime
)
public:
void AppendSimulationResult(
    DateTime tof
)

Parameters

tof
Type: SystemDateTime
See Also

Reference

Network3 Class


Network3.CreateMPCController Method

Network3CreateMPCController Method

Creates an IMpcController and assigns it to the network. An MPC controller created by this method will use the external solver, injected via the solver argument.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public virtual void CreateMPCController(
    TimeSpan k,
    ISolver solver
)
Public Overridable Sub CreateMPCController (
    k As TimeSpan,
    solver As ISolver
)
public:
virtual void CreateMPCController(
    TimeSpan k,
    ISolver^ solver
)

Parameters

k
Type: SystemTimeSpan
The prediction horizon of the MPC controller.
solver
Type: ISolver
Any 3rd party quadratic programming solver which conforms to the ISolver interface.
See Also

Reference

Network3 Class


Network3.CreateSimulator Method

Network3CreateSimulator Method

Creates a LinearModelSimulator and assigns it to the network.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public void CreateSimulator(
    TimeSpan k
)
Public Sub CreateSimulator (
    k As TimeSpan
)
public:
void CreateSimulator(
    TimeSpan k
)

Parameters

k
Type: SystemTimeSpan
The prediction horizon of the simulator, counted in hours.
See Also

Reference

Network3 Class


Network3.GetInMemoryResult Method

Network3GetInMemoryResult Method

This method returns in memory results in pairs of (blockname, double[]), added to a dictionary.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public Dictionary<string, double[]> GetInMemoryResult()
Public Function GetInMemoryResult As Dictionary(Of String, Double())
public:
Dictionary<String^, array<double>^>^ GetInMemoryResult()

Return Value

Type: DictionaryString, Double

[Missing <returns> documentation for "M:DHI.MPC.Engine.Network3.GetInMemoryResult"]

See Also

Reference

Network3 Class


Network3.RunSimulation Method

Network3RunSimulation Method

Runs a simulation of the linear surrogate model, where the forcings are determined by the input time series specified in the configuration. This is opposed to SolveMPC(DateTime) which determines the optimal forcings.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public void RunSimulation(
    DateTime tof
)
Public Sub RunSimulation (
    tof As DateTime
)
public:
void RunSimulation(
    DateTime tof
)

Parameters

tof
Type: SystemDateTime
Start time of the simulation.
See Also

Reference

Network3 Class


Network3.SaveMPCResult Method

Network3SaveMPCResult Method

This method takes all result data series (which are assigned to the BuildingBlock and ControlledFlow business objects) and persist them in the database.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public void SaveMPCResult(
    DateTime tof
)
Public Sub SaveMPCResult (
    tof As DateTime
)
public:
void SaveMPCResult(
    DateTime tof
)

Parameters

tof
Type: SystemDateTime

[Missing <param name="tof"/> documentation for "M:DHI.MPC.Engine.Network3.SaveMPCResult(System.DateTime)"]

See Also

Reference

Network3 Class


Network3.SaveSimulationResult Method

Network3SaveSimulationResult Method

This method takes all result data series (which are assigned to the reservoir business objects) and persist them in the database.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public void SaveSimulationResult(
    DateTime tof
)
Public Sub SaveSimulationResult (
    tof As DateTime
)
public:
void SaveSimulationResult(
    DateTime tof
)

Parameters

tof
Type: SystemDateTime

[Missing <param name="tof"/> documentation for "M:DHI.MPC.Engine.Network3.SaveSimulationResult(System.DateTime)"]

See Also

Reference

Network3 Class


Network3.SolveMPC Method

Network3SolveMPC Method

Finds the optimal control for the prediction horizon. The prediction horizon is an input when the MPC controller is created by calling CreateMPCController(TimeSpan, ISolver). The MPC controller must be created before SolveMPC(DateTime) is called. This method assigns the result data series to the reach and reservoir business object, but does NOT persist the result data series in the data base.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public void SolveMPC(
    DateTime tof
)
Public Sub SolveMPC (
    tof As DateTime
)
public:
void SolveMPC(
    DateTime tof
)

Parameters

tof
Type: SystemDateTime
Start time of the receding horizon window.
See Also

Reference

Network3 Class


NetworkBlock Class

When the Configuration has been populated, NetworkBlock is the main entry point for executing the optimisation and simulation (both based on the surrogate model).

NetworkBlock inherits from Network. In Network, the Forecast of surrogate model is held in matrix objects that DO NOT exploit the block structure of the forecast. This imposes a heavy memory use, and in general, models that contain more than a few reaches will cause an OutOfMemory exception.

Network is an abstract class which contains methods for
  • Creation of the model blocks from the data records held by Configuration.
  • Linking the model blocks into a network.
  • Execution of an optimisation.
  • Execution of a simulation with the surrogate model.
Inheritance Hierarchy
SystemObject
DHI.MPC.EngineNetwork
DHI.MPC.EngineNetworkBlock

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public class NetworkBlock : Network
Public Class NetworkBlock
    Inherits Network
public ref class NetworkBlock : public Network

The NetworkBlock type exposes the following members.

Constructors
 | Name | Description
Public method | NetworkBlock | Initializes a new instance of the NetworkBlock class.
Top
Methods
 | Name | Description
Public method | AppendMPCResult | This method will append the result of the current MPC run to the result stored in /MPCOutput/Appended/. (Inherited from Network.)
Public method | CreateMPCController | Creates an IMpcController and assigns it to the network. An MPC controller created by this method will use the external solver, injected via the solver argument. (Inherited from Network.)
Public method | CreateSimulator | Creates a LinearModelSimulator and assigns it to the network. (Inherited from Network.)
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetInMemoryResult | This method returns in memory results in pairs of (blockname, double[]), added to a dictionary. (Inherited from Network.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | RunSimulation | Runs a simulation of the linear surrogate model, where the forcings are determined by the input time series specified in the configuration. This is opposed to SolveMPC(DateTime) which determines the optimal forcings. (Inherited from Network.)
Public method | SaveMPCResult | This method takes all result data series (which are assigned to the BuildingBlock and ControlledFlow business objects) and persist them in the database. (Inherited from Network.)
Public method | SaveSimulationResult | This method takes all result data series (which are assigned to the reservoir business objects) and persist them in the database. (Inherited from Network.)
Public method | SolveMPC | Finds the optimal control for the prediction horizon. The prediction horizon is an input when the MPC controller is created by calling CreateMPCController(TimeSpan, ISolver). The MPC controller must be created before SolveMPC(DateTime) is called. This method assigns the result data series to the reach and reservoir business object, but does NOT persist the result data series in the data base. (Inherited from Network.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

DHI.MPC.Engine Namespace


NetworkBlock Constructor

Initializes a new instance of the NetworkBlock class.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public NetworkBlock(
    Configuration configuration,
    IUpdatableTimeSeriesRepository<string, double> timeSeriesRepository
)
Public Sub New (
    configuration As Configuration,
    timeSeriesRepository As IUpdatableTimeSeriesRepository(Of String, Double)
)
public:
NetworkBlock(
    Configuration^ configuration,
    IUpdatableTimeSeriesRepository<String^, double>^ timeSeriesRepository
)

Parameters

configuration
Type: DHI.MPC.EngineConfiguration
The full configuration.
timeSeriesRepository
Type: IUpdatableTimeSeriesRepositoryString, Double
The time series repository.
See Also

Reference

NetworkBlock Class


NetworkBlock Methods

The NetworkBlock type exposes the following members.

Methods
 | Name | Description
Public method | AppendMPCResult | This method will append the result of the current MPC run to the result stored in /MPCOutput/Appended/. (Inherited from Network.)
Public method | CreateMPCController | Creates an IMpcController and assigns it to the network. An MPC controller created by this method will use the external solver, injected via the solver argument. (Inherited from Network.)
Public method | CreateSimulator | Creates a LinearModelSimulator and assigns it to the network. (Inherited from Network.)
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetInMemoryResult | This method returns in memory results in pairs of (blockname, double[]), added to a dictionary. (Inherited from Network.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | RunSimulation | Runs a simulation of the linear surrogate model, where the forcings are determined by the input time series specified in the configuration. This is opposed to SolveMPC(DateTime) which determines the optimal forcings. (Inherited from Network.)
Public method | SaveMPCResult | This method takes all result data series (which are assigned to the BuildingBlock and ControlledFlow business objects) and persist them in the database. (Inherited from Network.)
Public method | SaveSimulationResult | This method takes all result data series (which are assigned to the reservoir business objects) and persist them in the database. (Inherited from Network.)
Public method | SolveMPC | Finds the optimal control for the prediction horizon. The prediction horizon is an input when the MPC controller is created by calling CreateMPCController(TimeSpan, ISolver). The MPC controller must be created before SolveMPC(DateTime) is called. This method assigns the result data series to the reach and reservoir business object, but does NOT persist the result data series in the data base. (Inherited from Network.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

NetworkBlock Class


NetworkBlock2 Class

When the Configuration has been populated, NetworkBlock2 is the main entry point for executing the optimisation and simulation (both based on the surrogate model).

NetworkBlock2 inherits from Network2. In Network2, the Forecast2 of surrogate model is held in matrix objects that exploit the block structure of the forecast. This makes the memory footprint of Network2 much smaller than that of Network. The adverse effect is that there is a performance overhead in retrieving values from the matrices organised as BlockMatrix, so small networks with very few BuildingBlocks should rather use Network.

Network2 is an abstract class which contains methods for
  • Creation of the model blocks from the data records held by Configuration.
  • Linking the model blocks into a network.
  • Execution of an optimisation.
  • Execution of a simulation with the surrogate model.
Inheritance Hierarchy
SystemObject
DHI.MPC.EngineNetwork2
DHI.MPC.EngineNetworkBlock2

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public class NetworkBlock2 : Network2
Public Class NetworkBlock2
    Inherits Network2
public ref class NetworkBlock2 : public Network2

The NetworkBlock2 type exposes the following members.

Constructors
 | Name | Description
Public method | NetworkBlock2(Configuration, IUpdatableTimeSeriesRepositoryString, Double) | Initializes a new instance of the NetworkBlock class.
Public method | NetworkBlock2(Configuration, IUpdatableTimeSeriesRepositoryString, Double, IDiscreteTimeSeriesRepositoryString, Double) | Separate read-only time series repositories for MPC input
Top
Methods
 | Name | Description
Public method | AppendMPCResult | Appends the result of the current MPC run to the result stored in /MPCOutput/Appended/. (Inherited from Network2.)
Public method | AppendSimulationResult | Appends the result of the current simulation (Inherited from Network2.)
Public method | CreateMPCController | Creates an IMpcController and assigns it to the network. An MPC controller created by this method will use the external solver, injected via the solver argument. (Inherited from Network2.)
Public method | CreateSimulator | Creates a LinearModelSimulator and assigns it to the network. (Inherited from Network2.)
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetInMemoryResult | This method returns in memory results in pairs of (blockname, double[]), added to a dictionary. (Inherited from Network2.)
Public method | GetMPCResult(DateTime) | Creates all result time series (Inherited from Network2.)
Public method | GetMPCResult(DateTime, String) | GetMPCResult (Inherited from Network2.)
Public method | GetMPCResultPath | Create a list of paths to all appended result time series (in /MPCOutput/Appended/) (Inherited from Network2.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | RunSimulation | Runs a simulation of the linear surrogate model, where the forcings are determined by the input time series specified in the configuration. This is opposed to SolveMPC(DateTime) which determines the optimal forcings. (Inherited from Network2.)
Public method | SaveMPCResult | This method takes all result data series (which are assigned to the BuildingBlock and ControlledFlow business objects) and persist them in the database. (Inherited from Network2.)
Public method | SaveSimulationResult | This method takes all result data series (which are assigned to the reservoir business objects) and persist them in the database. (Inherited from Network2.)
Public method | SolveMPC | Finds the optimal control for the prediction horizon. The prediction horizon is an input when the MPC controller is created by calling CreateMPCController(TimeSpan, ISolver). The MPC controller must be created methods before SolveMPC(DateTime) is called. This method assigns the result data series to the reach and reservoir business object, but does NOT persist the result data series in the data base. (Inherited from Network2.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
Fields
 | Name | Description
Protected field | ResultHandler | Handle MPC output results (Inherited from Network2.)
Protected field | TimeSeriesHandler | Handle MPC inputs (Inherited from Network2.)
Top
See Also

Reference

DHI.MPC.Engine Namespace


NetworkBlock2 Constructor

Overload List
 | Name | Description
Public method | NetworkBlock2(Configuration, IUpdatableTimeSeriesRepositoryString, Double) | Initializes a new instance of the NetworkBlock class.
Public method | NetworkBlock2(Configuration, IUpdatableTimeSeriesRepositoryString, Double, IDiscreteTimeSeriesRepositoryString, Double) | Separate read-only time series repositories for MPC input
Top
See Also

Reference

NetworkBlock2 Class


NetworkBlock2 Constructor (Configuration, IUpdatableTimeSeriesRepository`2(String, Double))

NetworkBlock2 Constructor (Configuration, IUpdatableTimeSeriesRepository`2String, Double)

Initializes a new instance of the NetworkBlock class.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public NetworkBlock2(
    Configuration configuration,
    IUpdatableTimeSeriesRepository<string, double> timeSeriesRepository
)
Public Sub New (
    configuration As Configuration,
    timeSeriesRepository As IUpdatableTimeSeriesRepository(Of String, Double)
)
public:
NetworkBlock2(
    Configuration^ configuration,
    IUpdatableTimeSeriesRepository<String^, double>^ timeSeriesRepository
)

Parameters

configuration
Type: DHI.MPC.EngineConfiguration
The full configuration.
timeSeriesRepository
Type: IUpdatableTimeSeriesRepositoryString, Double
The time series repository.
See Also

Reference

NetworkBlock2 Class
NetworkBlock2 Overload


NetworkBlock2 Constructor (Configuration, IUpdatableTimeSeriesRepository`2(String, Double), IDiscreteTimeSeriesRepository`2(String, Double))

NetworkBlock2 Constructor (Configuration, IUpdatableTimeSeriesRepository`2String, Double, IDiscreteTimeSeriesRepository`2String, Double)

Separate read-only time series repositories for MPC input

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public NetworkBlock2(
    Configuration configuration,
    IUpdatableTimeSeriesRepository<string, double> timeSeriesRepositoryForResults,
    IDiscreteTimeSeriesRepository<string, double> timeSeriesRepositoryForInputs
)
Public Sub New (
    configuration As Configuration,
    timeSeriesRepositoryForResults As IUpdatableTimeSeriesRepository(Of String, Double),
    timeSeriesRepositoryForInputs As IDiscreteTimeSeriesRepository(Of String, Double)
)
public:
NetworkBlock2(
    Configuration^ configuration,
    IUpdatableTimeSeriesRepository<String^, double>^ timeSeriesRepositoryForResults,
    IDiscreteTimeSeriesRepository<String^, double>^ timeSeriesRepositoryForInputs
)

Parameters

configuration
Type: DHI.MPC.EngineConfiguration
timeSeriesRepositoryForResults
Type: IUpdatableTimeSeriesRepositoryString, Double
timeSeriesRepositoryForInputs
Type: IDiscreteTimeSeriesRepositoryString, Double
See Also

Reference

NetworkBlock2 Class
NetworkBlock2 Overload


NetworkBlock2 Methods

The NetworkBlock2 type exposes the following members.

Methods
 | Name | Description
Public method | AppendMPCResult | Appends the result of the current MPC run to the result stored in /MPCOutput/Appended/. (Inherited from Network2.)
Public method | AppendSimulationResult | Appends the result of the current simulation (Inherited from Network2.)
Public method | CreateMPCController | Creates an IMpcController and assigns it to the network. An MPC controller created by this method will use the external solver, injected via the solver argument. (Inherited from Network2.)
Public method | CreateSimulator | Creates a LinearModelSimulator and assigns it to the network. (Inherited from Network2.)
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetInMemoryResult | This method returns in memory results in pairs of (blockname, double[]), added to a dictionary. (Inherited from Network2.)
Public method | GetMPCResult(DateTime) | Creates all result time series (Inherited from Network2.)
Public method | GetMPCResult(DateTime, String) | GetMPCResult (Inherited from Network2.)
Public method | GetMPCResultPath | Create a list of paths to all appended result time series (in /MPCOutput/Appended/) (Inherited from Network2.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | RunSimulation | Runs a simulation of the linear surrogate model, where the forcings are determined by the input time series specified in the configuration. This is opposed to SolveMPC(DateTime) which determines the optimal forcings. (Inherited from Network2.)
Public method | SaveMPCResult | This method takes all result data series (which are assigned to the BuildingBlock and ControlledFlow business objects) and persist them in the database. (Inherited from Network2.)
Public method | SaveSimulationResult | This method takes all result data series (which are assigned to the reservoir business objects) and persist them in the database. (Inherited from Network2.)
Public method | SolveMPC | Finds the optimal control for the prediction horizon. The prediction horizon is an input when the MPC controller is created by calling CreateMPCController(TimeSpan, ISolver). The MPC controller must be created methods before SolveMPC(DateTime) is called. This method assigns the result data series to the reach and reservoir business object, but does NOT persist the result data series in the data base. (Inherited from Network2.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

NetworkBlock2 Class


NetworkBlock2 Fields

The NetworkBlock2 type exposes the following members.

Fields
 | Name | Description
Protected field | ResultHandler | Handle MPC output results (Inherited from Network2.)
Protected field | TimeSeriesHandler | Handle MPC inputs (Inherited from Network2.)
Top
See Also

Reference

NetworkBlock2 Class


NetworkBlock3 Class

When the Configuration has been populated, NetworkBlock3 is the main entry point for executing the optimisation and simulation (both based on the surrogate model).

NetworkBlock3 inherits from Network3. Network3 does not assemble the network, but prepares the model blocks for being connected by equality constraints in the optimisation model. This approach uses Network to generate separate surrogate models for each model block (and thus the memory consumption of Network is not an issue.

Network3 is an abstract class which contains methods for
  • Creation of the model blocks from the data records held by Configuration.
  • Execution of an optimisation.
  • Execution of a simulation with the surrogate model.
Inheritance Hierarchy
SystemObject
DHI.MPC.EngineNetwork3
DHI.MPC.EngineNetworkBlock3

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public class NetworkBlock3 : Network3
Public Class NetworkBlock3
    Inherits Network3
public ref class NetworkBlock3 : public Network3

The NetworkBlock3 type exposes the following members.

Constructors
 | Name | Description
Public method | NetworkBlock3 | Initializes a new instance of the NetworkBlock3 class.
Top
Methods
 | Name | Description
Public method | AppendMPCResult | This method will append the result of the current MPC run to the result stored in /MPCOutput/Appended/. (Inherited from Network3.)
Public method | AppendSimulationResult | Appends the result of the current simulation (Inherited from Network3.)
Public method | CreateMPCController | Creates an IMpcController and assigns it to the network. An MPC controller created by this method will use the external solver, injected via the solver argument. (Inherited from Network3.)
Public method | CreateSimulator | Creates a LinearModelSimulator and assigns it to the network. (Inherited from Network3.)
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetInMemoryResult | This method returns in memory results in pairs of (blockname, double[]), added to a dictionary. (Inherited from Network3.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | RunSimulation | Runs a simulation of the linear surrogate model, where the forcings are determined by the input time series specified in the configuration. This is opposed to SolveMPC(DateTime) which determines the optimal forcings. (Inherited from Network3.)
Public method | SaveMPCResult | This method takes all result data series (which are assigned to the BuildingBlock and ControlledFlow business objects) and persist them in the database. (Inherited from Network3.)
Public method | SaveSimulationResult | This method takes all result data series (which are assigned to the reservoir business objects) and persist them in the database. (Inherited from Network3.)
Public method | SolveMPC | Finds the optimal control for the prediction horizon. The prediction horizon is an input when the MPC controller is created by calling CreateMPCController(TimeSpan, ISolver). The MPC controller must be created before SolveMPC(DateTime) is called. This method assigns the result data series to the reach and reservoir business object, but does NOT persist the result data series in the data base. (Inherited from Network3.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

DHI.MPC.Engine Namespace


NetworkBlock3 Constructor

Initializes a new instance of the NetworkBlock3 class.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public NetworkBlock3(
    Configuration configuration,
    IUpdatableTimeSeriesRepository<string, double> timeSeriesRepository
)
Public Sub New (
    configuration As Configuration,
    timeSeriesRepository As IUpdatableTimeSeriesRepository(Of String, Double)
)
public:
NetworkBlock3(
    Configuration^ configuration,
    IUpdatableTimeSeriesRepository<String^, double>^ timeSeriesRepository
)

Parameters

configuration
Type: DHI.MPC.EngineConfiguration
The full configuration.
timeSeriesRepository
Type: IUpdatableTimeSeriesRepositoryString, Double
The time series repository.
See Also

Reference

NetworkBlock3 Class


NetworkBlock3 Methods

The NetworkBlock3 type exposes the following members.

Methods
 | Name | Description
Public method | AppendMPCResult | This method will append the result of the current MPC run to the result stored in /MPCOutput/Appended/. (Inherited from Network3.)
Public method | AppendSimulationResult | Appends the result of the current simulation (Inherited from Network3.)
Public method | CreateMPCController | Creates an IMpcController and assigns it to the network. An MPC controller created by this method will use the external solver, injected via the solver argument. (Inherited from Network3.)
Public method | CreateSimulator | Creates a LinearModelSimulator and assigns it to the network. (Inherited from Network3.)
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetInMemoryResult | This method returns in memory results in pairs of (blockname, double[]), added to a dictionary. (Inherited from Network3.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | RunSimulation | Runs a simulation of the linear surrogate model, where the forcings are determined by the input time series specified in the configuration. This is opposed to SolveMPC(DateTime) which determines the optimal forcings. (Inherited from Network3.)
Public method | SaveMPCResult | This method takes all result data series (which are assigned to the BuildingBlock and ControlledFlow business objects) and persist them in the database. (Inherited from Network3.)
Public method | SaveSimulationResult | This method takes all result data series (which are assigned to the reservoir business objects) and persist them in the database. (Inherited from Network3.)
Public method | SolveMPC | Finds the optimal control for the prediction horizon. The prediction horizon is an input when the MPC controller is created by calling CreateMPCController(TimeSpan, ISolver). The MPC controller must be created before SolveMPC(DateTime) is called. This method assigns the result data series to the reach and reservoir business object, but does NOT persist the result data series in the data base. (Inherited from Network3.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

NetworkBlock3 Class


OptimisationMethod Enumeration

The OptimisationMethod chooses the optimisation method.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public enum OptimisationMethod
Public Enumeration OptimisationMethod
public enum class OptimisationMethod
Members
Member name | Value | Description
LinearQuadraticRegulator | 0 | Solves the unconstrained problem. The solution minimises the square of the deviation from the output to the user configured target values.
QuadraticProgramming | 1 | Solves the constrained problem using quadratic programming. The solution minimises the square of the deviation from the output to the user configured targets, while taking linear constraints into account. Constraints are formulated as upper and lower bounds on inputs (forcings) and model outputs.
LinearProgramming | 2 | Solves the constrained problem using linear programming.
See Also

Reference

DHI.MPC.Engine Namespace


OutflowData Class

Class for holding configuration data for outflow from a reservoir. The outflow may be a boundary (i.e. an extraction) or it may be linked to a downstream model block's inflow.
Inheritance Hierarchy
SystemObject
DHI.MPC.EngineBlockData
DHI.MPC.EngineFlowData
DHI.MPC.EngineOutflowData

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
[SerializableAttribute]
public class OutflowData : FlowData
<SerializableAttribute>
Public Class OutflowData
    Inherits FlowData
[SerializableAttribute]
public ref class OutflowData : public FlowData

The OutflowData type exposes the following members.

Constructors
 | Name | Description
Public method | OutflowData | Initializes a new instance of the OutflowData class
Top
Properties
 | Name | Description
Public property | BlockId | (Inherited from FlowData.)
Public property | Id | Gets or sets the identifier of this data record. (Inherited from BlockData.)
Public property | Linked | Gets or set the flag that indicates if flow is linked to another flow. This property is set to true in the Connect methods of Configuration methods (Inherited from FlowData.)
Public property | MpcControlled | Gets or sets the flag that indicates if the flow is controlled by the MPC or not (true: controlled, false: not controlled) (Inherited from FlowData.)
Public property | Name | Gets or sets the name. For a reach or reservoir, use the reach or reservoir name. (Inherited from BlockData.)
Public property | TimeSeriesId | Gets or set the identifier of the time series which holds the flow. (Inherited from FlowData.)
Public property | TsScalingFactor | Gets or sets scaling factor. The scaling factor will apply to the time series defined for this FlowData record. In case of an MpcControlled flow the scaling will apply to the initial flow (which is defined by the time series). (Inherited from FlowData.)
Top
Methods
 | Name | Description
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

DHI.MPC.Engine Namespace


OutflowData Constructor

Initializes a new instance of the OutflowData class

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public OutflowData()
Public Sub New
public:
OutflowData()
See Also

Reference

OutflowData Class


OutflowData Properties

The OutflowData type exposes the following members.

Properties
 | Name | Description
Public property | BlockId | (Inherited from FlowData.)
Public property | Id | Gets or sets the identifier of this data record. (Inherited from BlockData.)
Public property | Linked | Gets or set the flag that indicates if flow is linked to another flow. This property is set to true in the Connect methods of Configuration methods (Inherited from FlowData.)
Public property | MpcControlled | Gets or sets the flag that indicates if the flow is controlled by the MPC or not (true: controlled, false: not controlled) (Inherited from FlowData.)
Public property | Name | Gets or sets the name. For a reach or reservoir, use the reach or reservoir name. (Inherited from BlockData.)
Public property | TimeSeriesId | Gets or set the identifier of the time series which holds the flow. (Inherited from FlowData.)
Public property | TsScalingFactor | Gets or sets scaling factor. The scaling factor will apply to the time series defined for this FlowData record. In case of an MpcControlled flow the scaling will apply to the initial flow (which is defined by the time series). (Inherited from FlowData.)
Top
See Also

Reference

OutflowData Class


OutflowData Methods

The OutflowData type exposes the following members.

Methods
 | Name | Description
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

OutflowData Class


OutputConstraintData Class

Data record for specifying upper and lower bounds on the output variable from a model block.
Inheritance Hierarchy
SystemObject
DHI.MPC.EngineOutputConstraintData

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
[SerializableAttribute]
public class OutputConstraintData : IOutputConstraintData
<SerializableAttribute>
Public Class OutputConstraintData
    Implements IOutputConstraintData
[SerializableAttribute]
public ref class OutputConstraintData : IOutputConstraintData

The OutputConstraintData type exposes the following members.

Constructors
 | Name | Description
Public method | OutputConstraintData | Initializes an instance of the OutputConstraintData class. If not altered by the user, the penalty for violating the output constraint takes a default value of 1e-2. This penalty will only apply, if AllowViolation is true.
Top
Properties
 | Name | Description
Public property | AllowViolation | Specifies whether this constraint is soft or not. AllowViolation = true will create a soft constraint, AllowViolation = false creates a hard constraint.
Public property | BlockId | Attaches the constraint to model block (IBlockData, whose output is to be constrained.
Public property | Bound | Specifies whether the bound is upper (Max) or lower (Min).
Public property | TsId | Bound defined as time series. If TsId is set, this will override a constant value specified in Value
Public property | Value | Specifies the value of the bound.
Public property | ViolationPenalty | Specifies the penalty for violating the constraint.
Top
Methods
 | Name | Description
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

DHI.MPC.Engine Namespace


OutputConstraintData Constructor

Initializes an instance of the OutputConstraintData class. If not altered by the user, the penalty for violating the output constraint takes a default value of 1e-2. This penalty will only apply, if AllowViolation is true.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public OutputConstraintData()
Public Sub New
public:
OutputConstraintData()
See Also

Reference

OutputConstraintData Class


OutputConstraintData Properties

The OutputConstraintData type exposes the following members.

Properties
 | Name | Description
Public property | AllowViolation | Specifies whether this constraint is soft or not. AllowViolation = true will create a soft constraint, AllowViolation = false creates a hard constraint.
Public property | BlockId | Attaches the constraint to model block (IBlockData, whose output is to be constrained.
Public property | Bound | Specifies whether the bound is upper (Max) or lower (Min).
Public property | TsId | Bound defined as time series. If TsId is set, this will override a constant value specified in Value
Public property | Value | Specifies the value of the bound.
Public property | ViolationPenalty | Specifies the penalty for violating the constraint.
Top
See Also

Reference

OutputConstraintData Class


OutputConstraintData.AllowViolation Property

OutputConstraintDataAllowViolation Property

Specifies whether this constraint is soft or not. AllowViolation = true will create a soft constraint, AllowViolation = false creates a hard constraint.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public bool AllowViolation { get; set; }
Public Property AllowViolation As Boolean
    Get
    Set
public:
virtual property bool AllowViolation {
    bool get () sealed;
    void set (bool value) sealed;
}

Property Value

Type: Boolean

Implements

IOutputConstraintDataAllowViolation
See Also

Reference

OutputConstraintData Class


OutputConstraintData.BlockId Property

OutputConstraintDataBlockId Property

Attaches the constraint to model block (IBlockData, whose output is to be constrained.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public Guid BlockId { get; set; }
Public Property BlockId As Guid
    Get
    Set
public:
virtual property Guid BlockId {
    Guid get () sealed;
    void set (Guid value) sealed;
}

Property Value

Type: Guid

Implements

IOutputConstraintDataBlockId
See Also

Reference

OutputConstraintData Class


OutputConstraintData.Bound Property

OutputConstraintDataBound Property

Specifies whether the bound is upper (Max) or lower (Min).

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public ConstraintOption Bound { get; set; }
Public Property Bound As ConstraintOption
    Get
    Set
public:
virtual property ConstraintOption Bound {
    ConstraintOption get () sealed;
    void set (ConstraintOption value) sealed;
}

Property Value

Type: ConstraintOption

Implements

IOutputConstraintDataBound
See Also

Reference

OutputConstraintData Class


OutputConstraintData.TsId Property

OutputConstraintDataTsId Property

Bound defined as time series. If TsId is set, this will override a constant value specified in Value

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public string TsId { get; set; }
Public Property TsId As String
    Get
    Set
public:
virtual property String^ TsId {
    String^ get () sealed;
    void set (String^ value) sealed;
}

Property Value

Type: String

Implements

IOutputConstraintDataTsId
See Also

Reference

OutputConstraintData Class


OutputConstraintData.Value Property

OutputConstraintDataValue Property

Specifies the value of the bound.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public double Value { get; set; }
Public Property Value As Double
    Get
    Set
public:
virtual property double Value {
    double get () sealed;
    void set (double value) sealed;
}

Property Value

Type: Double

Implements

IOutputConstraintDataValue
See Also

Reference

OutputConstraintData Class


OutputConstraintData.ViolationPenalty Property

OutputConstraintDataViolationPenalty Property

Specifies the penalty for violating the constraint.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public double ViolationPenalty { get; set; }
Public Property ViolationPenalty As Double
    Get
    Set
public:
virtual property double ViolationPenalty {
    double get () sealed;
    void set (double value) sealed;
}

Property Value

Type: Double

Implements

IOutputConstraintDataViolationPenalty
See Also

Reference

OutputConstraintData Class


OutputConstraintData Methods

The OutputConstraintData type exposes the following members.

Methods
 | Name | Description
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

OutputConstraintData Class


PenaltyData Class

Class for holding data for penalty of change in forcing
Inheritance Hierarchy
SystemObject
DHI.MPC.EnginePenaltyData

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
[SerializableAttribute]
public class PenaltyData
<SerializableAttribute>
Public Class PenaltyData
[SerializableAttribute]
public ref class PenaltyData

The PenaltyData type exposes the following members.

Constructors
 | Name | Description
Public method | PenaltyData | Initializes a new instance of the PenaltyData class
Top
Properties
 | Name | Description
Public property | BlockId | Gets or sets the Id of the BlockData that this penalty apply to
Public property | Penalty | Gets or sets the penalty on change in forcing
Top
Methods
 | Name | Description
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

DHI.MPC.Engine Namespace


PenaltyData Constructor

Initializes a new instance of the PenaltyData class

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public PenaltyData()
Public Sub New
public:
PenaltyData()
See Also

Reference

PenaltyData Class


PenaltyData Properties

The PenaltyData type exposes the following members.

Properties
 | Name | Description
Public property | BlockId | Gets or sets the Id of the BlockData that this penalty apply to
Public property | Penalty | Gets or sets the penalty on change in forcing
Top
See Also

Reference

PenaltyData Class


PenaltyData.BlockId Property

PenaltyDataBlockId Property

Gets or sets the Id of the BlockData that this penalty apply to

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public Guid BlockId { get; set; }
Public Property BlockId As Guid
    Get
    Set
public:
property Guid BlockId {
    Guid get ();
    void set (Guid value);
}

Property Value

Type: Guid
See Also

Reference

PenaltyData Class


PenaltyData.Penalty Property

PenaltyDataPenalty Property

Gets or sets the penalty on change in forcing

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public double Penalty { get; set; }
Public Property Penalty As Double
    Get
    Set
public:
property double Penalty {
    double get ();
    void set (double value);
}

Property Value

Type: Double
See Also

Reference

PenaltyData Class


PenaltyData Methods

The PenaltyData type exposes the following members.

Methods
 | Name | Description
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

PenaltyData Class


QPAssemblyMethod Enumeration

The QPAssemblyMethod chooses how to assemble the model

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public enum QPAssemblyMethod
Public Enumeration QPAssemblyMethod
public enum class QPAssemblyMethod
Members
Member name | Value | Description
Global | 0 | The Global option links the submodels to one global model, for which the QP is then set up. The global A, Bu, Bd and C matrices are patched up from linear sub-model, and links between the sub-models are inserted in the A and the Bu matrix. Then a forecast is generated from the linear super-model, and finally the QP is set up from the forecast.
EqualityConstraints | 1 | A QP is set up for each submodel. These QPs are patched in to a global QP and linked together by adding equality constraints.
See Also

Reference

DHI.MPC.Engine Namespace


ReachData Class

Class for holding configuration data for a simple reach model, where the travel time is modelled as a delay.
Inheritance Hierarchy
SystemObject
DHI.MPC.EngineBlockData
DHI.MPC.EngineReachData

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
[SerializableAttribute]
public class ReachData : BlockData
<SerializableAttribute>
Public Class ReachData
    Inherits BlockData
[SerializableAttribute]
public ref class ReachData : public BlockData

The ReachData type exposes the following members.

Constructors
 | Name | Description
Public method | ReachData | Creates an instance of ReachData.
Top
Properties
Name Description
Public property Delay
Gets or sets the delay from the upstream inflow point (UpperChainage) to the downstream outflow (LowerChainage. The unit is specified in DelayUnit property.
Public property DelayUnit
Gets or sets the unit for the time delay
Public property Id
Gets or sets the identifier of this data record.
(Inherited from BlockData.)
Public property LowerChainage
Gets or sets the lower chainage.
If the flow is positive, this is the upstream inflow point of the reach.
The purpose of a location specification via chainages is
  • Calculate the length of the reach.
  • Hook up lateral flows at a given position.
Public property LowerLocation
Gets or sets the Lower location.
Public property Name
Gets or sets the name. For a reach or reservoir, use the reach or reservoir name.
(Inherited from BlockData.)
Public property UpperChainage
Gets or sets the upper/high chainage.
If the flow is positive, this is the downstream chainage. The purpose of a location specification via chainages is
  • Calculate the length of the reach.
  • Hook up lateral flows at a given position.
Public property UpperLocation
Gets or sets the Upper location.
Top
Methods
 | Name | Description
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

DHI.MPC.Engine Namespace


ReachData Constructor

Creates an instance of ReachData.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public ReachData()
Public Sub New
public:
ReachData()
See Also

Reference

ReachData Class


ReachData Properties

The ReachData type exposes the following members.

Properties
Name Description
Public property Delay
Gets or sets the delay from the upstream inflow point (UpperChainage) to the downstream outflow (LowerChainage. The unit is specified in DelayUnit property.
Public property DelayUnit
Gets or sets the unit for the time delay
Public property Id
Gets or sets the identifier of this data record.
(Inherited from BlockData.)
Public property LowerChainage
Gets or sets the lower chainage.
If the flow is positive, this is the upstream inflow point of the reach.
The purpose of a location specification via chainages is
  • Calculate the length of the reach.
  • Hook up lateral flows at a given position.
Public property LowerLocation
Gets or sets the Lower location.
Public property Name
Gets or sets the name. For a reach or reservoir, use the reach or reservoir name.
(Inherited from BlockData.)
Public property UpperChainage
Gets or sets the upper/high chainage.
If the flow is positive, this is the downstream chainage. The purpose of a location specification via chainages is
  • Calculate the length of the reach.
  • Hook up lateral flows at a given position.
Public property UpperLocation
Gets or sets the Upper location.
Top
See Also

Reference

ReachData Class


ReachData.Delay Property

ReachDataDelay Property

Gets or sets the delay from the upstream inflow point (UpperChainage) to the downstream outflow (LowerChainage. The unit is specified in DelayUnit property.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public int Delay { get; set; }
Public Property Delay As Integer
    Get
    Set
public:
property int Delay {
    int get ();
    void set (int value);
}

Property Value

Type: Int32
See Also

Reference

ReachData Class


ReachData.DelayUnit Property

ReachDataDelayUnit Property

Gets or sets the unit for the time delay

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public TimeUnit DelayUnit { get; set; }
Public Property DelayUnit As TimeUnit
    Get
    Set
public:
property TimeUnit DelayUnit {
    TimeUnit get ();
    void set (TimeUnit value);
}

Property Value

Type: TimeUnit
See Also

Reference

ReachData Class


ReachData.LowerChainage Property

ReachDataLowerChainage Property

Gets or sets the lower chainage.
If the flow is positive, this is the upstream inflow point of the reach.
The purpose of a location specification via chainages is
  • Calculate the length of the reach.
  • Hook up lateral flows at a given position.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public double LowerChainage { get; set; }
Public Property LowerChainage As Double
    Get
    Set
public:
property double LowerChainage {
    double get ();
    void set (double value);
}

Property Value

Type: Double
See Also

Reference

ReachData Class


ReachData.LowerLocation Property

ReachDataLowerLocation Property

Gets or sets the Lower location.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public XYLocation LowerLocation { get; set; }
Public Property LowerLocation As XYLocation
    Get
    Set
public:
property XYLocation^ LowerLocation {
    XYLocation^ get ();
    void set (XYLocation^ value);
}

Property Value

Type: XYLocation
See Also

Reference

ReachData Class


ReachData.UpperChainage Property

ReachDataUpperChainage Property

Gets or sets the upper/high chainage.
If the flow is positive, this is the downstream chainage. The purpose of a location specification via chainages is
  • Calculate the length of the reach.
  • Hook up lateral flows at a given position.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public double UpperChainage { get; set; }
Public Property UpperChainage As Double
    Get
    Set
public:
property double UpperChainage {
    double get ();
    void set (double value);
}

Property Value

Type: Double
See Also

Reference

ReachData Class


ReachData.UpperLocation Property

ReachDataUpperLocation Property

Gets or sets the Upper location.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public XYLocation UpperLocation { get; set; }
Public Property UpperLocation As XYLocation
    Get
    Set
public:
property XYLocation^ UpperLocation {
    XYLocation^ get ();
    void set (XYLocation^ value);
}

Property Value

Type: XYLocation
See Also

Reference

ReachData Class


ReachData Methods

The ReachData type exposes the following members.

Methods
 | Name | Description
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

ReachData Class


ReservoirBaseData Class

Class for holding the configuration data in common for all types of reservoirs
Inheritance Hierarchy
SystemObject
DHI.MPC.EngineBlockData
DHI.MPC.EngineReservoirBaseData
DHI.MPC.EngineLinearReservoirData
DHI.MPC.EngineReservoirData

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
[SerializableAttribute]
public abstract class ReservoirBaseData : BlockData
<SerializableAttribute>
Public MustInherit Class ReservoirBaseData
    Inherits BlockData
[SerializableAttribute]
public ref class ReservoirBaseData abstract : public BlockData

The ReservoirBaseData type exposes the following members.

Constructors
 | Name | Description
Protected method | ReservoirBaseData | Initializes a new instance of the ReservoirBaseData class
Top
Properties
 | Name | Description
Public property | Id | Gets or sets the identifier of this data record. (Inherited from BlockData.)
Public property | Name | Gets or sets the name. For a reach or reservoir, use the reach or reservoir name. (Inherited from BlockData.)
Top
Methods
 | Name | Description
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

DHI.MPC.Engine Namespace


ReservoirBaseData Constructor

Initializes a new instance of the ReservoirBaseData class

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
protected ReservoirBaseData()
Protected Sub New
protected:
ReservoirBaseData()
See Also

Reference

ReservoirBaseData Class


ReservoirBaseData Properties

The ReservoirBaseData type exposes the following members.

Properties
 | Name | Description
Public property | Id | Gets or sets the identifier of this data record. (Inherited from BlockData.)
Public property | Name | Gets or sets the name. For a reach or reservoir, use the reach or reservoir name. (Inherited from BlockData.)
Top
See Also

Reference

ReservoirBaseData Class


ReservoirBaseData Methods

The ReservoirBaseData type exposes the following members.

Methods
 | Name | Description
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

ReservoirBaseData Class


ReservoirCalculationModel Enumeration

Enumeration, which specified the relationship between the unit of the state variable of the reservoir model and the units of the external data (initial state, target and constraints).

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public enum ReservoirCalculationModel
Public Enumeration ReservoirCalculationModel
public enum class ReservoirCalculationModel
Members
Member name | Value | Description
LevelVolume | 0 | The reservoir uses VOLUME as state variable, but all external data (initial state, target and constraints) are specified as LEVELS. The levels are converted to volume prior to generating the optimisation model, and likewise output volumes are converted back to levels before writing the results. Consequently, a level volume-curve must be specified.
Volume | 1 | The reservoir uses VOLUME as state variable, and all external data (initial state, target and constraints) are specified as VOLUMES, too. No level-volume curve is necessary.
Level | 2 | The reservoir uses LEVEL as state variable, and all external data (initial state, target and constraints) are specified as LEVELS. This formulation implicitly assumes a LINEAR level-volume relation, i.e. a unit volume change gives rise to the same level change at ANY level. Physically this corresponds to a tank with vertical sides. In order to calculate the level-volume relation, the (surface) area of the reservoir must be specified.
See Also

Reference

DHI.MPC.Engine Namespace


ReservoirData Class

Class for holding the configuration data for the tank model and the level-volume reservoir model.
Inheritance Hierarchy
SystemObject
DHI.MPC.EngineBlockData
DHI.MPC.EngineReservoirBaseData
DHI.MPC.EngineReservoirData
DHI.MPC.EngineReservoirWithOverflowData

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
[SerializableAttribute]
public class ReservoirData : ReservoirBaseData
<SerializableAttribute>
Public Class ReservoirData
    Inherits ReservoirBaseData
[SerializableAttribute]
public ref class ReservoirData : public ReservoirBaseData

The ReservoirData type exposes the following members.

Constructors
 | Name | Description
Public method | ReservoirData | Initializes a new instance of the ReservoirData class
Top
Properties
 | Name | Description
Public property | Area | Gets or sets the surface area for the reservoir. This is the simplest reservoir model, where the surface area is assumed to be constant over the height. Unit [m^2]
Public property | CalculationModel | Gets or sets the control of how the internal calculation model for the reservoir works. This is an enumeration with the following possible settings CalculationModel.
Public property | Id | Gets or sets the identifier of this data record. (Inherited from BlockData.)
Public property | Name | Gets or sets the name. For a reach or reservoir, use the reach or reservoir name. (Inherited from BlockData.)
Public property | TableLevel | Gets or sets the array of level values for the level-volume table. Unit: [m], measured according to the used height datum.
Public property | TableVolume | Gets or sets the array of volume values for the level-volume table. Unit: [m^3]
Top
Methods
 | Name | Description
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

DHI.MPC.Engine Namespace


ReservoirData Constructor

Initializes a new instance of the ReservoirData class

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public ReservoirData()
Public Sub New
public:
ReservoirData()
See Also

Reference

ReservoirData Class


ReservoirData Properties

The ReservoirData type exposes the following members.

Properties
 | Name | Description
Public property | Area | Gets or sets the surface area for the reservoir. This is the simplest reservoir model, where the surface area is assumed to be constant over the height. Unit [m^2]
Public property | CalculationModel | Gets or sets the control of how the internal calculation model for the reservoir works. This is an enumeration with the following possible settings CalculationModel.
Public property | Id | Gets or sets the identifier of this data record. (Inherited from BlockData.)
Public property | Name | Gets or sets the name. For a reach or reservoir, use the reach or reservoir name. (Inherited from BlockData.)
Public property | TableLevel | Gets or sets the array of level values for the level-volume table. Unit: [m], measured according to the used height datum.
Public property | TableVolume | Gets or sets the array of volume values for the level-volume table. Unit: [m^3]
Top
See Also

Reference

ReservoirData Class


ReservoirData.Area Property

ReservoirDataArea Property

Gets or sets the surface area for the reservoir. This is the simplest reservoir model, where the surface area is assumed to be constant over the height. Unit [m^2]

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public double Area { get; set; }
Public Property Area As Double
    Get
    Set
public:
property double Area {
    double get ();
    void set (double value);
}

Property Value

Type: Double
See Also

Reference

ReservoirData Class


ReservoirData.CalculationModel Property

ReservoirDataCalculationModel Property

Gets or sets the control of how the internal calculation model for the reservoir works. This is an enumeration with the following possible settings CalculationModel.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public ReservoirCalculationModel CalculationModel { get; set; }
Public Property CalculationModel As ReservoirCalculationModel
    Get
    Set
public:
property ReservoirCalculationModel CalculationModel {
    ReservoirCalculationModel get ();
    void set (ReservoirCalculationModel value);
}

Property Value

Type: ReservoirCalculationModel
See Also

Reference

ReservoirData Class


ReservoirData.TableLevel Property

ReservoirDataTableLevel Property

Gets or sets the array of level values for the level-volume table. Unit: [m], measured according to the used height datum.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public double[] TableLevel { get; set; }
Public Property TableLevel As Double()
    Get
    Set
public:
property array<double>^ TableLevel {
    array<double>^ get ();
    void set (array<double>^ value);
}

Property Value

Type: Double
See Also

Reference

ReservoirData Class


ReservoirData.TableVolume Property

ReservoirDataTableVolume Property

Gets or sets the array of volume values for the level-volume table. Unit: [m^3]

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public double[] TableVolume { get; set; }
Public Property TableVolume As Double()
    Get
    Set
public:
property array<double>^ TableVolume {
    array<double>^ get ();
    void set (array<double>^ value);
}

Property Value

Type: Double
See Also

Reference

ReservoirData Class


ReservoirData Methods

The ReservoirData type exposes the following members.

Methods
 | Name | Description
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

ReservoirData Class


ReservoirWithOverflowData Class

Class for holding the configuration data for a reservoir, which has an overflow structure at a specific level
Inheritance Hierarchy
SystemObject
DHI.MPC.EngineBlockData
DHI.MPC.EngineReservoirBaseData
DHI.MPC.EngineReservoirData
DHI.MPC.EngineReservoirWithOverflowData

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
[SerializableAttribute]
public class ReservoirWithOverflowData : ReservoirData
<SerializableAttribute>
Public Class ReservoirWithOverflowData
    Inherits ReservoirData
[SerializableAttribute]
public ref class ReservoirWithOverflowData : public ReservoirData

The ReservoirWithOverflowData type exposes the following members.

Constructors
 | Name | Description
Public method | ReservoirWithOverflowData | Creates an instance of ReservoirWithOverflowData.
Public method | ReservoirWithOverflowData(ReservoirData, Double) | Creates an instance of ReservoirWithOverflowData based on a ReservoirData record.
Top
Properties
 | Name | Description
Public property | Area | Gets or sets the surface area for the reservoir. This is the simplest reservoir model, where the surface area is assumed to be constant over the height. Unit [m^2] (Inherited from ReservoirData.)
Public property | CalculationModel | Gets or sets the control of how the internal calculation model for the reservoir works. This is an enumeration with the following possible settings CalculationModel. (Inherited from ReservoirData.)
Public property | Id | Gets or sets the identifier of this data record. (Inherited from BlockData.)
Public property | Name | Gets or sets the name. For a reach or reservoir, use the reach or reservoir name. (Inherited from BlockData.)
Public property | OverflowPenalty | A weight which describes penalty given to an overflow from this reservoir. The weight must be >= 0
Public property | TableLevel | Gets or sets the array of level values for the level-volume table. Unit: [m], measured according to the used height datum. (Inherited from ReservoirData.)
Public property | TableVolume | Gets or sets the array of volume values for the level-volume table. Unit: [m^3] (Inherited from ReservoirData.)
Top
Methods
 | Name | Description
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

DHI.MPC.Engine Namespace


ReservoirWithOverflowData Constructor

Overload List
 | Name | Description
Public method | ReservoirWithOverflowData | Creates an instance of ReservoirWithOverflowData.
Public method | ReservoirWithOverflowData(ReservoirData, Double) | Creates an instance of ReservoirWithOverflowData based on a ReservoirData record.
Top
See Also

Reference

ReservoirWithOverflowData Class


ReservoirWithOverflowData Constructor

Creates an instance of ReservoirWithOverflowData.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public ReservoirWithOverflowData()
Public Sub New
public:
ReservoirWithOverflowData()
See Also

Reference

ReservoirWithOverflowData Class
ReservoirWithOverflowData Overload


ReservoirWithOverflowData Constructor (ReservoirData, Double)

Creates an instance of ReservoirWithOverflowData based on a ReservoirData record.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public ReservoirWithOverflowData(
    ReservoirData reservoir,
    double overflowPenalty
)
Public Sub New (
    reservoir As ReservoirData,
    overflowPenalty As Double
)
public:
ReservoirWithOverflowData(
    ReservoirData^ reservoir,
    double overflowPenalty
)

Parameters

reservoir
Type: DHI.MPC.EngineReservoirData
A populated reservoir data record.
overflowPenalty
Type: SystemDouble
Penalty on overflow.
See Also

Reference

ReservoirWithOverflowData Class
ReservoirWithOverflowData Overload


ReservoirWithOverflowData Properties

The ReservoirWithOverflowData type exposes the following members.

Properties
 | Name | Description
Public property | Area | Gets or sets the surface area for the reservoir. This is the simplest reservoir model, where the surface area is assumed to be constant over the height. Unit [m^2] (Inherited from ReservoirData.)
Public property | CalculationModel | Gets or sets the control of how the internal calculation model for the reservoir works. This is an enumeration with the following possible settings CalculationModel. (Inherited from ReservoirData.)
Public property | Id | Gets or sets the identifier of this data record. (Inherited from BlockData.)
Public property | Name | Gets or sets the name. For a reach or reservoir, use the reach or reservoir name. (Inherited from BlockData.)
Public property | OverflowPenalty | A weight which describes penalty given to an overflow from this reservoir. The weight must be >= 0
Public property | TableLevel | Gets or sets the array of level values for the level-volume table. Unit: [m], measured according to the used height datum. (Inherited from ReservoirData.)
Public property | TableVolume | Gets or sets the array of volume values for the level-volume table. Unit: [m^3] (Inherited from ReservoirData.)
Top
See Also

Reference

ReservoirWithOverflowData Class


ReservoirWithOverflowData.OverflowPenalty Property

ReservoirWithOverflowDataOverflowPenalty Property

A weight which describes penalty given to an overflow from this reservoir. The weight must be >= 0

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public double OverflowPenalty { get; set; }
Public Property OverflowPenalty As Double
    Get
    Set
public:
property double OverflowPenalty {
    double get ();
    void set (double value);
}

Property Value

Type: Double
See Also

Reference

ReservoirWithOverflowData Class


ReservoirWithOverflowData Methods

The ReservoirWithOverflowData type exposes the following members.

Methods
 | Name | Description
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

ReservoirWithOverflowData Class


Result Class

This class is used by BuildingBlock to hold information about results from a run. Results may be outputvariables from the optimisation, or may be a mapping of the output variables. For example, for a reservoir the result variable is "level", but the output variable is in some cases "volume". Result will the facilitate the conversion to level via the attached level-volume curve.
The result object is used by the ResultHandler).
Inheritance Hierarchy
SystemObject
DHI.MPC.EngineResult

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public class Result
Public Class Result
public ref class Result

The Result type exposes the following members.

Constructors
 | Name | Description
Public method | Result | Initializes an instance of the Result class.
Top
Properties
 | Name | Description
Public property | Info | Metadata for the results.
Public property | Values | Result values, held by an array of double.
Top
Methods
 | Name | Description
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

DHI.MPC.Engine Namespace


Result Constructor

Initializes an instance of the Result class.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public Result(
    double[] values,
    ResultInfo info
)
Public Sub New (
    values As Double(),
    info As ResultInfo
)
public:
Result(
    array<double>^ values,
    ResultInfo^ info
)

Parameters

values
Type: SystemDouble
Result values, held by an array of double.
info
Type: DHI.MPC.EngineResultInfo
Metadata for the results.
See Also

Reference

Result Class


Result Properties

The Result type exposes the following members.

Properties
 | Name | Description
Public property | Info | Metadata for the results.
Public property | Values | Result values, held by an array of double.
Top
See Also

Reference

Result Class


Result.Info Property

ResultInfo Property

Metadata for the results.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public ResultInfo Info { get; }
Public ReadOnly Property Info As ResultInfo
    Get
public:
property ResultInfo^ Info {
    ResultInfo^ get ();
}

Property Value

Type: ResultInfo
See Also

Reference

Result Class


Result.Values Property

ResultValues Property

Result values, held by an array of double.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public double[] Values { get; }
Public ReadOnly Property Values As Double()
    Get
public:
property array<double>^ Values {
    array<double>^ get ();
}

Property Value

Type: Double
See Also

Reference

Result Class


Result Methods

The Result type exposes the following members.

Methods
 | Name | Description
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

Result Class


ResultHandler Class

Class that provides methods for saving the results (from MPC and ordinary simulation).
Inheritance Hierarchy
SystemObject
DHI.MPC.EngineResultHandler

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public class ResultHandler
Public Class ResultHandler
public ref class ResultHandler

The ResultHandler type exposes the following members.

Constructors
 | Name | Description
Public method | ResultHandler | Initializes a new instance of the ResultHandler class.
Top
Methods
 | Name | Description
Public method | AppendMPCResult | This method appends the result of the current MPC run to the result stored in /MPCOutput/Appended/.
Public method | AppendSimulationResult | This method appends the result of the current surrogate simulation run to the result stored in /SurrogateOutput/Appended/.
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetAppendedMPCResult(DateTime, ListBuildingBlock, ListControlledFlow) | Creates all appended result time series
Public method | GetAppendedMPCResult(DateTime, ListBuildingBlock, ListControlledFlow, String) | GetAppendedMPCResult
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetMPCResult | Creates all result time series
Public method | GetMPCResultPathList | Create a list of paths to all appended result time series (in /MPCOutput/Appended/)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | SaveMPCResult | This method takes all result data series (which are assigned to the BuildingBlock and ControlledFlow business objects) and persist them in the database.
Public method | SaveSimulationResult | This method takes all result data series (which are assigned to the model building blocks) and persist them in the database.
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

DHI.MPC.Engine Namespace


ResultHandler Constructor

Initializes a new instance of the ResultHandler class.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public ResultHandler(
    IUpdatableTimeSeriesRepository<string, double> repository,
    string resultsDirectory,
    TimeSpan dt
)
Public Sub New (
    repository As IUpdatableTimeSeriesRepository(Of String, Double),
    resultsDirectory As String,
    dt As TimeSpan
)
public:
ResultHandler(
    IUpdatableTimeSeriesRepository<String^, double>^ repository,
    String^ resultsDirectory,
    TimeSpan dt
)

Parameters

repository
Type: IUpdatableTimeSeriesRepositoryString, Double
The time series repository.
resultsDirectory
Type: SystemString
The directory, which the MPC results are written to.
dt
Type: SystemTimeSpan
The time span.
See Also

Reference

ResultHandler Class


ResultHandler Methods

The ResultHandler type exposes the following members.

Methods
 | Name | Description
Public method | AppendMPCResult | This method appends the result of the current MPC run to the result stored in /MPCOutput/Appended/.
Public method | AppendSimulationResult | This method appends the result of the current surrogate simulation run to the result stored in /SurrogateOutput/Appended/.
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetAppendedMPCResult(DateTime, ListBuildingBlock, ListControlledFlow) | Creates all appended result time series
Public method | GetAppendedMPCResult(DateTime, ListBuildingBlock, ListControlledFlow, String) | GetAppendedMPCResult
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetMPCResult | Creates all result time series
Public method | GetMPCResultPathList | Create a list of paths to all appended result time series (in /MPCOutput/Appended/)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | SaveMPCResult | This method takes all result data series (which are assigned to the BuildingBlock and ControlledFlow business objects) and persist them in the database.
Public method | SaveSimulationResult | This method takes all result data series (which are assigned to the model building blocks) and persist them in the database.
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

ResultHandler Class


ResultHandler.AppendMPCResult Method

ResultHandlerAppendMPCResult Method

This method appends the result of the current MPC run to the result stored in /MPCOutput/Appended/.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public void AppendMPCResult(
    DateTime tof,
    List<BuildingBlock> buildingBlockList,
    List<ControlledFlow> controlledFlowList
)
Public Sub AppendMPCResult (
    tof As DateTime,
    buildingBlockList As List(Of BuildingBlock),
    controlledFlowList As List(Of ControlledFlow)
)
public:
void AppendMPCResult(
    DateTime tof,
    List<BuildingBlock^>^ buildingBlockList,
    List<ControlledFlow^>^ controlledFlowList
)

Parameters

tof
Type: SystemDateTime
Time of forecast.
buildingBlockList
Type: System.Collections.GenericListBuildingBlock
The list of model blocks. Each model block has access to its own results.
controlledFlowList
Type: System.Collections.GenericListControlledFlow
The list that holds the calculated controls/decisions.
See Also

Reference

ResultHandler Class


ResultHandler.AppendSimulationResult Method

ResultHandlerAppendSimulationResult Method

This method appends the result of the current surrogate simulation run to the result stored in /SurrogateOutput/Appended/.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public void AppendSimulationResult(
    DateTime tof,
    List<BuildingBlock> buildingBlockList
)
Public Sub AppendSimulationResult (
    tof As DateTime,
    buildingBlockList As List(Of BuildingBlock)
)
public:
void AppendSimulationResult(
    DateTime tof,
    List<BuildingBlock^>^ buildingBlockList
)

Parameters

tof
Type: SystemDateTime
Time of forecast.
buildingBlockList
Type: System.Collections.GenericListBuildingBlock
The list of model blocks. Each model block has access to its own results.
See Also

Reference

ResultHandler Class


ResultHandler.GetAppendedMPCResult Method

ResultHandlerGetAppendedMPCResult Method

Overload List
 | Name | Description
Public method | GetAppendedMPCResult(DateTime, ListBuildingBlock, ListControlledFlow) | Creates all appended result time series
Public method | GetAppendedMPCResult(DateTime, ListBuildingBlock, ListControlledFlow, String) | GetAppendedMPCResult
Top
See Also

Reference

ResultHandler Class


ResultHandler.GetAppendedMPCResult Method (DateTime, List(BuildingBlock), List(ControlledFlow))

ResultHandlerGetAppendedMPCResult Method (DateTime, ListBuildingBlock, ListControlledFlow)

Creates all appended result time series

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public IList<TimeSeries<string, double>> GetAppendedMPCResult(
    DateTime tof,
    List<BuildingBlock> buildingBlockList,
    List<ControlledFlow> controlledFlowList
)
Public Function GetAppendedMPCResult (
    tof As DateTime,
    buildingBlockList As List(Of BuildingBlock),
    controlledFlowList As List(Of ControlledFlow)
) As IList(Of TimeSeries(Of String, Double))
public:
IList<TimeSeries<String^, double>^>^ GetAppendedMPCResult(
    DateTime tof,
    List<BuildingBlock^>^ buildingBlockList,
    List<ControlledFlow^>^ controlledFlowList
)

Parameters

tof
Type: SystemDateTime

[Missing <param name="tof"/> documentation for "M:DHI.MPC.Engine.ResultHandler.GetAppendedMPCResult(System.DateTime,System.Collections.Generic.List{DHI.MPC.Engine.BuildingBlock},System.Collections.Generic.List{DHI.MPC.Engine.ControlledFlow})"]

buildingBlockList
Type: System.Collections.GenericListBuildingBlock

[Missing <param name="buildingBlockList"/> documentation for "M:DHI.MPC.Engine.ResultHandler.GetAppendedMPCResult(System.DateTime,System.Collections.Generic.List{DHI.MPC.Engine.BuildingBlock},System.Collections.Generic.List{DHI.MPC.Engine.ControlledFlow})"]

controlledFlowList
Type: System.Collections.GenericListControlledFlow

[Missing <param name="controlledFlowList"/> documentation for "M:DHI.MPC.Engine.ResultHandler.GetAppendedMPCResult(System.DateTime,System.Collections.Generic.List{DHI.MPC.Engine.BuildingBlock},System.Collections.Generic.List{DHI.MPC.Engine.ControlledFlow})"]

Return Value

Type: IListTimeSeriesString, Double

[Missing <returns> documentation for "M:DHI.MPC.Engine.ResultHandler.GetAppendedMPCResult(System.DateTime,System.Collections.Generic.List{DHI.MPC.Engine.BuildingBlock},System.Collections.Generic.List{DHI.MPC.Engine.ControlledFlow})"]

See Also

Reference

ResultHandler Class
GetAppendedMPCResult Overload


ResultHandler.GetAppendedMPCResult Method (DateTime, List(BuildingBlock), List(ControlledFlow), String)

ResultHandlerGetAppendedMPCResult Method (DateTime, ListBuildingBlock, ListControlledFlow, String)

GetAppendedMPCResult

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public IList<TimeSeries<string, double>> GetAppendedMPCResult(
    DateTime tof,
    List<BuildingBlock> buildingBlocks,
    List<ControlledFlow> controlledFlows,
    string group
)
Public Function GetAppendedMPCResult (
    tof As DateTime,
    buildingBlocks As List(Of BuildingBlock),
    controlledFlows As List(Of ControlledFlow),
    group As String
) As IList(Of TimeSeries(Of String, Double))
public:
IList<TimeSeries<String^, double>^>^ GetAppendedMPCResult(
    DateTime tof,
    List<BuildingBlock^>^ buildingBlocks,
    List<ControlledFlow^>^ controlledFlows,
    String^ group
)

Parameters

tof
Type: SystemDateTime

[Missing <param name="tof"/> documentation for "M:DHI.MPC.Engine.ResultHandler.GetAppendedMPCResult(System.DateTime,System.Collections.Generic.List{DHI.MPC.Engine.BuildingBlock},System.Collections.Generic.List{DHI.MPC.Engine.ControlledFlow},System.String)"]

buildingBlocks
Type: System.Collections.GenericListBuildingBlock

[Missing <param name="buildingBlocks"/> documentation for "M:DHI.MPC.Engine.ResultHandler.GetAppendedMPCResult(System.DateTime,System.Collections.Generic.List{DHI.MPC.Engine.BuildingBlock},System.Collections.Generic.List{DHI.MPC.Engine.ControlledFlow},System.String)"]

controlledFlows
Type: System.Collections.GenericListControlledFlow

[Missing <param name="controlledFlows"/> documentation for "M:DHI.MPC.Engine.ResultHandler.GetAppendedMPCResult(System.DateTime,System.Collections.Generic.List{DHI.MPC.Engine.BuildingBlock},System.Collections.Generic.List{DHI.MPC.Engine.ControlledFlow},System.String)"]

group
Type: SystemString

[Missing <param name="group"/> documentation for "M:DHI.MPC.Engine.ResultHandler.GetAppendedMPCResult(System.DateTime,System.Collections.Generic.List{DHI.MPC.Engine.BuildingBlock},System.Collections.Generic.List{DHI.MPC.Engine.ControlledFlow},System.String)"]

Return Value

Type: IListTimeSeriesString, Double

[Missing <returns> documentation for "M:DHI.MPC.Engine.ResultHandler.GetAppendedMPCResult(System.DateTime,System.Collections.Generic.List{DHI.MPC.Engine.BuildingBlock},System.Collections.Generic.List{DHI.MPC.Engine.ControlledFlow},System.String)"]

See Also

Reference

ResultHandler Class
GetAppendedMPCResult Overload


ResultHandler.GetMPCResult Method

ResultHandlerGetMPCResult Method

Creates all result time series

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public IList<TimeSeries<string, double>> GetMPCResult(
    DateTime tof,
    List<BuildingBlock> buildingBlockList,
    List<ControlledFlow> controlledFlowList
)
Public Function GetMPCResult (
    tof As DateTime,
    buildingBlockList As List(Of BuildingBlock),
    controlledFlowList As List(Of ControlledFlow)
) As IList(Of TimeSeries(Of String, Double))
public:
IList<TimeSeries<String^, double>^>^ GetMPCResult(
    DateTime tof,
    List<BuildingBlock^>^ buildingBlockList,
    List<ControlledFlow^>^ controlledFlowList
)

Parameters

tof
Type: SystemDateTime

[Missing <param name="tof"/> documentation for "M:DHI.MPC.Engine.ResultHandler.GetMPCResult(System.DateTime,System.Collections.Generic.List{DHI.MPC.Engine.BuildingBlock},System.Collections.Generic.List{DHI.MPC.Engine.ControlledFlow})"]

buildingBlockList
Type: System.Collections.GenericListBuildingBlock

[Missing <param name="buildingBlockList"/> documentation for "M:DHI.MPC.Engine.ResultHandler.GetMPCResult(System.DateTime,System.Collections.Generic.List{DHI.MPC.Engine.BuildingBlock},System.Collections.Generic.List{DHI.MPC.Engine.ControlledFlow})"]

controlledFlowList
Type: System.Collections.GenericListControlledFlow

[Missing <param name="controlledFlowList"/> documentation for "M:DHI.MPC.Engine.ResultHandler.GetMPCResult(System.DateTime,System.Collections.Generic.List{DHI.MPC.Engine.BuildingBlock},System.Collections.Generic.List{DHI.MPC.Engine.ControlledFlow})"]

Return Value

Type: IListTimeSeriesString, Double

[Missing <returns> documentation for "M:DHI.MPC.Engine.ResultHandler.GetMPCResult(System.DateTime,System.Collections.Generic.List{DHI.MPC.Engine.BuildingBlock},System.Collections.Generic.List{DHI.MPC.Engine.ControlledFlow})"]

See Also

Reference

ResultHandler Class


ResultHandler.GetMPCResultPathList Method

ResultHandlerGetMPCResultPathList Method

Create a list of paths to all appended result time series (in /MPCOutput/Appended/)

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public IList<string> GetMPCResultPathList(
    List<BuildingBlock> buildingBlockList,
    List<ControlledFlow> controlledFlowList
)
Public Function GetMPCResultPathList (
    buildingBlockList As List(Of BuildingBlock),
    controlledFlowList As List(Of ControlledFlow)
) As IList(Of String)
public:
IList<String^>^ GetMPCResultPathList(
    List<BuildingBlock^>^ buildingBlockList,
    List<ControlledFlow^>^ controlledFlowList
)

Parameters

buildingBlockList
Type: System.Collections.GenericListBuildingBlock
List of building blocks
controlledFlowList
Type: System.Collections.GenericListControlledFlow
List of manipulated flows.

Return Value

Type: IListString
A list of paths to all result time series.
See Also

Reference

ResultHandler Class


ResultHandler.SaveMPCResult Method

ResultHandlerSaveMPCResult Method

This method takes all result data series (which are assigned to the BuildingBlock and ControlledFlow business objects) and persist them in the database.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public void SaveMPCResult(
    DateTime tof,
    List<BuildingBlock> buildingBlockList,
    List<ControlledFlow> controlledFlowList
)
Public Sub SaveMPCResult (
    tof As DateTime,
    buildingBlockList As List(Of BuildingBlock),
    controlledFlowList As List(Of ControlledFlow)
)
public:
void SaveMPCResult(
    DateTime tof,
    List<BuildingBlock^>^ buildingBlockList,
    List<ControlledFlow^>^ controlledFlowList
)

Parameters

tof
Type: SystemDateTime
Time of forecast.
buildingBlockList
Type: System.Collections.GenericListBuildingBlock
The list of model blocks. Each model block has access to its own results.
controlledFlowList
Type: System.Collections.GenericListControlledFlow
The list that holds the calculated controls/decisions.
See Also

Reference

ResultHandler Class


ResultHandler.SaveSimulationResult Method

ResultHandlerSaveSimulationResult Method

This method takes all result data series (which are assigned to the model building blocks) and persist them in the database.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public void SaveSimulationResult(
    DateTime tof,
    List<BuildingBlock> buildingBlockList
)
Public Sub SaveSimulationResult (
    tof As DateTime,
    buildingBlockList As List(Of BuildingBlock)
)
public:
void SaveSimulationResult(
    DateTime tof,
    List<BuildingBlock^>^ buildingBlockList
)

Parameters

tof
Type: SystemDateTime
Time of forecast.
buildingBlockList
Type: System.Collections.GenericListBuildingBlock
The list of model blocks. Each model block has access to its own results.
See Also

Reference

ResultHandler Class


ResultInfo Class

Class for holding information that shall be passed on to the Time Series Manager when crating the result time series
Inheritance Hierarchy
SystemObject
DHI.MPC.EngineResultInfo

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public class ResultInfo
Public Class ResultInfo
public ref class ResultInfo

The ResultInfo type exposes the following members.

Constructors
 | Name | Description
Public method | ResultInfo | Initializes an instance of the ResultInfo class.
Top
Properties
 | Name | Description
Public property | TsName | Gets or sets the name of the time series, as it will be displayed in the Time Series Manager
Public property | TsPath | Gets or sets the name of the relative part of the path. That means the path below the main result directory.
Public property | YAxisVariable | Gets the identifying name of the yAxisVariable, to be used when creating the time series. This has to be a name that is recognised by the Time Series Manager. The Time Series Manager will use the default SI unit for a variable of this type (e.g. m^3/s for "Discharge" and "m" for "Water Level")
Top
Methods
 | Name | Description
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

DHI.MPC.Engine Namespace


ResultInfo Constructor

Initializes an instance of the ResultInfo class.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public ResultInfo(
    string tsName,
    string tsPath,
    string yAxisVariable
)
Public Sub New (
    tsName As String,
    tsPath As String,
    yAxisVariable As String
)
public:
ResultInfo(
    String^ tsName,
    String^ tsPath,
    String^ yAxisVariable
)

Parameters

tsName
Type: SystemString
The name of the time series, as it will be displayed in the Time Series Manager. This can be changed after initialisation.
tsPath
Type: SystemString
Path in MIKE CUSTOMISED's time series manager.
yAxisVariable
Type: SystemString
the name of the yAxisVariable. This cannot be changed after initialisation.
See Also

Reference

ResultInfo Class


ResultInfo Properties

The ResultInfo type exposes the following members.

Properties
 | Name | Description
Public property | TsName | Gets or sets the name of the time series, as it will be displayed in the Time Series Manager
Public property | TsPath | Gets or sets the name of the relative part of the path. That means the path below the main result directory.
Public property | YAxisVariable | Gets the identifying name of the yAxisVariable, to be used when creating the time series. This has to be a name that is recognised by the Time Series Manager. The Time Series Manager will use the default SI unit for a variable of this type (e.g. m^3/s for "Discharge" and "m" for "Water Level")
Top
See Also

Reference

ResultInfo Class


ResultInfo.TsName Property

ResultInfoTsName Property

Gets or sets the name of the time series, as it will be displayed in the Time Series Manager

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public string TsName { get; set; }
Public Property TsName As String
    Get
    Set
public:
property String^ TsName {
    String^ get ();
    void set (String^ value);
}

Property Value

Type: String
See Also

Reference

ResultInfo Class


ResultInfo.TsPath Property

ResultInfoTsPath Property

Gets or sets the name of the relative part of the path. That means the path below the main result directory.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public string TsPath { get; set; }
Public Property TsPath As String
    Get
    Set
public:
property String^ TsPath {
    String^ get ();
    void set (String^ value);
}

Property Value

Type: String
See Also

Reference

ResultInfo Class


ResultInfo.YAxisVariable Property

ResultInfoYAxisVariable Property

Gets the identifying name of the yAxisVariable, to be used when creating the time series. This has to be a name that is recognised by the Time Series Manager. The Time Series Manager will use the default SI unit for a variable of this type (e.g. m^3/s for "Discharge" and "m" for "Water Level")

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public string YAxisVariable { get; }
Public ReadOnly Property YAxisVariable As String
    Get
public:
property String^ YAxisVariable {
    String^ get ();
}

Property Value

Type: String
See Also

Reference

ResultInfo Class


ResultInfo Methods

The ResultInfo type exposes the following members.

Methods
 | Name | Description
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

ResultInfo Class


SlackFlow Class

Class for holding information about a flow that is represented as a slack variable in the state space model. Primarily used to pick up the result, i.e. the optimised control input.
Inheritance Hierarchy
SystemObject
DHI.MPC.EngineSlackFlow

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public class SlackFlow
Public Class SlackFlow
public ref class SlackFlow

The SlackFlow type exposes the following members.

Constructors
 | Name | Description
Public method | SlackFlow | Initializes an instance of the SlackFlow class
Top
Properties
 | Name | Description
Public property | Result | Gets the result. The "result" is the slack variable values calculated by the optimisation.
Top
Methods
 | Name | Description
Public method | AssignResult | Assign values to the result record.
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

DHI.MPC.Engine Namespace


SlackFlow Constructor

Initializes an instance of the SlackFlow class

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public SlackFlow(
    Guid buildingBlockId
)
Public Sub New (
    buildingBlockId As Guid
)
public:
SlackFlow(
    Guid buildingBlockId
)

Parameters

buildingBlockId
Type: SystemGuid
The building block, which the slack flow belongs to
See Also

Reference

SlackFlow Class


SlackFlow Properties

The SlackFlow type exposes the following members.

Properties
 | Name | Description
Public property | Result | Gets the result. The "result" is the slack variable values calculated by the optimisation.
Top
See Also

Reference

SlackFlow Class


SlackFlow.Result Property

SlackFlowResult Property

Gets the result. The "result" is the slack variable values calculated by the optimisation.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public Result Result { get; }
Public ReadOnly Property Result As Result
    Get
public:
property Result^ Result {
    Result^ get ();
}

Property Value

Type: Result
See Also

Reference

SlackFlow Class


SlackFlow Methods

The SlackFlow type exposes the following members.

Methods
 | Name | Description
Public method | AssignResult | Assign values to the result record.
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

SlackFlow Class


SlackFlow.AssignResult Method

SlackFlowAssignResult Method

Assign values to the result record.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public void AssignResult(
    double[] slackVector
)
Public Sub AssignResult (
    slackVector As Double()
)
public:
void AssignResult(
    array<double>^ slackVector
)

Parameters

slackVector
Type: SystemDouble
Slack variable values calculated by the optimisation
See Also

Reference

SlackFlow Class


SparseMatrixExtension Class

Class for defining extensions for concatenation to Extreme.Mathematics' SparseMatrix.
Inheritance Hierarchy
SystemObject
DHI.MPC.EngineSparseMatrixExtension

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public static class SparseMatrixExtension
<ExtensionAttribute>
Public NotInheritable Class SparseMatrixExtension
[ExtensionAttribute]
public ref class SparseMatrixExtension abstract sealed

The SparseMatrixExtension type exposes the following members.

Methods
Name | Description
ConcatC | "Diagonal" Concatenation of two matrices "corner-2-corner". The matrices need not be quadratic.
ConcatD | Diagonal concatenation of two quadratic matrices "corner to corner" and fill zeros outside of the block diagonal. Use this method when it should be checked that the matrices are quadratic. Diagonal concatenation of two non-quadratic matrices can be performed by ConcatC(SparseMatrix, SparseMatrix).
ConcatH | Horizontal concatenation of sparse matrices.
ConcatV | Vertical concatenation of sparse matrices
Top
See Also

Reference

DHI.MPC.Engine Namespace


SparseMatrixExtension Methods

The SparseMatrixExtension type exposes the following members.

Methods
Name | Description
ConcatC | "Diagonal" Concatenation of two matrices "corner-2-corner". The matrices need not be quadratic.
ConcatD | Diagonal concatenation of two quadratic matrices "corner to corner" and fill zeros outside of the block diagonal. Use this method when it should be checked that the matrices are quadratic. Diagonal concatenation of two non-quadratic matrices can be performed by ConcatC(SparseMatrix, SparseMatrix).
ConcatH | Horizontal concatenation of sparse matrices.
ConcatV | Vertical concatenation of sparse matrices
Top
See Also

Reference

SparseMatrixExtension Class


SparseMatrixExtension.ConcatC Method

SparseMatrixExtensionConcatC Method

"Diagonal" Concatenation of two matrices "corner-2-corner". The matrices need not be quadratic.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public static SparseMatrix ConcatC(
    this SparseMatrix x,
    SparseMatrix y
)
<ExtensionAttribute>
Public Shared Function ConcatC (
    x As SparseMatrix,
    y As SparseMatrix
) As SparseMatrix
public:
[ExtensionAttribute]
static SparseMatrix^ ConcatC(
    SparseMatrix^ x,
    SparseMatrix^ y
)

Parameters

x
Type: SparseMatrix
y
Type: SparseMatrix

Return Value

Type: SparseMatrix

[Missing <returns> documentation for "M:DHI.MPC.Engine.SparseMatrixExtension.ConcatC(Extreme.Mathematics.LinearAlgebra.SparseMatrix,Extreme.Mathematics.LinearAlgebra.SparseMatrix)"]

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type SparseMatrix. When you use instance method syntax to call this method, omit the first parameter. For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).
See Also

Reference

SparseMatrixExtension Class


SparseMatrixExtension.ConcatD Method

SparseMatrixExtensionConcatD Method

Diagonal concatenation of two quadratic matrices "corner to corner" and fill zeros outside of the block diagonal. Use this method when it should be checked that the matrices are quadratic. Diagonal concatenation of two non-quadratic matrices can be performed by ConcatC(SparseMatrix, SparseMatrix).

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public static SparseMatrix ConcatD(
    this SparseMatrix x,
    SparseMatrix y
)
<ExtensionAttribute>
Public Shared Function ConcatD (
    x As SparseMatrix,
    y As SparseMatrix
) As SparseMatrix
public:
[ExtensionAttribute]
static SparseMatrix^ ConcatD(
    SparseMatrix^ x,
    SparseMatrix^ y
)

Parameters

x
Type: SparseMatrix
A quadratic matrix.
y
Type: SparseMatrix
A quadratic matrix.

Return Value

Type: SparseMatrix

[Missing <returns> documentation for "M:DHI.MPC.Engine.SparseMatrixExtension.ConcatD(Extreme.Mathematics.LinearAlgebra.SparseMatrix,Extreme.Mathematics.LinearAlgebra.SparseMatrix)"]

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type SparseMatrix. When you use instance method syntax to call this method, omit the first parameter. For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).
See Also

Reference

SparseMatrixExtension Class


SparseMatrixExtension.ConcatH Method

SparseMatrixExtensionConcatH Method

Horizontal concatenation of sparse matrices.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public static SparseMatrix ConcatH(
    this SparseMatrix x,
    SparseMatrix y
)
<ExtensionAttribute>
Public Shared Function ConcatH (
    x As SparseMatrix,
    y As SparseMatrix
) As SparseMatrix
public:
[ExtensionAttribute]
static SparseMatrix^ ConcatH(
    SparseMatrix^ x,
    SparseMatrix^ y
)

Parameters

x
Type: SparseMatrix
y
Type: SparseMatrix

Return Value

Type: SparseMatrix

[Missing <returns> documentation for "M:DHI.MPC.Engine.SparseMatrixExtension.ConcatH(Extreme.Mathematics.LinearAlgebra.SparseMatrix,Extreme.Mathematics.LinearAlgebra.SparseMatrix)"]

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type SparseMatrix. When you use instance method syntax to call this method, omit the first parameter. For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).
See Also

Reference

SparseMatrixExtension Class


SparseMatrixExtension.ConcatV Method

SparseMatrixExtensionConcatV Method

Vertical concatenation of sparse matrices

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public static SparseMatrix ConcatV(
    this SparseMatrix x,
    SparseMatrix y
)
<ExtensionAttribute>
Public Shared Function ConcatV (
    x As SparseMatrix,
    y As SparseMatrix
) As SparseMatrix
public:
[ExtensionAttribute]
static SparseMatrix^ ConcatV(
    SparseMatrix^ x,
    SparseMatrix^ y
)

Parameters

x
Type: SparseMatrix
y
Type: SparseMatrix

Return Value

Type: SparseMatrix

[Missing <returns> documentation for "M:DHI.MPC.Engine.SparseMatrixExtension.ConcatV(Extreme.Mathematics.LinearAlgebra.SparseMatrix,Extreme.Mathematics.LinearAlgebra.SparseMatrix)"]

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type SparseMatrix. When you use instance method syntax to call this method, omit the first parameter. For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).
See Also

Reference

SparseMatrixExtension Class


TargetData Class

Generic class for holding target data for a building block whose data is kept in a BlockData object. The target is what the block's output is aimed at - e.g. target level for a reservoir or target flow for a reach.
Inheritance Hierarchy
SystemObject
DHI.MPC.EngineTargetData

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
[SerializableAttribute]
public class TargetData
<SerializableAttribute>
Public Class TargetData
[SerializableAttribute]
public ref class TargetData

The TargetData type exposes the following members.

Constructors
 | Name | Description
Public method | TargetData | Initializes a new instance of the TargetData class
Top
Properties
 | Name | Description
Public property | BlockId | Gets or sets the Id of the BlockData that this target apply to
Public property | PenaltyTsId | Gets or sets a time-varying weight on the penalty on target deviations. If PenaltyTsId is set (i.e. not an empty string), it will override the constant value assigned to PenaltyValue.
Public property | PenaltyValue | Gets or sets the weight on the penalty on target deviations. This will enforce a constant penalty in all time steps. If a time-varying penalty is specified in PenaltyTsId, this overrides the constant value set here.
Public property | TargetTsId | Gets or sets a time-varying target for the output of the BlockData that BlockId points to. If TargetTsId is set (i.e. not an empty string), it will override the constant value assigned to TargetValue.
Public property | TargetValue | Gets or sets a constant target value for the output of the BlockData. For a ReservoirData block the level can be a target; for ReachData block, the outflow can be a target. If a time-varying target is set in TargetTsId, this overrides the constant value set here.
Top
Methods
 | Name | Description
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

DHI.MPC.Engine Namespace


TargetData Constructor

Initializes a new instance of the TargetData class

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public TargetData()
Public Sub New
public:
TargetData()
See Also

Reference

TargetData Class


TargetData Properties

The TargetData type exposes the following members.

Properties
 | Name | Description
Public property | BlockId | Gets or sets the Id of the BlockData that this target apply to
Public property | PenaltyTsId | Gets or sets a time-varying weight on the penalty on target deviations. If PenaltyTsId is set (i.e. not an empty string), it will override the constant value assigned to PenaltyValue.
Public property | PenaltyValue | Gets or sets the weight on the penalty on target deviations. This will enforce a constant penalty in all time steps. If a time-varying penalty is specified in PenaltyTsId, this overrides the constant value set here.
Public property | TargetTsId | Gets or sets a time-varying target for the output of the BlockData that BlockId points to. If TargetTsId is set (i.e. not an empty string), it will override the constant value assigned to TargetValue.
Public property | TargetValue | Gets or sets a constant target value for the output of the BlockData. For a ReservoirData block the level can be a target; for ReachData block, the outflow can be a target. If a time-varying target is set in TargetTsId, this overrides the constant value set here.
Top
See Also

Reference

TargetData Class


TargetData.BlockId Property

TargetDataBlockId Property

Gets or sets the Id of the BlockData that this target apply to

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public Guid BlockId { get; set; }
Public Property BlockId As Guid
    Get
    Set
public:
property Guid BlockId {
    Guid get ();
    void set (Guid value);
}

Property Value

Type: Guid
See Also

Reference

TargetData Class


TargetData.PenaltyTsId Property

TargetDataPenaltyTsId Property

Gets or sets a time-varying weight on the penalty on target deviations. If PenaltyTsId is set (i.e. not an empty string), it will override the constant value assigned to PenaltyValue.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public string PenaltyTsId { get; set; }
Public Property PenaltyTsId As String
    Get
    Set
public:
property String^ PenaltyTsId {
    String^ get ();
    void set (String^ value);
}

Property Value

Type: String
See Also

Reference

TargetData Class


TargetData.PenaltyValue Property

TargetDataPenaltyValue Property

Gets or sets the weight on the penalty on target deviations. This will enforce a constant penalty in all time steps. If a time-varying penalty is specified in PenaltyTsId, this overrides the constant value set here.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public double PenaltyValue { get; set; }
Public Property PenaltyValue As Double
    Get
    Set
public:
property double PenaltyValue {
    double get ();
    void set (double value);
}

Property Value

Type: Double
See Also

Reference

TargetData Class


TargetData.TargetTsId Property

TargetDataTargetTsId Property

Gets or sets a time-varying target for the output of the BlockData that BlockId points to. If TargetTsId is set (i.e. not an empty string), it will override the constant value assigned to TargetValue.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public string TargetTsId { get; set; }
Public Property TargetTsId As String
    Get
    Set
public:
property String^ TargetTsId {
    String^ get ();
    void set (String^ value);
}

Property Value

Type: String
See Also

Reference

TargetData Class


TargetData.TargetValue Property

TargetDataTargetValue Property

Gets or sets a constant target value for the output of the BlockData. For a ReservoirData block the level can be a target; for ReachData block, the outflow can be a target. If a time-varying target is set in TargetTsId, this overrides the constant value set here.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public double TargetValue { get; set; }
Public Property TargetValue As Double
    Get
    Set
public:
property double TargetValue {
    double get ();
    void set (double value);
}

Property Value

Type: Double
See Also

Reference

TargetData Class


TargetData Methods

The TargetData type exposes the following members.

Methods
 | Name | Description
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

TargetData Class


TimeSeries Class

Time series class.
Inheritance Hierarchy
SystemObject
BaseEntityString
BaseNamedEntityString
BaseGroupedEntityString
TimeSeriesString, Double
DHI.MPC.EngineTimeSeries

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public class TimeSeries : TimeSeries<string, double>
Public Class TimeSeries
    Inherits TimeSeries(Of String, Double)
public ref class TimeSeries : public TimeSeries<String^, double>

The TimeSeries type exposes the following members.

Constructors
 | Name | Description
Public method | TimeSeries(String) | Initializes a new instance of the TimeSeries class.
Public method | TimeSeries(String, IDictionaryDateTime, NullableDouble) | Initializes a new instance of the TimeSeries class.
Public method | TimeSeries(String, String, ITimeSeriesDataDouble) | Initializes a new instance of the TimeSeries class.
Public method | TimeSeries(String, String, DictionaryDateTime, Double) | Initializes a new instance of the TimeSeries class from a dictionary in specific group.
Public method | TimeSeries(String, String, IDictionaryDateTime, NullableDouble) | Initializes a new instance of the TimeSeries class from a IDictionary in specific group.
Top
Properties
 | Name | Description
Public property | Data | (Inherited from TimeSeriesString, Double.)
Public property | DataType | (Inherited from TimeSeriesString, Double.)
Public property | Dimension | (Inherited from TimeSeriesString, Double.)
Public property | FullName | (Inherited from BaseGroupedEntityString.)
Public property | Group | (Inherited from BaseGroupedEntityString.)
Public property | HasValues | (Inherited from TimeSeriesString, Double.)
Public property | Id | (Inherited from BaseEntityString.)
Public property | Metadata | (Inherited from BaseEntityString.)
Public property | Name | (Inherited from BaseNamedEntityString.)
Public property | Permissions | (Inherited from BaseEntityString.)
Public property | Quantity | (Inherited from TimeSeriesString, Double.)
Public property | Unit | (Inherited from TimeSeriesString, Double.)
Top
Methods
 | Name | Description
Public method | AddPermission | (Inherited from BaseEntityString.)
Public method | AddPermissions | (Inherited from BaseEntityString.)
Public method | Clone | (Inherited from TimeSeriesString, Double.)
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Public method | IsAllowed(HashSetString, String) | (Inherited from BaseEntityString.)
Public method | IsAllowed(IEnumerableString, String) | (Inherited from BaseEntityString.)
Public method | IsAllowed(ClaimsPrincipal, String) | (Inherited from BaseEntityString.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ShouldSerializeData | (Inherited from TimeSeriesString, Double.)
Public method | ShouldSerializeMetadata | (Inherited from BaseEntityString.)
Public method | ShouldSerializePermissions | (Inherited from BaseEntityString.)
Public method | ToString | (Inherited from BaseGroupedEntityString.)
Top
Extension Methods
 | Name | Description
Public Extension Method | Scale | Multiply all entries in the time series by a factor. In case the scaling factor equals unity, the original time series is returned. (Defined by TimeSeriesExtensions.)
Top
See Also

Reference

DHI.MPC.Engine Namespace


TimeSeries Constructor

Overload List
 | Name | Description
Public method | TimeSeries(String) | Initializes a new instance of the TimeSeries class.
Public method | TimeSeries(String, IDictionaryDateTime, NullableDouble) | Initializes a new instance of the TimeSeries class.
Public method | TimeSeries(String, String, ITimeSeriesDataDouble) | Initializes a new instance of the TimeSeries class.
Public method | TimeSeries(String, String, DictionaryDateTime, Double) | Initializes a new instance of the TimeSeries class from a dictionary in specific group.
Public method | TimeSeries(String, String, IDictionaryDateTime, NullableDouble) | Initializes a new instance of the TimeSeries class from a IDictionary in specific group.
Top
See Also

Reference

TimeSeries Class


TimeSeries Constructor (String)

Initializes a new instance of the TimeSeries class.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public TimeSeries(
    string name
)
Public Sub New (
    name As String
)
public:
TimeSeries(
    String^ name
)

Parameters

name
Type: SystemString
The time series name (unique identifier).
See Also

Reference

TimeSeries Class
TimeSeries Overload


TimeSeries Constructor (String, IDictionary(DateTime, Nullable(Double)))

TimeSeries Constructor (String, IDictionaryDateTime, NullableDouble)

Initializes a new instance of the TimeSeries class.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public TimeSeries(
    string name,
    IDictionary<DateTime, Nullable<double>> values
)
Public Sub New (
    name As String,
    values As IDictionary(Of DateTime, Nullable(Of Double))
)
public:
TimeSeries(
    String^ name,
    IDictionary<DateTime, Nullable<double>>^ values
)

Parameters

name
Type: SystemString
The time series name (unique identifier).
values
Type: System.Collections.GenericIDictionaryDateTime, NullableDouble
The time series values.
See Also

Reference

TimeSeries Class
TimeSeries Overload


TimeSeries Constructor (String, String, ITimeSeriesData`1(Double))

TimeSeries Constructor (String, String, ITimeSeriesData`1Double)

Initializes a new instance of the TimeSeries class.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public TimeSeries(
    string name,
    string group,
    ITimeSeriesData<double> data = null
)
Public Sub New (
    name As String,
    group As String,
    Optional data As ITimeSeriesData(Of Double) = Nothing
)
public:
TimeSeries(
    String^ name,
    String^ group,
    ITimeSeriesData<double>^ data = nullptr
)

Parameters

name
Type: SystemString
The time series name.
group
Type: SystemString
The time series group.
data (Optional)
Type: ITimeSeriesDataDouble
The time series data.
See Also

Reference

TimeSeries Class
TimeSeries Overload


TimeSeries Constructor (String, String, Dictionary(DateTime, Double))

TimeSeries Constructor (String, String, DictionaryDateTime, Double)

Initializes a new instance of the TimeSeries class from a dictionary in specific group.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public TimeSeries(
    string name,
    string group,
    Dictionary<DateTime, double> values
)
Public Sub New (
    name As String,
    group As String,
    values As Dictionary(Of DateTime, Double)
)
public:
TimeSeries(
    String^ name,
    String^ group,
    Dictionary<DateTime, double>^ values
)

Parameters

name
Type: SystemString
group
Type: SystemString
values
Type: System.Collections.GenericDictionaryDateTime, Double
See Also

Reference

TimeSeries Class
TimeSeries Overload


TimeSeries Constructor (String, String, IDictionary(DateTime, Nullable(Double)))

TimeSeries Constructor (String, String, IDictionaryDateTime, NullableDouble)

Initializes a new instance of the TimeSeries class from a IDictionary in specific group.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public TimeSeries(
    string name,
    string group,
    IDictionary<DateTime, Nullable<double>> values
)
Public Sub New (
    name As String,
    group As String,
    values As IDictionary(Of DateTime, Nullable(Of Double))
)
public:
TimeSeries(
    String^ name,
    String^ group,
    IDictionary<DateTime, Nullable<double>>^ values
)

Parameters

name
Type: SystemString
group
Type: SystemString
values
Type: System.Collections.GenericIDictionaryDateTime, NullableDouble
See Also

Reference

TimeSeries Class
TimeSeries Overload


TimeSeries Properties

The TimeSeries type exposes the following members.

Properties
 | Name | Description
Public property | Data | (Inherited from TimeSeriesString, Double.)
Public property | DataType | (Inherited from TimeSeriesString, Double.)
Public property | Dimension | (Inherited from TimeSeriesString, Double.)
Public property | FullName | (Inherited from BaseGroupedEntityString.)
Public property | Group | (Inherited from BaseGroupedEntityString.)
Public property | HasValues | (Inherited from TimeSeriesString, Double.)
Public property | Id | (Inherited from BaseEntityString.)
Public property | Metadata | (Inherited from BaseEntityString.)
Public property | Name | (Inherited from BaseNamedEntityString.)
Public property | Permissions | (Inherited from BaseEntityString.)
Public property | Quantity | (Inherited from TimeSeriesString, Double.)
Public property | Unit | (Inherited from TimeSeriesString, Double.)
Top
See Also

Reference

TimeSeries Class


TimeSeries Methods

The TimeSeries type exposes the following members.

Methods
 | Name | Description
Public method | AddPermission | (Inherited from BaseEntityString.)
Public method | AddPermissions | (Inherited from BaseEntityString.)
Public method | Clone | (Inherited from TimeSeriesString, Double.)
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Public method | IsAllowed(HashSetString, String) | (Inherited from BaseEntityString.)
Public method | IsAllowed(IEnumerableString, String) | (Inherited from BaseEntityString.)
Public method | IsAllowed(ClaimsPrincipal, String) | (Inherited from BaseEntityString.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ShouldSerializeData | (Inherited from TimeSeriesString, Double.)
Public method | ShouldSerializeMetadata | (Inherited from BaseEntityString.)
Public method | ShouldSerializePermissions | (Inherited from BaseEntityString.)
Public method | ToString | (Inherited from BaseGroupedEntityString.)
Top
Extension Methods
 | Name | Description
Public Extension Method | Scale | Multiply all entries in the time series by a factor. In case the scaling factor equals unity, the original time series is returned. (Defined by TimeSeriesExtensions.)
Top
See Also

Reference

TimeSeries Class


TimeSeriesExtensions Class

Extension methods for TimeSeries
Inheritance Hierarchy
SystemObject
DHI.MPC.EngineTimeSeriesExtensions

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public static class TimeSeriesExtensions
<ExtensionAttribute>
Public NotInheritable Class TimeSeriesExtensions
[ExtensionAttribute]
public ref class TimeSeriesExtensions abstract sealed

The TimeSeriesExtensions type exposes the following members.

Methods
Name | Description
Scale | Multiply all entries in the time series by a factor. In case the scaling factor equals unity, the original time series is returned.
Top
See Also

Reference

DHI.MPC.Engine Namespace


TimeSeriesExtensions Methods

The TimeSeriesExtensions type exposes the following members.

Methods
Name | Description
Scale | Multiply all entries in the time series by a factor. In case the scaling factor equals unity, the original time series is returned.
Top
See Also

Reference

TimeSeriesExtensions Class


TimeSeriesExtensions.Scale Method

TimeSeriesExtensionsScale Method

Multiply all entries in the time series by a factor. In case the scaling factor equals unity, the original time series is returned.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public static TimeSeries Scale(
    this TimeSeries timeSeries,
    double factor
)
<ExtensionAttribute>
Public Shared Function Scale (
    timeSeries As TimeSeries,
    factor As Double
) As TimeSeries
public:
[ExtensionAttribute]
static TimeSeries^ Scale(
    TimeSeries^ timeSeries,
    double factor
)

Parameters

timeSeries
Type: DHI.MPC.EngineTimeSeries
The time series to be scaled.
factor
Type: SystemDouble
The scaling factor.

Return Value

Type: TimeSeries
The scaled time series.

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type TimeSeries. When you use instance method syntax to call this method, omit the first parameter. For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).
See Also

Reference

TimeSeriesExtensions Class


TimeSeriesHandler Class

Class that provides methods for handling of time series. This is an MPC-specific proxy for a MIKE Foundation Libraries time series repository.
Inheritance Hierarchy
SystemObject
DHI.MPC.EngineTimeSeriesHandler

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public class TimeSeriesHandler
Public Class TimeSeriesHandler
public ref class TimeSeriesHandler

The TimeSeriesHandler type exposes the following members.

Constructors
 | Name | Description
Public method | TimeSeriesHandler | Initialises the time series handler with the MFL repository.
Top
Methods
 | Name | Description
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | Get | Gets the raw time series in MPC.Engine's format (TimeSeries).
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetResampled | Gets a time series (in DHI.MPC.Engine format), which is extracted, re-sampled and unit converted. This method will NOT return an ensemble time series, even if tsId points to an ensemble time series.
Public method | GetResampledEnsemble | Gets an array of time series (in DHI.MPC.Engine format). The time series are extracted, re-sampled and unit converted. In case tsId points to an ensemble time series, each element in the array represents a realisation. An ensemble simulation can point to non-ensemble time series. In that case, the time series is duplicated to fill the ensemble. In the deterministic case (where tsId points to an ordinary non-ensemble time series), the array contains exactly one time series.
Public method | GetSingleValue | Extract a single value from a time series. If the time does not coincide with a time stamp in the time series, then the value of the nearest previous time stamp will be returned.
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ResampleCopy | Resample time series and return a copy with new time series name. ToDo: re-use code from _GetResampled()
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

DHI.MPC.Engine Namespace


TimeSeriesHandler Constructor

Initialises the time series handler with the MFL repository.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public TimeSeriesHandler(
    IDiscreteTimeSeriesRepository<string, double> repository
)
Public Sub New (
    repository As IDiscreteTimeSeriesRepository(Of String, Double)
)
public:
TimeSeriesHandler(
    IDiscreteTimeSeriesRepository<String^, double>^ repository
)

Parameters

repository
Type: IDiscreteTimeSeriesRepositoryString, Double
MFL time series repository.
See Also

Reference

TimeSeriesHandler Class


TimeSeriesHandler Methods

The TimeSeriesHandler type exposes the following members.

Methods
 | Name | Description
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | Get | Gets the raw time series in MPC.Engine's format (TimeSeries).
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetResampled | Gets a time series (in DHI.MPC.Engine format), which is extracted, re-sampled and unit converted. This method will NOT return an ensemble time series, even if tsId points to an ensemble time series.
Public method | GetResampledEnsemble | Gets an array of time series (in DHI.MPC.Engine format). The time series are extracted, re-sampled and unit converted. In case tsId points to an ensemble time series, each element in the array represents a realisation. An ensemble simulation can point to non-ensemble time series. In that case, the time series is duplicated to fill the ensemble. In the deterministic case (where tsId points to an ordinary non-ensemble time series), the array contains exactly one time series.
Public method | GetSingleValue | Extract a single value from a time series. If the time does not coincide with a time stamp in the time series, then the value of the nearest previous time stamp will be returned.
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ResampleCopy | Resample time series and return a copy with new time series name. ToDo: re-use code from _GetResampled()
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

TimeSeriesHandler Class


TimeSeriesHandler.Get Method

TimeSeriesHandlerGet Method

Gets the raw time series in MPC.Engine's format (TimeSeries).

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public TimeSeries Get(
    string tsId
)
Public Function Get (
    tsId As String
) As TimeSeries
public:
TimeSeries^ Get(
    String^ tsId
)

Parameters

tsId
Type: SystemString
Identifier of the time series.

Return Value

Type: TimeSeries
A time series in MPC.Engine's format
See Also

Reference

TimeSeriesHandler Class


TimeSeriesHandler.GetResampled Method

TimeSeriesHandlerGetResampled Method

Gets a time series (in DHI.MPC.Engine format), which is extracted, re-sampled and unit converted. This method will NOT return an ensemble time series, even if tsId points to an ensemble time series.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public TimeSeries GetResampled(
    string tsId,
    DateTime startDate,
    DateTime endDate,
    TimeSpan targetTimeStep,
    Unit targetUnit = null,
    string group = null
)
Public Function GetResampled (
    tsId As String,
    startDate As DateTime,
    endDate As DateTime,
    targetTimeStep As TimeSpan,
    Optional targetUnit As Unit = Nothing,
    Optional group As String = Nothing
) As TimeSeries
public:
TimeSeries^ GetResampled(
    String^ tsId,
    DateTime startDate,
    DateTime endDate,
    TimeSpan targetTimeStep,
    Unit^ targetUnit = nullptr,
    String^ group = nullptr
)

Parameters

tsId
Type: SystemString
Identifier of the time series.
startDate
Type: SystemDateTime
Start date of extraction period.
endDate
Type: SystemDateTime
End date of extraction period.
targetTimeStep
Type: SystemTimeSpan
Re-sampling time step.
targetUnit (Optional)
Type: Unit
Converted to this unit(optional).
group (Optional)
Type: SystemString
.

Return Value

Type: TimeSeries
Returns an extracted, re-sampled, unit-converted time series in DHI.MPC.Engine's time series format.
See Also

Reference

TimeSeriesHandler Class


TimeSeriesHandler.GetResampledEnsemble Method

TimeSeriesHandlerGetResampledEnsemble Method

Gets an array of time series (in DHI.MPC.Engine format). The time series are extracted, re-sampled and unit converted. In case tsId points to an ensemble time series, each element in the array represents a realisation. An ensemble simulation can point to non-ensemble time series. In that case, the time series is duplicated to fill the ensemble. In the deterministic case (where tsId points to an ordinary non-ensemble time series), the array contains exactly one time series.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public TimeSeries[] GetResampledEnsemble(
    string tsId,
    int ensembleSize,
    DateTime startDate,
    DateTime endDate,
    TimeSpan targetTimeStep,
    Unit targetUnit = null
)
Public Function GetResampledEnsemble (
    tsId As String,
    ensembleSize As Integer,
    startDate As DateTime,
    endDate As DateTime,
    targetTimeStep As TimeSpan,
    Optional targetUnit As Unit = Nothing
) As TimeSeries()
public:
array<TimeSeries^>^ GetResampledEnsemble(
    String^ tsId,
    int ensembleSize,
    DateTime startDate,
    DateTime endDate,
    TimeSpan targetTimeStep,
    Unit^ targetUnit = nullptr
)

Parameters

tsId
Type: SystemString
Identifier of the time series.
ensembleSize
Type: SystemInt32
Number of realisations in the simulation. The number of members in the time series will be checked against ensembleSize.
startDate
Type: SystemDateTime
Start date of extraction period.
endDate
Type: SystemDateTime
End date of extraction period.
targetTimeStep
Type: SystemTimeSpan
Re-sampling time step.
targetUnit (Optional)
Type: Unit
Converted to this unit(optional).

Return Value

Type: TimeSeries
Returns an array of extracted, re-sampled, unit-converted time series in DHI.MPC.Engine's time series format. This array represents an ensemble of time series.
See Also

Reference

TimeSeriesHandler Class


TimeSeriesHandler.GetSingleValue Method

TimeSeriesHandlerGetSingleValue Method

Extract a single value from a time series. If the time does not coincide with a time stamp in the time series, then the value of the nearest previous time stamp will be returned.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public double GetSingleValue(
    string tsId,
    DateTime time,
    Unit targetUnit = null
)
Public Function GetSingleValue (
    tsId As String,
    time As DateTime,
    Optional targetUnit As Unit = Nothing
) As Double
public:
double GetSingleValue(
    String^ tsId,
    DateTime time,
    Unit^ targetUnit = nullptr
)

Parameters

tsId
Type: SystemString
Id of the time series
time
Type: SystemDateTime
Time stamp for extraction.
targetUnit (Optional)
Type: Unit
Convert to this unit (optional).

Return Value

Type: Double
value
See Also

Reference

TimeSeriesHandler Class


TimeSeriesHandler.ResampleCopy Method

TimeSeriesHandlerResampleCopy Method

Resample time series and return a copy with new time series name. ToDo: re-use code from _GetResampled()

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public TimeSeries ResampleCopy(
    string tsId,
    DateTime startDate,
    DateTime endDate,
    TimeSpan targetTimeStep,
    Unit targetUnit = null,
    string targetGroup = null,
    string targetName = null
)
Public Function ResampleCopy (
    tsId As String,
    startDate As DateTime,
    endDate As DateTime,
    targetTimeStep As TimeSpan,
    Optional targetUnit As Unit = Nothing,
    Optional targetGroup As String = Nothing,
    Optional targetName As String = Nothing
) As TimeSeries
public:
TimeSeries^ ResampleCopy(
    String^ tsId,
    DateTime startDate,
    DateTime endDate,
    TimeSpan targetTimeStep,
    Unit^ targetUnit = nullptr,
    String^ targetGroup = nullptr,
    String^ targetName = nullptr
)

Parameters

tsId
Type: SystemString

[Missing <param name="tsId"/> documentation for "M:DHI.MPC.Engine.TimeSeriesHandler.ResampleCopy(System.String,System.DateTime,System.DateTime,System.TimeSpan,DHI.Physics.Unit,System.String,System.String)"]

startDate
Type: SystemDateTime

[Missing <param name="startDate"/> documentation for "M:DHI.MPC.Engine.TimeSeriesHandler.ResampleCopy(System.String,System.DateTime,System.DateTime,System.TimeSpan,DHI.Physics.Unit,System.String,System.String)"]

endDate
Type: SystemDateTime

[Missing <param name="endDate"/> documentation for "M:DHI.MPC.Engine.TimeSeriesHandler.ResampleCopy(System.String,System.DateTime,System.DateTime,System.TimeSpan,DHI.Physics.Unit,System.String,System.String)"]

targetTimeStep
Type: SystemTimeSpan

[Missing <param name="targetTimeStep"/> documentation for "M:DHI.MPC.Engine.TimeSeriesHandler.ResampleCopy(System.String,System.DateTime,System.DateTime,System.TimeSpan,DHI.Physics.Unit,System.String,System.String)"]

targetUnit (Optional)
Type: Unit

[Missing <param name="targetUnit"/> documentation for "M:DHI.MPC.Engine.TimeSeriesHandler.ResampleCopy(System.String,System.DateTime,System.DateTime,System.TimeSpan,DHI.Physics.Unit,System.String,System.String)"]

targetGroup (Optional)
Type: SystemString

[Missing <param name="targetGroup"/> documentation for "M:DHI.MPC.Engine.TimeSeriesHandler.ResampleCopy(System.String,System.DateTime,System.DateTime,System.TimeSpan,DHI.Physics.Unit,System.String,System.String)"]

targetName (Optional)
Type: SystemString

[Missing <param name="targetName"/> documentation for "M:DHI.MPC.Engine.TimeSeriesHandler.ResampleCopy(System.String,System.DateTime,System.DateTime,System.TimeSpan,DHI.Physics.Unit,System.String,System.String)"]

Return Value

Type: TimeSeries

[Missing <returns> documentation for "M:DHI.MPC.Engine.TimeSeriesHandler.ResampleCopy(System.String,System.DateTime,System.DateTime,System.TimeSpan,DHI.Physics.Unit,System.String,System.String)"]

See Also

Reference

TimeSeriesHandler Class


TimeUnit Enumeration

Time unit.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public enum TimeUnit
Public Enumeration TimeUnit
public enum class TimeUnit
Members
Member name | Value | Description
Second | 0 | Use seconds as time unit
Minute | 1 | Use minutes as time unit
Hour | 2 | Use hours as time unit
Day | 3 | Use days as time unit
See Also

Reference

DHI.MPC.Engine Namespace


TsProviderHelper Class

Static class to aid the conversion between Units and (string) codes used by the time series provider in question.
Inheritance Hierarchy
SystemObject
DHI.MPC.EngineTsProviderHelper

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public static class TsProviderHelper
Public NotInheritable Class TsProviderHelper
public ref class TsProviderHelper abstract sealed

The TsProviderHelper type exposes the following members.

Methods
Name | Description
ProviderUnitToUnit | Makes a lookup that converts a unit specified in a string to the corresponding Unit. The table used for the lookup depends on the type of the repository.
QuantityToProviderQuantity | Makes a lookup that converts the text description of the quantity to the quantity code (also a string) expected by the provider.
QuantityToProviderUnit | Looks up the abbreviation string of the unit that corresponds to the quantity.
Top
See Also

Reference

DHI.MPC.Engine Namespace


TsProviderHelper Methods

The TsProviderHelper type exposes the following members.

Methods
Name | Description
ProviderUnitToUnit | Makes a lookup that converts a unit specified in a string to the corresponding Unit. The table used for the lookup depends on the type of the repository.
QuantityToProviderQuantity | Makes a lookup that converts the text description of the quantity to the quantity code (also a string) expected by the provider.
QuantityToProviderUnit | Looks up the abbreviation string of the unit that corresponds to the quantity.
Top
See Also

Reference

TsProviderHelper Class


TsProviderHelper.ProviderUnitToUnit Method

TsProviderHelperProviderUnitToUnit Method

Makes a lookup that converts a unit specified in a string to the corresponding Unit. The table used for the lookup depends on the type of the repository.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public static Unit ProviderUnitToUnit(
    IDiscreteTimeSeriesRepository<string, double> repository,
    string providerUnitString
)
Public Shared Function ProviderUnitToUnit (
    repository As IDiscreteTimeSeriesRepository(Of String, Double),
    providerUnitString As String
) As Unit
public:
static Unit^ ProviderUnitToUnit(
    IDiscreteTimeSeriesRepository<String^, double>^ repository,
    String^ providerUnitString
)

Parameters

repository
Type: IDiscreteTimeSeriesRepositoryString, Double
The time series repository.
providerUnitString
Type: SystemString
A string, which represent the unit, e.g. "m" for meter and "m^3/s" for cumecs.

Return Value

Type: Unit

[Missing <returns> documentation for "M:DHI.MPC.Engine.TsProviderHelper.ProviderUnitToUnit(DHI.Services.TimeSeries.IDiscreteTimeSeriesRepository{System.String,System.Double},System.String)"]

See Also

Reference

TsProviderHelper Class


TsProviderHelper.QuantityToProviderQuantity Method

TsProviderHelperQuantityToProviderQuantity Method

Makes a lookup that converts the text description of the quantity to the quantity code (also a string) expected by the provider.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public static string QuantityToProviderQuantity(
    IDiscreteTimeSeriesRepository<string, double> repository,
    string quantity
)
Public Shared Function QuantityToProviderQuantity (
    repository As IDiscreteTimeSeriesRepository(Of String, Double),
    quantity As String
) As String
public:
static String^ QuantityToProviderQuantity(
    IDiscreteTimeSeriesRepository<String^, double>^ repository,
    String^ quantity
)

Parameters

repository
Type: IDiscreteTimeSeriesRepositoryString, Double
The time series repository.
quantity
Type: SystemString
Text description of the quantity, e.g. "Discharge".

Return Value

Type: String

[Missing <returns> documentation for "M:DHI.MPC.Engine.TsProviderHelper.QuantityToProviderQuantity(DHI.Services.TimeSeries.IDiscreteTimeSeriesRepository{System.String,System.Double},System.String)"]

See Also

Reference

TsProviderHelper Class


TsProviderHelper.QuantityToProviderUnit Method

TsProviderHelperQuantityToProviderUnit Method

Looks up the abbreviation string of the unit that corresponds to the quantity.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public static string QuantityToProviderUnit(
    IDiscreteTimeSeriesRepository<string, double> repository,
    string quantity
)
Public Shared Function QuantityToProviderUnit (
    repository As IDiscreteTimeSeriesRepository(Of String, Double),
    quantity As String
) As String
public:
static String^ QuantityToProviderUnit(
    IDiscreteTimeSeriesRepository<String^, double>^ repository,
    String^ quantity
)

Parameters

repository
Type: IDiscreteTimeSeriesRepositoryString, Double
The time series repository.
quantity
Type: SystemString

Return Value

Type: String

[Missing <returns> documentation for "M:DHI.MPC.Engine.TsProviderHelper.QuantityToProviderUnit(DHI.Services.TimeSeries.IDiscreteTimeSeriesRepository{System.String,System.Double},System.String)"]

See Also

Reference

TsProviderHelper Class


UncontrolledLinkData Class

Class for defining uncontrolled links between model blocks
Inheritance Hierarchy
SystemObject
DHI.MPC.EngineUncontrolledLinkData

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
[SerializableAttribute]
public class UncontrolledLinkData
<SerializableAttribute>
Public Class UncontrolledLinkData
[SerializableAttribute]
public ref class UncontrolledLinkData

The UncontrolledLinkData type exposes the following members.

Constructors
 | Name | Description
Public method | UncontrolledLinkData | Initializes a new instance of the UncontrolledLinkData class
Top
Properties
 | Name | Description
Public property | InflowDataId | The recieving flow.
Public property | OutflowBlockDataId | The upstream source of an uncontrolled link. A block, which produces an outflow, which cannot be controlled.
Top
Methods
 | Name | Description
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

DHI.MPC.Engine Namespace


UncontrolledLinkData Constructor

Initializes a new instance of the UncontrolledLinkData class

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public UncontrolledLinkData()
Public Sub New
public:
UncontrolledLinkData()
See Also

Reference

UncontrolledLinkData Class


UncontrolledLinkData Properties

The UncontrolledLinkData type exposes the following members.

Properties
 | Name | Description
Public property | InflowDataId | The recieving flow.
Public property | OutflowBlockDataId | The upstream source of an uncontrolled link. A block, which produces an outflow, which cannot be controlled.
Top
See Also

Reference

UncontrolledLinkData Class


UncontrolledLinkData.InflowDataId Property

UncontrolledLinkDataInflowDataId Property

The recieving flow.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public Guid InflowDataId { get; set; }
Public Property InflowDataId As Guid
    Get
    Set
public:
property Guid InflowDataId {
    Guid get ();
    void set (Guid value);
}

Property Value

Type: Guid
See Also

Reference

UncontrolledLinkData Class


UncontrolledLinkData.OutflowBlockDataId Property

UncontrolledLinkDataOutflowBlockDataId Property

The upstream source of an uncontrolled link. A block, which produces an outflow, which cannot be controlled.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public Guid OutflowBlockDataId { get; set; }
Public Property OutflowBlockDataId As Guid
    Get
    Set
public:
property Guid OutflowBlockDataId {
    Guid get ();
    void set (Guid value);
}

Property Value

Type: Guid
See Also

Reference

UncontrolledLinkData Class


UncontrolledLinkData Methods

The UncontrolledLinkData type exposes the following members.

Methods
 | Name | Description
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

UncontrolledLinkData Class


XYLocation Class

Class to store the geographic location for the flow data. It uses a simple X,Y coordinate system.
Inheritance Hierarchy
SystemObject
DHI.MPC.EngineXYLocation

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public class XYLocation
Public Class XYLocation
public ref class XYLocation

The XYLocation type exposes the following members.

Constructors
 | Name | Description
Public method | XYLocation | Empty constructor for storing geographic location.
Public method | XYLocation(Double, Double) | Constructor. Sets the x,y geographic location.
Top
Properties
 | Name | Description
Public property | X | X position
Public property | Y | Y position
Top
Methods
 | Name | Description
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

DHI.MPC.Engine Namespace


XYLocation Constructor

Overload List
 | Name | Description
Public method | XYLocation | Empty constructor for storing geographic location.
Public method | XYLocation(Double, Double) | Constructor. Sets the x,y geographic location.
Top
See Also

Reference

XYLocation Class


XYLocation Constructor

Empty constructor for storing geographic location.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public XYLocation()
Public Sub New
public:
XYLocation()
See Also

Reference

XYLocation Class
XYLocation Overload


XYLocation Constructor (Double, Double)

Constructor. Sets the x,y geographic location.

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public XYLocation(
    double xLocation,
    double yLocation
)
Public Sub New (
    xLocation As Double,
    yLocation As Double
)
public:
XYLocation(
    double xLocation,
    double yLocation
)

Parameters

xLocation
Type: SystemDouble
x location
yLocation
Type: SystemDouble
y location
See Also

Reference

XYLocation Class
XYLocation Overload


XYLocation Properties

The XYLocation type exposes the following members.

Properties
 | Name | Description
Public property | X | X position
Public property | Y | Y position
Top
See Also

Reference

XYLocation Class


XYLocation.X Property

XYLocationX Property

X position

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public double X { get; set; }
Public Property X As Double
    Get
    Set
public:
property double X {
    double get ();
    void set (double value);
}

Property Value

Type: Double
See Also

Reference

XYLocation Class


XYLocation.Y Property

XYLocationY Property

Y position

Namespace: DHI.MPC.Engine
Assembly: DHI.MPC.Engine (in DHI.MPC.Engine.dll) Version: 6.1.6.0 (6.1.6.0)
Syntax
C#
VB
C++
Copy
public double Y { get; set; }
Public Property Y As Double
    Get
    Set
public:
property double Y {
    double get ();
    void set (double value);
}

Property Value

Type: Double
See Also

Reference

XYLocation Class


XYLocation Methods

The XYLocation type exposes the following members.

Methods
 | Name | Description
Public method | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method | GetHashCode | Serves as the default hash function. (Inherited from Object.)
Public method | GetType | Gets the Type of the current instance. (Inherited from Object.)
Protected method | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
Public method | ToString | Returns a string that represents the current object. (Inherited from Object.)
Top
See Also

Reference

XYLocation Class