Ejemplo n.º 1
0
        public static Dictionary <string, object> CopedSectionStrengthInFlexure(double d, double b_f, double t_f, double d_cope, double c, double t_w, double F_y, double F_u, string BeamCopeCase,
                                                                                string Code = "AISC360-10")
        {
            //Default values
            double phiM_n = 0;


            //Calculation logic:
            BeamCopeCase copeType;
            bool         IsValidStringLoadType = Enum.TryParse(BeamCopeCase, true, out copeType);

            if (IsValidStringLoadType == true)
            {
                BeamCopeFactory factory   = new BeamCopeFactory();
                IBeamCope       copedBeam = factory.GetCope(copeType, d, b_f, t_f, t_w, d_cope, c, F_y, F_u);
                phiM_n = copedBeam.GetFlexuralStrength();
            }
            else
            {
                throw new Exception("Coped beam calculation failed. Beam cope case (type) designation.");
            }

            return(new Dictionary <string, object>
            {
                { "phiM_n", phiM_n }
            });
        }
        public void BeamUncopedCopeReturnsValue()
        {
            //AISC Live Webinar:  FUNDAMENTALS OF CONNECTION DESIGN.  Tom Murray
            //August 21,  2014
            //Part 3 page 25 (Handout)
            double d      = 13.8;
            double t_w    = 0.270;
            double b_f    = 6.73;
            double t_f    = 0.385;
            double d_cope = 3.0;
            double c      = 8;
            double F_y    = 50;
            double F_u    = 65;

            BeamCopeFactory factory   = new BeamCopeFactory();
            IBeamCope       copedBeam = factory.GetCope(Steel.AISC.BeamCopeCase.Uncoped, d, b_f, t_f, t_w, d_cope, c, F_y, F_u);
            double          phiM_n    = copedBeam.GetFlexuralStrength();

            double refValue        = 2128;
            double actualTolerance = EvaluateActualTolerance(phiM_n, refValue);

            Assert.True(actualTolerance <= tolerance);
        }
        public static Dictionary <string, object> ExtendedSinglePlateFlexuralBucklingStrength(double a_bolts, double t_p, double d_pl, double F_y, string Code = "AISC360-10")
        {
            //Default values
            double phiM_n = 0;


            //Calculation logic:
            double c      = a_bolts;
            double b_f    = t_p;
            double t_w    = t_p;
            double t_f    = 0;
            double d      = d_pl;
            double d_cope = 0;

            BeamCopeFactory factory   = new BeamCopeFactory();
            IBeamCope       copedBeam = factory.GetCope(BeamCopeCase.CopedBothFlanges, d, b_f, t_f, t_w, d_cope, c, F_y, F_y);

            phiM_n = copedBeam.GetFlexuralStrength();

            return(new Dictionary <string, object>
            {
                { "phiM_n", phiM_n }
            });
        }