public void HssGappedKConnectionReturnsYieldingOfBranchesFromUnevenDistributionValue() { SectionTube ch = new SectionTube(null, 12, 12, 0.625, 0.581); SteelMaterial mat = new SteelMaterial(46.0); SteelRhsSection Chord = new SteelRhsSection(ch, mat); SectionTube mainBranch = new SectionTube(null, 8, 8, 0.375, 0.349); SteelRhsSection MainBranch = new SteelRhsSection(mainBranch, mat); SectionTube secBranch = new SectionTube(null, 8, 8, 0.375, 0.349); SteelRhsSection SecondaryBranch = new SteelRhsSection(secBranch, mat); IHssTrussBranchConnection con = new RhsTrussGappedKConnection(Chord, MainBranch, 45, SecondaryBranch, 45, AxialForceType.Compression, AxialForceType.Tension, false, 430, 0 ); //Note: not clear in the design guide why moment is ignored in chord utilization calculation double phiP_nMain = con.GetChordWallPlastificationStrength(true).Value; double refValueMain = 415; double actualToleranceMain = EvaluateActualTolerance(phiP_nMain, refValueMain); Assert.True(actualToleranceMain <= tolerance); double phiP_nSec = con.GetBranchYieldingFromUnevenLoadDistributionStrength(false).Value; double refValueSec = 415; double actualToleranceSec = EvaluateActualTolerance(phiP_nSec, refValueSec); Assert.True(actualToleranceSec <= tolerance); }
public void HssOverlappedKConnectionReturnsYieldingOfBranchesFromUnevenDistributionValue() { SectionTube ch = new SectionTube(null, 8, 8, 0.5, 0.465); SteelMaterial mat = new SteelMaterial(46.0); SteelRhsSection Chord = new SteelRhsSection(ch, mat); SectionTube mainBranch = new SectionTube(null, 6, 4, 5.0 / 16.0, 0.291); SteelRhsSection MainBranch = new SteelRhsSection(mainBranch, mat); SectionTube secBranch = new SectionTube(null, 5, 3, 1.0 / 4.0, 0.233); SteelRhsSection SecondaryBranch = new SteelRhsSection(secBranch, mat); double O_v = 0.533; IHssTrussBranchConnection con = new RhsTrussOverlappedConnection(Chord, MainBranch, 45, SecondaryBranch, 45, AxialForceType.Compression, AxialForceType.Tension, false, 0, 0, O_v ); double phiP_nMain = con.GetBranchYieldingFromUnevenLoadDistributionStrength(true).Value; double refValueMain = 236; double actualToleranceMain = EvaluateActualTolerance(phiP_nMain, refValueMain); Assert.True(actualToleranceMain <= tolerance); double phiP_nSec = con.GetBranchYieldingFromUnevenLoadDistributionStrength(false).Value; double refValueSec = 151; double actualToleranceSec = EvaluateActualTolerance(phiP_nSec, refValueSec); Assert.True(actualToleranceSec <= tolerance); }
public void SteelRhsSectionReturnsArea() { SectionTube secChord = new SectionTube(null, 8, 8, 1 / 4.0, 0.93 * (1 / 4.0), 0.35); double A = secChord.A; double refValue = 7.1; double actualTolerance = EvaluateActualTolerance(A, refValue); Assert.LessOrEqual(actualTolerance, tolerance); }
public void SteelRhsSectionReturnsDesignWall() { SectionTube secChord = new SectionTube(null, 8, 8, 1 / 4.0, 0.93 * (1 / 4.0), 0.35); double t_des = secChord.t_des; double refValue = 0.2325; double actualTolerance = EvaluateActualTolerance(t_des, refValue); Assert.LessOrEqual(actualTolerance, tolerance); }
private void CreateElements() { SectionTube ch = new SectionTube(null, 8, 8, 1 / 4.0, 0.93 * (1.0 / 4.0), 0.35); SteelMaterial mat = new SteelMaterial(46.0); Chord = new SteelRhsSection(ch, mat); SectionTube br = new SectionTube(null, 6, 8, 3.0 / 8.0, 0.93 * (3.0 / 8.0), 0.35); Branch = new SteelRhsSection(br, mat); }
public void HssRhsConcentratedForceLongitudinalPlateReturnsValue() { SectionTube ch = new SectionTube(null, 8, 8, 0.25, 0.93 * 0.25, 1.5 * 0.25); SteelMaterial matE = new SteelMaterial(46.0, 65, SteelConstants.ModulusOfElasticity, SteelConstants.ShearModulus); SteelRhsSection Element = new SteelRhsSection(ch, matE); SectionRectangular rec = new SectionRectangular(0.25, 8.0); SteelMaterial matR = new SteelMaterial(36.0); SteelPlateSection pl = new SteelPlateSection(rec, matR); CalcLog log = new CalcLog(); RhsLongitudinalPlate concForceConnection = new RhsLongitudinalPlate(Element, pl, log, false, 45.0, 148.0, 0.0); double phiR_n = concForceConnection.GetHssMaximumPlateThicknessForShearLoad().Value; //double refValueSec = 46.2; //double actualToleranceSec = EvaluateActualTolerance(phiR_n, refValueSec); //Assert.LessOrEqual(actualToleranceSec, tolerance); }
public void HssRhsConcentratedForceThroughPlateReturnsValue() { SectionTube ch = new SectionTube(null, 8, 8, 0.25, 0.93 * 0.25, 1.5 * 0.25); SteelMaterial matE = new SteelMaterial(46.0); SteelRhsSection Element = new SteelRhsSection(ch, matE); SectionRectangular rec = new SectionRectangular(0.25, 8.0); SteelMaterial matR = new SteelMaterial(36.0); SteelPlateSection pl = new SteelPlateSection(rec, matR); CalcLog log = new CalcLog(); RhsLongitudinalThroughPlate concForceConnection = new RhsLongitudinalThroughPlate(Element, pl, log, false, 45.0, 148.0, 0.0); double phiR_n = concForceConnection.GetHssWallPlastificationStrengthUnderAxialLoad().Value; double refValueSec = 46.2; double actualToleranceSec = EvaluateActualTolerance(phiR_n, refValueSec); Assert.True(actualToleranceSec <= tolerance); }
public ISliceableSection GetSliceableShape() { SectionTube secI = new SectionTube("", this.H, this.B, this.t_nom, this.t_des, CornerRadiusOutside); return(secI); }