private Double dilutionRate = 1; // ml/sec public CultureSimulator(TurbidoAlgorithmLibrary _library) { library = _library; lastTime = new DoubleRef(); lastOD = new DoubleArrayRef(numberOfCultures); GrowthTimer = new System.Timers.Timer(dataPointPeriod * 1000); GrowthTimer.Elapsed += this.GrowthTick; var rng = new CryptoRandomSource(); // initialize cultures for (int i = 0; i < 4; i++) { if (culture_set == 'A') { lastOD.values[i] = rng.NextDouble() * initialOD; lastOD.values[8 + i] = rng.NextDouble() * initialOD; lastOD.values[4 + i] = lastOD.values[12 + i] = 0; } else { lastOD.values[4 + i] = rng.NextDouble() * initialOD; lastOD.values[12 + i] = rng.NextDouble() * initialOD; lastOD.values[i] = lastOD.values[8 + i] = 0; } } }
public TurbidostatControlPanel(ref TurbidoCore core_) { InitializeComponent(); this.ControlBox = false; timerSystem.Start(); core = core_; library = new TurbidoAlgorithmLibrary(ref core); core.library = library; core.controlPanel = this; library.StartODVoltageScaleDataSaver(); od_monitor.Hide(); scale_monitor.Hide(); core.assignMonitors(ref od_monitor, ref scale_monitor); core.MainLog.CollectionChanged += updateLog; textBoxParameterTransferPeriod.Text = library.TransferCyclePeriod.ToString(); }