DHI.Mike1D.ControlModule Namespace |
Class | Description | |
---|---|---|
Action |
Base implementation of an IAction, containing
the Id and strategyId for the action.
| |
ActionActivate |
Simple class that calls a setter with no arguments when implemented
| |
ActionChange |
Action that will change the value of controlled item
with the value of ValueExpression.
| |
ActionNoOperation |
Action that does nothing.
See also ActionUnchanged for the difference between this and the ActionUnchanged. | |
ActionPID |
Action to set a value (via Action.ValueSetter) based on an input expression.
Optinally, the value can be multiplied by the value of OutExpressionFactor, before
the value is passed on to the value setter.
| |
ActionSet |
Action that will set the value of the ValueExpression
to the controlled item.
| |
ActionSetBase |
Base class for actions using the ActionControl
method for implementing an action.
It contains methods for getting values of the controlled item and updating the controlled item. | |
ActionTargetDescription |
Description of the target of an action
| |
ActionUnchanged |
Action that, when activated, will read the current control value (CurrentControlValueGetter)
and set that to the controlled item as the new target value.
In case the control has another target value and is has not yet reached the target (because of a velocity limitation or similar) but is moving towards that target, this action will stop that process, by resetting the target value to the current value. Compared to the ActionNoOperation, the ActionNoOperation will not do anything, hence if the control is approaching a target value, it will continue do so. If the control is not in the move, there will be no difference between ActionNoOperation and this ActionUnchanged. | |
ActionWith2Setters |
Control action with two setters. The second setter, ValueSetter2, is secondary in the
sense that ValueSetter can depend on the values that are set by ValueSetter2. In other words
ValueSetter2 is called first. The thinking is that ValueSetter is still the main control function.
| |
ControlData |
Control Data object, specifying a number of controls
in the form of state machines and states with actions.
| |
ControlExtensions |
Extension methods for classes in the ControlModule namespace
| |
ControlStateMachine |
State machine used for applying different actions to the setup.
The Control State Machine implements a finite-state machine (FSM). It can only be in one of the States defined, being the CurrentState. Each State has its own transition table, TransitionTable, defining conditions for changing to a new state, and an Action is associated to every state. Actions can be reused by several states, but actions cannot (should not) be reused between by several ControlStateMachine's. | |
ControlUserFunctionFactory |
Factory for creating user functions specific for the MIKE 1D engine.
When a ControlData object is not provided, the object can be used for validation purposes. Validation without a ControlData object will not validate if time series and tables has been properly defined. | |
ExpressionFactory |
Helper class for creating expression trees.
| |
ExpressionNodeConstant |
Constant double expression node
| |
ExpressionNodeConstantBool |
Constant bool expression node
| |
ExpressionNodeFunctionAbs |
An expression node that computes the absolute value of a double expression node
| |
ExpressionNodeFunctionAdd |
An expression node that adds two double expression nodes
| |
ExpressionNodeFunctionAnd |
An expression node that computes the AND of two bool expression nodes
| |
ExpressionNodeFunctionDiv |
An expression node that divides two double expression nodes
| |
ExpressionNodeFunctionEquals |
An expression node that finds out if two double expression nodes are equal
| |
ExpressionNodeFunctionGreaterThan |
An expression node that finds out if one double expression node is greater than another
| |
ExpressionNodeFunctionGreaterThanOrEquals |
An expression node that finds out if one double expression node is greater than or equal to another
| |
ExpressionNodeFunctionLessThan |
An expression node that finds out if one double expression node is less than another
| |
ExpressionNodeFunctionLessThanOrEquals |
An expression node that finds out if one double expression node is less than or equal to another
| |
ExpressionNodeFunctionMax |
An expression node that finds the maximum of two double expression nodes
| |
ExpressionNodeFunctionMin |
An expression node that finds the minimum of two double expression nodes
| |
ExpressionNodeFunctionMult |
An expression node that multiplies two double expression nodes
| |
ExpressionNodeFunctionNot |
An expression node that computes the logical not of a bool expression node
| |
ExpressionNodeFunctionNotEquals |
An expression node that finds out if two double expression nodes are un-equal
| |
ExpressionNodeFunctionOr |
An expression node that computes the OR of two bool expression nodes
| |
ExpressionNodeFunctionSub |
An expression node that subtracts two double expression nodes
| |
ExpressionNodeFunctionXOr |
An expression node that computes the XOR of two bool expression nodes
| |
ExpressionNodeTable |
Expression node that takes an input value and performs a lookup in a table.
Linear interpolation is performed on the values in the table to obtain
the output value.
| |
ExpressionNodeVariable |
An expression node that contains a variable double.
| |
LogicalCondition | ||
SensorT |
A sensor retrieves a value from the simulation
and acts as a variable in the control expressions.
Default implementation of ISensorT interface. | |
SensorDescription |
Sensor description defines where the sensor
gets its data from.
Use the unit of the Quantity to specify in which unit the sensor is supposed to return its value, automatically converting the value from the engine units to this unit. | |
SensorDouble | ||
State |
State in ControlStateMachine.
Use CreateState(IAction) to create a new state and add it to the state matchine instance. | |
StateTransition |
Holds a logical condition and a State.
The logical condition can be null, which evaluates to true. | |
StateTransitionTable |
A list of state transition. NextState() return the State of the first StateTransition
from the list with an active logical condition.
| |
TimeSeriesInfo |
Time series info.
If both _itemNumber and _itemName is specified, the _itemNumber takes precedense and the _itemName is only used for validation. | |
VariableExpression |
Interface | Description | |
---|---|---|
IAction |
Base interface for an action.
| |
IControlFunctionDischargeDemandLookup | ||
IControlFunctionTime |
Interface for control functions that are aware of time or/and stores a
state which changes with time.
A "default control functions" that depends only on their parameters need not implement this interface. A control function which has a state, needs to implement this interface and also IModelStateReadWrite. | |
IExpressionNode |
Double node of expression tree
| |
IExpressionNodeBool |
Bool node of expression tree
| |
ISensor |
A sensor retrieves a value from the simulation
and acts as a variable in the control expressions.
This interface should never be implemented directly, but always through the ISensorT interface. | |
ISensorT |
A sensor retrieves a value from the simulation
and acts as a variable in the control expressions.
| |
ISensorDouble |
A sensor retrieves a value from the simulation
and acts as a variable in the control expressions.
This sensor returns a double and includes unit conversion. |
Enumeration | Description | |
---|---|---|
ActionTargetGroupTypes |
The group types of the target
| |
ActionTargetTypes |
The types of structures
| |
ActionTypes |
Types of actions
| |
SensorLocationType |
Location of sensor
|