public void OpeningCompositeReturnsShearStrengthSpreadsheet()
        {
            d      = 18.24;
            t_w    = 0.415;
            t_deck = 2.0;
            t_fill = 3.25;
            t_e    = 3.25;
            b_e    = 99.0;
            h_0    = 10.0;
            a_o    = 22.0;
            A_sn   = 9.15;
            Q_n    = 16.46;

            AiscShapeFactory f = new AiscShapeFactory();

            section  = f.GetShape("W18X60") as ISectionI;
            F_y      = 50.0;
            f_cPrime = 4.0;
            N_studs  = 99;
            N_o      = 4.0;
            e        = 0.0;
            t_r      = 0.5;
            b_r      = 2.0;

            CompositeIBeamWebOpening o = new CompositeIBeamWebOpening(section, b_e, t_fill, t_deck, F_y, f_cPrime, N_studs, Q_n,
                                                                      N_o, a_o, h_0, e, t_r, b_r, Steel.AISC.DeckAtBeamCondition.Parallel, 4.5, 12.0);
            double phiV_n          = o.GetShearStrength();
            double refValue        = 95.57;
            double actualTolerance = EvaluateActualTolerance(phiV_n, refValue);

            Assert.LessOrEqual(actualTolerance, tolerance);
        }
Exemple #2
0
        public static Dictionary <string, object> CompositeIBeamWebOpeningShearStrength(CustomProfile IShape, double b_eff, double h_solid, double h_rib,
                                                                                        double F_y, double fc_prime, double N_anchors, double Q_n, double N_o, double a_o, double h_op, double e_op, double t_r, double b_r,
                                                                                        string HeadedAnchorDeckCondition = "Perpendicular", double w_rMin = 4.0, double s_r = 12.0, bool IsSingleSideReinforcement = false,
                                                                                        double V_u = 0, double M_u = 0)
        {
            //Default values
            double phiV_n = 0;


            //Calculation logic:
            ISectionI sectionI = IShape.Section as ISectionI;

            if (sectionI == null)
            {
                throw new Exception("Specified shape type is not supported. Provide I-shape object as inputparameter");
            }

            DeckAtBeamCondition deckCondition;
            bool IsValidHeadedAnchorDeckCondition = Enum.TryParse(HeadedAnchorDeckCondition, true, out deckCondition);

            if (IsValidHeadedAnchorDeckCondition == false)
            {
                throw new Exception("Headed anchor position and group factor calculation failed. Invalid string provided for HeadedAnchorDeckCondition.");
            }

            CompositeIBeamWebOpening op = new CompositeIBeamWebOpening(sectionI, b_eff, h_solid, h_rib, F_y, fc_prime, N_anchors, Q_n, N_o, a_o, h_op, e_op,
                                                                       t_r, b_r, deckCondition, w_rMin, s_r, IsSingleSideReinforcement);

            phiV_n = op.GetShearStrength();

            return(new Dictionary <string, object>
            {
                { "phiV_n", phiV_n }
            });
        }
Exemple #3
0
        public void OpeningCompositeReturnsShearStrength()
        {
            CompositeIBeamWebOpening o = new CompositeIBeamWebOpening(section, b_e, t_fill, t_deck, F_y, f_cPrime, N_studs, Q_n,
                                                                      N_o, a_o, h_0, e, t_r, b_r, Steel.AISC.DeckAtBeamCondition.Parallel, 4.5, 12.0);
            double phiV_n          = o.GetShearStrength();
            double refValue        = 58.1;
            double actualTolerance = EvaluateActualTolerance(phiV_n, refValue);

            Assert.LessOrEqual(actualTolerance, tolerance);
        }