Class PlantSimulatorInitializer
- Namespace
- TimeSeriesAnalysis.Dynamic
- Assembly
- TimeSeriesAnalysis.dll
Intializes a plant simulator in the first data point
Currently, only initalizing to steady-state is supported.
By design choice, this class traverses the models by logic to initialize the plant model rather than using mathematical programming/matrix solvers.
public class PlantSimulatorInitializer
- Inheritance
-
PlantSimulatorInitializer
- Inherited Members
Constructors
PlantSimulatorInitializer(PlantSimulator)
Constructor
public PlantSimulatorInitializer(PlantSimulator simulator)
Parameters
simulatorPlantSimulatorsimulator object that already includes connections,models and signals to be simulated
Methods
EstimateDisturbances(TimeSeriesDataSet, ref TimeSeriesDataSet)
for a given inputData, compute every disturbance of every loop where U and Y are given
public int EstimateDisturbances(TimeSeriesDataSet inputData, ref TimeSeriesDataSet simData)
Parameters
inputDataTimeSeriesDataSetsimDataTimeSeriesDataSetestimated disturbances are added here.
Returns
- int
the number of estimated disturbances
EstimateDisturbancesAndPruneInputDataAheadOfSimulation(ref TimeSeriesDataSet, ref TimeSeriesDataSet, ref Dictionary<string, double>)
For a plant, go through and find each plant/pid-controller and attempt to estimate the disturbance. For the disturbance to be estimateable,the inputs "u_meas" and the outputs "y_meas" for each "process" in each pid-process loop needs to be given in inputData. The estimated disturbance signal is added to simData
public int EstimateDisturbancesAndPruneInputDataAheadOfSimulation(ref TimeSeriesDataSet inputData, ref TimeSeriesDataSet simData, ref Dictionary<string, double> signalValuesAtT0)
Parameters
inputDataTimeSeriesDataSetnote that for closed loop systems u and y signals are removed(these are used to estimate disturbance, removing them triggers code in PlantSimulator to re-estimate them)
simDataTimeSeriesDataSetsignalValuesAtT0Dictionary<string, double>
Returns
- int
returns the number of estimated disturbances
ToSteadyStateAndEstimateDisturbances(ref TimeSeriesDataSet, ref TimeSeriesDataSet, Dictionary<string, List<string>>, bool)
Initialize the empty datasets to their steady-state values
public bool ToSteadyStateAndEstimateDisturbances(ref TimeSeriesDataSet inputData, ref TimeSeriesDataSet simData, Dictionary<string, List<string>> compLoopDict, bool doEstimateDisturbances)
Parameters
inputDataTimeSeriesDataSetnon-simulated time-series external inputs
simDataTimeSeriesDataSetsimulation dataset containing only the external signals. The new simulated variables are added to this variable with initial values.
compLoopDictDictionary<string, List<string>>dictionary of all computational loops
doEstimateDisturbancesbool