private void simulateButton_Click_1(object sender, EventArgs e) { double dt = Convert.ToDouble(stepBox.Text); double duration = Convert.ToDouble(durationBox.Text); int steps = (int)(duration / dt); simConsole.InitializeConsole(gridWidth, gridLength, gridHeight, steps);// = new SimulatorConsole(); double[] d = { Convert.ToDouble(dxBox.Text), Convert.ToDouble(dyBox.Text), Convert.ToDouble(dzBox.Text) }; double[] k = { Convert.ToDouble(kxBox.Text), Convert.ToDouble(kyBox.Text), Convert.ToDouble(kzBox.Text) }; double phi = Convert.ToDouble(porosityText.Text); double ct = Convert.ToDouble(ctBox.Text); double E = Convert.ToDouble(eBox.Text); double v = Convert.ToDouble(vBox.Text); double alpha = Convert.ToDouble(alphaBox.Text); simConsole.SetRockProperties(d, k, phi, ct, E, v, alpha); double p = Convert.ToDouble(pressureBox.Text); double sat = Convert.ToDouble(saturationBox.Text); double visc = Convert.ToDouble(viscosityBox.Text); simConsole.SetFluidProperties(p, sat, visc); simConsole.SetSimulatorSettings(porosityCheck.Checked, heightCheck.Checked); simConsole.RunSimulator(duration, dt); plog = simConsole.GetPressureLog(); hlog = simConsole.GetHeightLog(); philog = simConsole.GetPorosityLog(); strainlog = simConsole.GetStrainLog(); stresslog = simConsole.GetStressLog(); int nodes = simConsole.GetNodes(); storedvals = new double[nodes]; UpdatePressureChart(plog, nodes, steps, dt); UpdateHeightChart(hlog, nodes, steps, dt); UpdateStrainChart(strainlog, nodes, steps, dt); dataTrack.Minimum = 0; dataTrack.Maximum = steps; maxH = 0; minH = 99999; maxP = 0; minP = 99999; maxPhi = 0; minPhi = 1; maxStrain = 0; minStrain = 99999; maxStress = 0; minStress = 0; try { StreamWriter outfileM = new StreamWriter(@"Z:\Workspace\ResSimTerm2.txt", false, Encoding.UTF8); for (int t = 0; t < steps; t++) { string mat = ""; for (int n = 0; n < nodes; n++) { mat += strainlog[n, t].ToString("0.000000000") + ","; maxH = Math.Max(maxH, hlog[n, t]); maxP = Math.Max(maxP, plog[n, t]); maxPhi = Math.Max(maxPhi, philog[n, t]); maxStrain = Math.Max(maxStrain, strainlog[n, t]); minH = Math.Min(minH, hlog[n, t]); minP = Math.Min(minP, plog[n, t]); minPhi = Math.Min(minPhi, philog[n, t]); minStrain = Math.Min(minStrain, strainlog[n, t]); maxStress = Math.Max(maxStress, stresslog[n, t]); minStress = Math.Min(minStress, stresslog[n, t]); } outfileM.WriteLine(mat); } outfileM.Close(); } catch { } //testing purposes only // Set the tick frequency to one tick every ten units. dataTrack.TickFrequency = 1; // Associate the event-handling method with the // ValueChanged event. dataTrack.ValueChanged += new System.EventHandler(dataTrack_ValueChanged); //this.Controls.Add(this.dataTrack); }