Table of Contents

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

simulator PlantSimulator

simulator 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

inputData TimeSeriesDataSet
simData TimeSeriesDataSet

estimated 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

inputData TimeSeriesDataSet

note 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)

simData TimeSeriesDataSet
signalValuesAtT0 Dictionary<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

inputData TimeSeriesDataSet

non-simulated time-series external inputs

simData TimeSeriesDataSet

simulation dataset containing only the external signals. The new simulated variables are added to this variable with initial values.

compLoopDict Dictionary<string, List<string>>

dictionary of all computational loops

doEstimateDisturbances bool

Returns

bool