public void ShapeFactoryReturnsValueForIBeam() { AiscShapeFactory factory = new AiscShapeFactory(); ISection section = factory.GetShape("W18X35", Entities.ShapeTypeSteel.IShapeRolled); Assert.IsTrue(section != null); }
public void ShapeFactoryReturnsValueForAngleParsed() { AiscShapeFactory factory = new AiscShapeFactory(); ISection section = factory.GetShape("L3-1/2X3X1/4"); Assert.IsTrue(section is ISectionAngle); }
public void ShapeFactoryReturnsValueForCircHSSParsed() { AiscShapeFactory factory = new AiscShapeFactory(); ISection section = factory.GetShape("HSS6X.500"); Assert.IsTrue(section is ISectionPipe); }
//4.5 EXAMPLE 3: COMPOSITE BEAM //WITH UNREINFORCED OPENING private void SetExample3Values() { A_s = 13.0; d = 20.66; t_w = 0.35; t_s = 4.0; t_deck = 2.0; t_fill = 2.0; t_e = 2.0; b_e = 108.0; h_0 = 11.0; a_o = 22.0; s_b = 4.83; s_t = 4.83; DeltaA_s = 3.85; A_sn = 9.15; Q_n = 21.0; AiscShapeFactory f = new AiscShapeFactory(); section = f.GetShape("W21X44") as ISectionI; F_y = 36.0; f_cPrime = 3.0; N_studs = 9; N_o = 1.0; e = 0.0; t_r = 0.0; b_r = 0.0; }
public void ShapeFactoryReturnsValueForPipeParsed() { AiscShapeFactory factory = new AiscShapeFactory(); ISection section = factory.GetShape("PIPE6XXS"); Assert.IsTrue(section is ISectionPipe); }
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); }
//there are few shapes KodeStruct doesn't recognize. i.g. W8X10 public ISection ToKodeStructCrossSection(sCrossSection sCs) { ISection shape = null; AiscShapeFactory shapeFac = new AiscShapeFactory(); if (sCs.sectionType == eSectionType.AISC_I_BEAM) { shape = shapeFac.GetShape(sCs.shapeName); } else if (sCs.sectionType == eSectionType.HSS_REC) { } else if (sCs.sectionType == eSectionType.HSS_ROUND) { } else if (sCs.sectionType == eSectionType.RECTANGLAR) { } else if (sCs.sectionType == eSectionType.ROUND) { } else if (sCs.sectionType == eSectionType.SQUARE) { } return(shape); }
private void SetExampleValuesSteel() { d = 18.11; t_w = 0.39; //t_deck = 3.0; //t_fill = 2.5; t_e = 2.5; b_e = 120.0; h_0 = 11.0; a_o = 20.0; A_sn = 9.15; Q_n = 26.1; AiscShapeFactory f = new AiscShapeFactory(); section = f.GetShape("W18X55") as ISectionI; F_y = 50.0; //f_cPrime = 4.0; //N_studs = 14.0; //N_o = 2.0; e = 0.0; t_r = 0.25; b_r = 0.65 / 0.25; V_u = 460; M_u = 3600; }
public void ShapeFactoryReturnsValueForUnequalAngle() { AiscShapeFactory factory = new AiscShapeFactory(); ISection section = factory.GetShape("L3-1/2X3X1/4", Entities.ShapeTypeSteel.Angle); Assert.IsTrue(section != null); }
internal CatalogSection(string ShapeId, string AngleOrientation = "LongLegVertical", string AngleRotation = "FlatLegTop") { AiscShapeFactory factory = new AiscShapeFactory(); AngleOrientation ori = new AngleOrientation(); AngleRotation rot = new Kodestruct.Common.AngleRotation(); ShapeId = ShapeId.ToUpper(); AngleOrientation _AngleOrientation; bool IsValidInputString = Enum.TryParse(AngleOrientation, true, out _AngleOrientation); if (IsValidInputString == false) { throw new Exception("Failed to convert string. Specifuy AngleOrientation. Please check input"); } AngleRotation _AngleRotation; bool IsValidInputRotation = Enum.TryParse(AngleRotation, true, out _AngleRotation); if (IsValidInputRotation == false) { throw new Exception("Failed to convert string. Errormessage. Please check input"); } ISection section = factory.GetShape(ShapeId, _AngleOrientation, _AngleRotation); //PredefinedSectionI catI = section as PredefinedSectionI; //ISliceableSection secI = new shapes.SectionIRolled("", catI.d, catI.b_fTop, catI.t_f, catI.t_w, catI.k); //Section = secI; Section = section; }
private void CreateBeam() { FlexuralMemberFactory factory = new FlexuralMemberFactory(); AiscShapeFactory AiscShapeFactory = new AiscShapeFactory(); ISection section = AiscShapeFactory.GetShape("C15X33.9", ShapeTypeSteel.Channel); SteelMaterial mat = new SteelMaterial(36.0, 29000); beam = factory.GetBeam(section, mat, null, MomentAxis.XAxis, FlexuralCompressionFiberPosition.Top); }
private void CreateBeam() { FlexuralMemberFactory factory = new FlexuralMemberFactory(); AiscShapeFactory AiscShapeFactory = new AiscShapeFactory(); ISection section = AiscShapeFactory.GetShape("HSS8X6X.500", ShapeTypeSteel.RectangularHSS); SteelMaterial mat = new SteelMaterial(46.0, 29000); beam = factory.GetBeam(section, mat, null, MomentAxis.XAxis, FlexuralCompressionFiberPosition.Top); }
private void CreateColumn(double L_ex, double L_ey, double L_ez = 0) { CompressionMemberFactory factory = new CompressionMemberFactory(); AiscShapeFactory ShapeFactory = new AiscShapeFactory(); ISection section = ShapeFactory.GetShape("PIPE8SCH80"); SteelMaterial mat = new SteelMaterial(35.0, 29000); L_ez = L_ez == 0? L_ex : L_ez; column = factory.GetCompressionMember(section, mat, L_ex, L_ey, L_ez); }
private void CreateColumn(double L_ex, double L_ey, double L_ez = 0, string Shape = "W14X82") { CompressionMemberFactory factory = new CompressionMemberFactory(); AiscShapeFactory AiscShapeFactory = new AiscShapeFactory(); ISection section = AiscShapeFactory.GetShape(Shape, ShapeTypeSteel.IShapeRolled); SteelMaterial mat = new SteelMaterial(50.0,29000); L_ez = L_ez == 0? L_ex : L_ez; column = factory.GetCompressionMember(section,mat, L_ex, L_ey, L_ez); }
private void CreateColumn(double L_ex, double L_ey, double L_ez = 0) { CompressionMemberFactory factory = new CompressionMemberFactory(); AiscShapeFactory AiscShapeFactory = new AiscShapeFactory(); ISection section = AiscShapeFactory.GetShape("HSS8X6X.500", ShapeTypeSteel.RectangularHSS); SteelMaterial mat = new SteelMaterial(46.0, 29000); L_ez = L_ez == 0? L_ex : L_ez; column = factory.GetCompressionMember(section, mat, L_ex, L_ey, L_ez); }
public void PipeShapeBeam() { FlexuralMemberFactory factory = new FlexuralMemberFactory(); AiscShapeFactory AiscShapeFactory = new AiscShapeFactory(); ISection r = AiscShapeFactory.GetShape("HSS2.5X.188"); SteelMaterial mat = new SteelMaterial(35.0, 29000); ISteelBeamFlexure beam12 = factory.GetBeam(r, mat, null, MomentAxis.YAxis, FlexuralCompressionFiberPosition.Left); Assert.IsTrue(beam12 != null); }
public void SectionRHSReturnsWeakAxisClone() { AiscShapeFactory factory = new AiscShapeFactory(); ISectionTube section = factory.GetShape("HSS12X6X.375") as ISectionTube; ISection sectionClone = section.GetWeakAxisClone(); double I_x = sectionClone.I_x; double refI_x = 72.9; //Manual gives 10.3 but actual area checked in Autocad is 10.42 double actualTolerance = EvaluateActualTolerance(I_x, refI_x); Assert.LessOrEqual(actualTolerance, tolerance); }
public void FactoryReturnsChannel() { FlexuralMemberFactory factory = new FlexuralMemberFactory(); AiscShapeFactory AiscShapeFactory = new AiscShapeFactory(); ISectionChannel r = new SectionChannel("", 12.0, 6, 0.4, 0.25); SteelMaterial mat = new SteelMaterial(50.0, 29000); ISteelBeamFlexure beam12 = factory.GetBeam(r, mat, null, MomentAxis.XAxis, FlexuralCompressionFiberPosition.Top); Assert.IsTrue(true); }
public void E1AReturnsAxialCapacity() { //AiscCatalogShape section = new AiscCatalogShape("W14X90", null); AiscShapeFactory AiscShapeFactory = new AiscShapeFactory(); ISectionI section = (ISectionI)AiscShapeFactory.GetShape("W14X90", ShapeTypeSteel.IShapeRolled); ISteelMaterial Material = new SteelMaterial(65, 29000); ISteelSection steelSection = new SteelSectionI(section, Material); IShapeCompact col = new IShapeCompact(steelSection, true, 19 * 12, 19 * 12, 19 * 12); double phiPn = col.GetFlexuralBucklingStrength().Value; Assert.True(phiPn == 903); }
public void ShapeFactoryReturnsS_xForAngle() { AiscShapeFactory factory = new AiscShapeFactory(); ISection section = factory.GetShape("L3X3X3/8"); double S_xTop = section.S_xTop; double S_xBot = section.S_xBot; Assert.IsTrue(section is ISectionAngle); double refValue = 0.825; //check double actualTolerance = EvaluateActualTolerance(S_xTop, refValue); Assert.LessOrEqual(actualTolerance, tolerance); }
public void DoublySymmetricIReturnsFlexuralLateralTorsionalBucklingStrengthInelasticW12() { FlexuralMemberFactory factory = new FlexuralMemberFactory(); AiscShapeFactory AiscShapeFactory = new AiscShapeFactory(); ISection section = AiscShapeFactory.GetShape("W12X26", ShapeTypeSteel.IShapeRolled); SteelMaterial mat = new SteelMaterial(50.0, 29000); ISteelBeamFlexure beam12 = factory.GetBeam(section, 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.True(actualTolerance <= tolerance); }
public void AngleReturnsFlexuralLTBStrengthL3X3() { FlexuralMemberFactory factory = new FlexuralMemberFactory(); AiscShapeFactory AiscShapeFactory = new AiscShapeFactory(); ISection section = AiscShapeFactory.GetShape("L3X3X3/8", ShapeTypeSteel.Angle); SteelMaterial mat = new SteelMaterial(36.0, 29000); ISteelBeamFlexure thisBeam = factory.GetBeam(section, mat, null, MomentAxis.XAxis, FlexuralCompressionFiberPosition.Top); SteelLimitStateValue LTB = beam.GetFlexuralLateralTorsionalBucklingStrength(1.0, 4.5 * 12, FlexuralCompressionFiberPosition.Top, Steel.AISC.FlexuralAndTorsionalBracingType.NoLateralBracing); double phiM_n = LTB.Value; double refValue = 88.9; double actualTolerance = EvaluateActualTolerance(phiM_n, refValue); Assert.True(actualTolerance <= tolerance); }
public void DoublySymmetricIReturnsFlexuralMinorAxisYieldingStrength() { FlexuralMemberFactory factory = new FlexuralMemberFactory(); AiscShapeFactory AiscShapeFactory = new AiscShapeFactory(); ISection section = AiscShapeFactory.GetShape("W18X35", ShapeTypeSteel.IShapeRolled); SteelMaterial mat = new SteelMaterial(50.0, 29000); beam = factory.GetBeam(section, mat, null, MomentAxis.YAxis, FlexuralCompressionFiberPosition.Top); SteelLimitStateValue Y = beam.GetFlexuralYieldingStrength(FlexuralCompressionFiberPosition.Top); double phiM_n = Y.Value; double refValue = 0.9 * Math.Min(50.0 * 8.06, 1.6 * 50.0 * 5.12); double actualTolerance = EvaluateActualTolerance(phiM_n, refValue); Assert.LessOrEqual(actualTolerance, tolerance); }
private CompositeBeamSection GetBeamForTests(double SumQ_n) { double Y_2 = 5; double f_cPrime = 4; double h_solid = 3; double b_eff; double h_rib = 3; b_eff = SumQ_n / ((h_rib + h_solid - Y_2) * 2 * 0.85 * f_cPrime); //Back calculate b_eff to get the round number from AISC manual double Y_2T = h_solid - (SumQ_n / (0.85 * f_cPrime * b_eff) / 2.0) + h_rib; //test AiscShapeFactory factory = new AiscShapeFactory(); ISection section = factory.GetShape("W18X35", ShapeTypeSteel.IShapeRolled); PredefinedSectionI catI = section as PredefinedSectionI; SectionIRolled secI = new SectionIRolled("", catI.d, catI.b_fTop, catI.t_f, catI.t_w, catI.k); CompositeBeamSection cs = new CompositeBeamSection(secI, b_eff, h_solid, h_rib, 50.0, f_cPrime); return(cs); }
public void IShapeReturnsYieldStrength() { FlexuralMemberFactory factory = new FlexuralMemberFactory(); AiscShapeFactory AiscShapeFactory = new AiscShapeFactory(); ISection r = AiscShapeFactory.GetShape("W18X35"); SteelMaterial mat = new SteelMaterial(50.0, 29000); ISteelBeamFlexure beam12 = factory.GetBeam(r, mat, null, MomentAxis.XAxis, FlexuralCompressionFiberPosition.Top); SteelLimitStateValue Y = beam12.GetFlexuralYieldingStrength(FlexuralCompressionFiberPosition.Top); double phiM_n = Y.Value; double refValue = 249 * 12; // from AISC Steel Manual Table 3-2 double actualTolerance = EvaluateActualTolerance(phiM_n, refValue); Assert.LessOrEqual(actualTolerance, tolerance); }
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); }
public void IShapeReturnsWeakAxisYieldStrength() { FlexuralMemberFactory factory = new FlexuralMemberFactory(); AiscShapeFactory AiscShapeFactory = new AiscShapeFactory(); ISection r = AiscShapeFactory.GetShape("W18X35"); SteelMaterial mat = new SteelMaterial(50.0, 29000); ISteelBeamFlexure beam12 = factory.GetBeam(r, mat, null, MomentAxis.YAxis, FlexuralCompressionFiberPosition.Left); SteelLimitStateValue Y = beam12.GetFlexuralYieldingStrength(FlexuralCompressionFiberPosition.Top); double phiM_n = Y.Value; double refValue = 0.9 * 8.06 * 50; // phi*Z_y*Fy double actualTolerance = EvaluateActualTolerance(phiM_n, refValue); Assert.True(actualTolerance <= tolerance); }
public static Dictionary <string, object> EffectiveFlangeForce(string ShapeId, double F_y, double g, double P, double M_x, double M_y, string Code = "AISC360-10") { //Default values double f_f = 0; AiscShapeFactory AiscShapeFactory = new AiscShapeFactory(); ISection section = AiscShapeFactory.GetShape(ShapeId, ShapeTypeSteel.IShapeRolled); //Calculation logic: if (section is PredefinedSectionI) { ColumnFlangeSplice sp = new ColumnFlangeSplice(section as PredefinedSectionI, F_y, g); f_f = sp.GetEffectiveFlangeForce(P, M_x, M_y); } return(new Dictionary <string, object> { { "f_f", f_f } }); }
public void TubeReturnsWeakAxisYieldStrength() { FlexuralMemberFactory factory = new FlexuralMemberFactory(); AiscShapeFactory AiscShapeFactory = new AiscShapeFactory(); ISection r = AiscShapeFactory.GetShape("HSS8X3X.375"); SteelMaterial mat = new SteelMaterial(46.0, 29000); ISteelBeamFlexure beam12 = factory.GetBeam(r, mat, null, MomentAxis.YAxis, FlexuralCompressionFiberPosition.Top); SteelLimitStateValue Y = beam12.GetFlexuralYieldingStrength(FlexuralCompressionFiberPosition.Top); double phiM_n = Y.Value; double refValue = 326.23; double actualTolerance = EvaluateActualTolerance(phiM_n, refValue); Assert.LessOrEqual(actualTolerance, tolerance); }
//4.4 EXAMPLE 2: STEEL BEAM WITH //UNREINFORCED OPENING private void SetExample2Values() { A_s = 16.2; d = 18.11; t_w = 0.39; h_0 = 11.00; a_o = 20.0; s_b = 3.555; s_t = 3.55; DeltaA_s = 4.29; A_sn = 11.91; AiscShapeFactory f = new AiscShapeFactory(); section = f.GetShape("W18X55") as ISectionI; F_y = 50.0; f_cPrime = 3.0; e = 0.0; t_r = 0.375; b_r = 1.75; }