コード例 #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.LessOrEqual(actualToleranceMain, tolerance);

            double phiP_nSec = con.GetBranchYieldingFromUnevenLoadDistributionStrength(false).Value;
            double refValueSec = 415;
            double actualToleranceSec = EvaluateActualTolerance(phiP_nSec, refValueSec);
            Assert.LessOrEqual(actualToleranceSec, tolerance);
        }
コード例 #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.LessOrEqual(actualToleranceMain, tolerance);

            double phiP_nSec = con.GetBranchYieldingFromUnevenLoadDistributionStrength(false).Value;
            double refValueSec = 151;
            double actualToleranceSec = EvaluateActualTolerance(phiP_nSec, refValueSec);
            Assert.LessOrEqual(actualToleranceSec, tolerance);
        }
コード例 #3
0
 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);
 }
コード例 #4
0
 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);
 }
コード例 #5
0
        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);
        }
コード例 #6
0
ファイル: SectionTube.cs プロジェクト: Wosad/Wosad.Dynamo
        internal SectionTube(double H, double B, double t, double t_des)
        {
             if (t_des == 0)
            {
                t_des = t;
            } 

            ISection  r = new ds.SectionTube("", H, B,t,t_des);
            Section = r;
        }
コード例 #7
0
        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.LessOrEqual(actualToleranceSec, tolerance);
        }
コード例 #8
0
 public ISliceableSection GetSliceableShape()
 {
     SectionTube secI = new SectionTube("", this.H, this.B, this.t_nom, this.t_des, CornerRadiusOutside);
     return secI;
 }