Ejemplo n.º 1
0
        public void Test2()
        {
            var simTime              = 600;
            var timeStep             = 0.05;
            var timeStepMilliseconds = Convert.ToInt32(timeStep * 1000);

            var model = new GasBubbleModel(simTime, timeStep, true, false);

            var thread     = new ThreadRunSimStep(model, timeStepMilliseconds, true, false);
            var plotThread = new ThreadPlotFinalResult(model);

            var ddsThread = new ThreadDdsClient(100, model, Settings.Default.ServerName, Settings.Default.ClientName);

            var startTime = DateTime.Now;

            thread.Start();
            ddsThread.Start();

            //visit https://stackoverflow.com/questions/1196991/get-property-value-from-string-using-reflection-in-c-sharp


            Console.ReadLine();
            thread.Stop();
            var endTime = DateTime.Now;

            Console.WriteLine($"Simulation started {startTime}.\nSimulation ended {endTime}");

            //plotThread.Start();
            //Console.ReadLine();
            //plotThread.Stop();
        }
        private void InitializeMatlabModelHelper(int simTime, double timeStep)
        {
            var model = new GasBubbleModel(simTime, timeStep, checkboxBorehole.Checked, checkboxChokeline.Checked, checkboxBoreholeFirst.Checked);

            int timeStepMilliseconds = Convert.ToInt32(timeStep * 1000);

            this._simThread  = new ThreadRunSimStep(model, timeStepMilliseconds, checkboxRealtime.Checked, false);
            this._plotThread = new ThreadPlotFinalResult(model);

            this._statusThread = new Thread(() => StatusReporter(txtResult, model));
            this._statusThread.IsBackground = true;

            btnStart.Enabled = true;
            btnStop.Enabled  = true;
            btnPlot.Enabled  = true;

            var realtimeText = checkboxRealtime.Checked ? "Realtime" : "Fastforward";

            txtResult.Text = $"{DateTime.Now} - Model initialized (simTime = {simTime}, timeStep = {timeStep}, {realtimeText}).{Environment.NewLine}";
        }