// Strain in panels public PanelResults CheckPanelAdmisibility(Surface p, Curve c, double h, double E, double G) { double K = findMaxGaussianCurvatureInPanel(p, 0.05); // Gaussian Curvature (compute) double d = 0; // Width (calculate) E = 0; // Young Modulus PanelResults results = new PanelResults(); double rho = 1 / (Math.Sqrt(Math.Abs(K))); double epsilon = 0.5 * Math.Pow((d / (2 * rho)), 2); double sigma = E * rho; // Tensile stress // Find maximum tensile stress and assign to sigmaMax // Find minimum radius of curvature (rho). double sigmaMax = 0; double rhoMin = 0; // Use maximum tensile stress to obtain C constant double C = Math.Sqrt(2 * sigmaMax / E); // Compute dMax double dMax = 2 * rhoMin * C; // Check width admissibility if (d < dMax) { results.Admissible = true; } else { results.Admissible = false; } // Assign values to results results.MaxStrain = sigmaMax; results.MaxWidth = dMax; results.CurrentWidth = d; // Compute remaining stresses & assign to results int steps = 30; results.MaxBending = ComputePanelBendingStress(c, h, E, steps); results.MaxShear = ComputePanelShearStress(h, G, ComputeCurveTorsion(c, steps)); // Return the results return(results); }
private void ButtonResults_Click(object sender, EventArgs e) { if (CurrentPanel != null) { CurrentPanel.Hide(); } PanelResults.Show(); CurrentPanel = PanelResults; ComboBoxResultSelectTestCase.BeginUpdate(); ComboBoxResultSelectTestCase.DataSource = TestPlan.GetTestCases().ToList(); ComboBoxResultSelectTestCase.EndUpdate(); ComboBoxResultSelectTestCase.Refresh(); TextBoxResultTestPlanFixes.Text = TestPlan.Fixes; TextBoxResultTestPlanRegression.Text = TestPlan.Regression; }