public void SectionIRolledReturnsC_w() { SectionI shape = new SectionI("", 12.2, 6.49, 0.38, 0.23); double C_w = shape.C_w; double refValue = 607.0; double actualTolerance = EvaluateActualTolerance(C_w, refValue); Assert.LessOrEqual(actualTolerance, tolerance); }
public void SectionIRolledReturnsJ() { SectionI shape = new SectionI("", 12.2, 6.49, 0.38, 0.23); double J = shape.J; double refValue = 0.3; double actualTolerance = EvaluateActualTolerance(J, refValue); Assert.LessOrEqual(actualTolerance, tolerance); }
/// <summary> /// Base class for all web openings /// </summary> /// <param name="Section">Steel Section</param> /// <param name="a_o">Length of opening</param> /// <param name="h_o">Depth of opening</param> /// <param name="e">Eccentricity of opening (positive up)</param> /// <param name="F_y">Steel shape yield stress</param> /// <param name="t_r"> Plate thickness of opening reinforcement (top or bottom)</param> /// <param name="b_r"> Plate width (horizontal dimension in cross-section) for reinforcement</param> public WebOpeningBase(ISectionI Section, double a_o, double h_o, double e, double F_y, double t_r, double b_r, bool IsSingleSideReinforcement , double PlateOffset) { this.a_o =a_o; this.h_o =h_o; this.e = e; this.F_y = F_y; this.t_r = t_r; this.b_r = b_r; SectionI sec = new SectionI(null, Section.d, Section.b_fTop, Section.t_fTop, Section.t_w); this.Section = sec; this.PlateOffset = PlateOffset; this.IsSingleSideReinforcement = IsSingleSideReinforcement; }
public void SectionDoubleStackedReturnsMomentOfInertia() { //W18X50 + C15X33.9 //Table 1-19 SectionI IShape = new SectionI(null, 18.2d,7.56d, 0.695d, 0.415d); SectionChannel Channel = new SectionChannel(null, 15.0d, 3.4d, 0.65d, 0.4d, true, true); SectionDoubleStacked shape = new SectionDoubleStacked(Channel, IShape, 0.4); double I_x = shape.I_x; double refValue1 = 1456.0; //from Autocad. Does not agree with Manual which is 1250 double I_y = shape.I_y; double refValue2 = 363.6; //from Autocad. Does not agree with Manual which is 1250 double actualTolerance1 = EvaluateActualTolerance(I_x, refValue1); double actualTolerance2 = EvaluateActualTolerance(I_y, refValue2); Assert.LessOrEqual(actualTolerance1, tolerance); Assert.LessOrEqual(actualTolerance2, tolerance); }
public IBeamCope GetCope(BeamCopeCase BeamCopeCase, double d, double b_f, double t_f, double t_w, double d_c, double c, double F_y, double F_u) { ISteelMaterial material = new SteelMaterial(F_y, F_u, SteelConstants.ModulusOfElasticity, SteelConstants.ShearModulus); ISectionI section = new SectionI(null, d, b_f, t_f, t_w); IBeamCope cope=null; switch (BeamCopeCase) { case BeamCopeCase.Uncoped: cope = new BeamUncoped(section, material); break; case BeamCopeCase.CopedTopFlange: cope = new BeamCopeSingle(c, d_c, section, material); break; case BeamCopeCase.CopedBothFlanges: cope = new BeamCopeDouble(c, d_c, section, material); break; } return cope; }
public void DoublySymmetricIReturnsLateralTorsionalStrength () { FlexuralMemberFactory factory = new FlexuralMemberFactory(); AiscShapeFactory AiscShapeFactory = new AiscShapeFactory(); ISection r = new SectionI("", 12.2, 6.49, 0.38, 0.23); SteelMaterial mat = new SteelMaterial(50.0, 29000); ISteelBeamFlexure beam12 = factory.GetBeam(r, mat, null, MomentAxis.XAxis, FlexuralCompressionFiberPosition.Top); SteelLimitStateValue LTB = beam12.GetFlexuralLateralTorsionalBucklingStrength(1.0, 19 * 12, FlexuralCompressionFiberPosition.Top, Steel.AISC.FlexuralAndTorsionalBracingType.NoLateralBracing); double phiM_n = LTB.Value; double refValue = 60 * 12; // from AISC Steel Manual Table 3-10 double actualTolerance = EvaluateActualTolerance(phiM_n, refValue); Assert.LessOrEqual(actualTolerance, tolerance); }
internal SectionI(double d, double b_f, double t_f, double t_w) { ISection r = new ds.SectionI("", d, b_f, t_f, t_w); Section = r; }