public void DGExample5_1ReturnsWarpingStressAtMidspan() { SetAiscDG9Example5_1Parameters(); z = 0.5 * L; TorsionalFunctionFactory tf = new TorsionalFunctionFactory(); ITorsionalFunction function = tf.GetTorsionalFunction(TorsionalFunctionCase.Case3, E, G, J, L, z, T_u, C_w, t, alpha); double theta_2der = function.Get_theta_2(); SectionStressAnalysis st = new SectionStressAnalysis(); double sigma = st.GetNormalStressDueToWarpingOpenSection(E, W_no, theta_2der); double refValue = 28.0; double actualTolerance = EvaluateActualTolerance(sigma, refValue); Assert.LessOrEqual(actualTolerance, tolerance); }
public void TorsionalFunctionCase3ReturnsSecondDerivativeAtSupport() { //AISC Design Guide 9 Example 5.1 //Case 3, with alpha = 0.5: SetAiscDG9Example5_1Parameters(); z = 0; TorsionalFunctionFactory tf = new TorsionalFunctionFactory(); ITorsionalFunction function = tf.GetTorsionalFunction(TorsionalFunctionCase.Case3, E, G, J, L, z, T_u,C_w, t, alpha); double theta_2der = function.Get_theta_2(); double refValue = 0; double actualTolerance = EvaluateActualTolerance(theta_2der, refValue); Assert.LessOrEqual(actualTolerance, tolerance); }
public void TorsionalFunctionCase6ReturnsFirstDerivativeAt02() { SetAiscDG9Example5_1Parameters(); z = 0.2 * L; TorsionalFunctionFactory tf = new TorsionalFunctionFactory(); //double a_rev = Math.Sqrt(E * C_w / (G * J)); ITorsionalFunction function = tf.GetTorsionalFunction(TorsionalFunctionCase.Case6, E, G, J, L, z, T_u, C_w, t, alpha); double theta_1der = function.Get_theta_1(); double refValue = 0.1; double ratio = L / a; double GraphValuePredicted = theta_1der * G * J / T_u; double actualTolerance = EvaluateActualTolerance(GraphValuePredicted, refValue); Assert.LessOrEqual(actualTolerance, tolerance); }
public void TorsionalFunctionCase7ReturnsThirdDerivativeA02L() { SetAiscDG9Example5_5Parameters(); z = 0.2 * L; TorsionalFunctionFactory tf = new TorsionalFunctionFactory(); //double a_rev = Math.Sqrt(E * C_w / (G * J)); ITorsionalFunction function = tf.GetTorsionalFunction(TorsionalFunctionCase.Case7, E, G, J, L, z, T_u, C_w, t, alpha); double theta_3der = function.Get_theta_3(); double refValue = 0.5; double ratio = L / a; double GraphValuePredicted = theta_3der * G * J / t * 2.0*Math.Pow(a,2) / L; double actualTolerance = EvaluateActualTolerance(GraphValuePredicted, refValue); Assert.LessOrEqual(actualTolerance, tolerance); }
public void TorsionalFunctionCase12ReturnsSecondDerivativeAtSupport() { SetAiscDG9Example5_1Parameters(); z = 0.0 * L; TorsionalFunctionFactory tf = new TorsionalFunctionFactory(); T_u = 0.0; t = 5.0; ITorsionalFunction function = tf.GetTorsionalFunction(TorsionalFunctionCase.Case12, E, G, J, L, z, T_u,C_w , t, alpha); double theta_2der = function.Get_theta_2(); double refValue = 0.84; double ratio = L / a; double GraphValuePredicted = theta_2der * G * J / t; double actualTolerance = EvaluateActualTolerance(GraphValuePredicted, refValue); Assert.LessOrEqual(actualTolerance, tolerance); }
public void TorsionalFunctionCase3ReturnsThirdDerivativeAtMidspan() { //AISC Design Guide 9 Example 5.1 //Case 3, with alpha = 0.5: SetAiscDG9Example5_1Parameters(); z = L / 2; TorsionalFunctionFactory tf = new TorsionalFunctionFactory(); ITorsionalFunction function = tf.GetTorsionalFunction(TorsionalFunctionCase.Case3, E, G, J, L, z, T_u,C_w, t, alpha); double theta_3der = function.Get_theta_3(); double refValue = 0.5 * (-5.78) * Math.Pow(10, -3.0) / 62.1; double actualTolerance = EvaluateActualTolerance(theta_3der, refValue); Assert.LessOrEqual(actualTolerance, tolerance); }