Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }