Ejemplo n.º 1
0
        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);

        }