AbstractMike1DController Class

An abstract base controller class.

It handles everything related to the ControllerEvent an delegates the real work on to the derived classes in the DoXXX methods.

Definition

Namespace: DHI.Mike1D.Mike1DDataAccess
Assembly: DHI.Mike1D.Mike1DDataAccess (in DHI.Mike1D.Mike1DDataAccess.dll) Version: 24.0.0.0 (11.1.1.1111)
C#
public abstract class AbstractMike1DController : IMike1DController
Inheritance
Object    AbstractMike1DController
Derived
Implements
IMike1DController

Constructors

AbstractMike1DController Constructor
AbstractMike1DController(DiagnosticsHandler) Constructor, providing a diagnostics handler.

Properties

CurrentTime Current time of simulation
DiagnosticsHandler Handler, taking care of diagnostics messages.
EngineNet The enginenet used for the simulation
IsFailed Bool indicating that the controller is in a failed state
Mike1DData The Mike1DData that defines the simulation setup
MinSecondsBetweenProgressEvent Minimum number of seconds between the ControllerProgressEvent is triggered.
ProgressState Progress state of the controller, specifying how far the controller has progressed. One of Initialized,Prepared,Running.
ResultDataList List of all result data components associated with
RuntimeDiagnostics Diagnostics that are used during the simulation (prepare, run)
SimulationType String to indicate the type of simulation being run. Used for user output only.
State Current state of the controller
Timings Detailed timings of the different parts of the simulation.

Methods

ChangeControllerState Change the state of the controller. Also triggers the ControllerEvent
DoFinish Do finish simulation. Abstract method that must be overridden
DoInitialize Do Initialize. Abstract method that must be overridden
DoPrepare Do Prepare. Abstract method that must be overridden
DoRun Do Run. Abstract method that must be overridden
DoRunUntil Do RunUntil. Virtual method that must be overridden
DoStopSimulation Do Stop simulation. Abstract method that must be overridden
DoValidate Do Validate. Abstract method that must be overridden
EqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
FinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object)
Finish Finish and clean up.
GetHashCodeServes as the default hash function.
(Inherited from Object)
GetTypeGets the Type of the current instance.
(Inherited from Object)
Initialize Initialize the engine. Initialize sets up the engine net. When done, the EngineNet will be ready to inform on what data is available
InitTimings Initiate timings
InvokeControllerProgressEvent Call to invoke a progress event
IsInActiveState Returns true if the controller is in an active state and currently executing.
MemberwiseCloneCreates a shallow copy of the current Object.
(Inherited from Object)
Prepare Prepare the engine. This is called just before run is called. I will set the initial state (initial conditions), open output files etc.
RaiseControllerFailedEvent Put controller in a failed state, and issue a failed event on ControllerEvent
RaiseSpecialEvent Trigger a custom special event
Run Run the engine
RunManual Must be called when running the engine manually, timestep by timestep, i.e. when not using the Run or RunUntil(DateTime) methods.

This is required for correctly transferring the engine to the run state before taking the time step.

RunUntil Run the engine until endTime.

endTime should not exceed the simulation end time.

StopSimulation Calling this function will end the simulation after the current timestep has been completed
ToStringReturns a string that represents the current object.
(Inherited from Object)
Validate Validate that the Controller/data access modules does not have any errors/warnings. Can be called before Initialize(IDiagnostics).

Events

ControllerEvent Event that is raised while the controller is running. It is raised whenever the State of the controller changes.
ControllerProgressEvent Controller progress event, triggered whenever the controller has progressed, though no more often than MinSecondsBetweenProgressEvent
SpecialEvent Event that is raised for special events

Fields

_engineNet EngineNet
_engineNetGlobal Global (entire) EngineNet. Used when decomposing setup into several domains, where this contains the full EngineNet
_mike1DData MIKE 1D data object
_resultDataList Active result data objects
_runtimeDiagnostics Diagnostics object used during runtime
_state Current state of controller
_suppressUnknownExceptions Flag indicating whether to suppress unknown exception.
_timings Timings used in controller

Extension Methods

CanWriteHtmlSummary Check if controller is in a state to write HTML summary
(Defined by ControllerExtensions)

See Also