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 } }); }