public static Dictionary <string, object> UFMForcesSpecialCase1(double d_b, double d_c, double theta, double alpha,
                                                                        double alpha_bar, double beta, double beta_bar, double Z_beam, double Z_column, double P_u, double x_brace, double y_brace, double R_beam,
                                                                        bool IncludeDistortionalMomentForces = false, double M_d = 0, double A_ub = 0, string Code = "AISC360-10")
        {
            //Default values
            double V_uc  = 0;
            double H_uc  = 0;
            double V_ub  = 0;
            double H_ub  = 0;
            double V_ubc = 0;
            double H_ubc = 0;

            //Calculation logic:
            UFMCase1NonconcentricBraceForce ufmCase = new UFMCase1NonconcentricBraceForce(
                d_b, d_c, theta, alpha, beta, alpha_bar, beta_bar, x_brace, y_brace, P_u, R_beam, Z_beam, Z_column, IncludeDistortionalMomentForces, M_d, A_ub);

            V_uc  = ufmCase.V_uc;
            H_uc  = ufmCase.H_uc;
            V_ub  = ufmCase.V_ub;
            H_ub  = ufmCase.H_ub;
            V_ubc = ufmCase.V_bc;
            H_ubc = ufmCase.H_bc;

            return(new Dictionary <string, object>
            {
                { "V_uc", V_uc }
                , { "H_uc", H_uc }
                , { "V_ub", V_ub }
                , { "H_ub", H_ub }
                , { "V_ubc", V_ubc }
                , { "H_ubc", H_ubc }
            });
        }
Exemple #2
0
        public void SpecialCase1Example5_2ReturnsValue()
        {
            UFMCase1NonconcentricBraceForce ufmCase = new UFMCase1NonconcentricBraceForce(21.4, 14.0, 47.2,
                                                                                          17.5, 12.0, 17.5, 12, 0, 0, 840.0, 50.0, 196, 157, false, 0, 100);

            double V_uc               = ufmCase.V_uc;
            double refValueV_uc       = 402;
            double actualToleranceV_c = EvaluateActualTolerance(V_uc, refValueV_uc);

            Assert.LessOrEqual(actualToleranceV_c, tolerance);

            double H_uc               = ufmCase.H_uc;
            double refValueH_uc       = 247;
            double actualToleranceH_c = EvaluateActualTolerance(H_uc, refValueH_uc);

            Assert.LessOrEqual(actualToleranceH_c, tolerance);


            double V_ub               = ufmCase.V_ub;
            double refValueV_ub       = 169;
            double actualToleranceV_b = EvaluateActualTolerance(V_ub, refValueV_ub);

            Assert.LessOrEqual(actualToleranceV_b, tolerance);

            double H_ub               = ufmCase.H_ub;
            double refValueH_ub       = 369;
            double actualToleranceH_b = EvaluateActualTolerance(H_ub, refValueH_ub);

            Assert.LessOrEqual(actualToleranceH_b, tolerance);
        }