コード例 #1
0
        public void GeneralBeamFlexuralCapacityTopReturnsNominalValue()
        {
            double fc = 4000.0;
            FlexuralSectionFactory sf         = new FlexuralSectionFactory();
            IConcreteMaterial      mat        = GetConcreteMaterial(fc);
            List <Point2D>         PolyPoints = new List <Point2D>()
            {
                new Point2D(-6.0, 0.0),
                new Point2D(-6.0, 12.0),
                new Point2D(6.0, 12.0),
                new Point2D(6.0, 0)
            };

            Rebar             thisBar     = new Rebar(1.0, new MaterialAstmA615(A615Grade.Grade60));
            var               coord       = new RebarCoordinate(0, 1.0);
            List <RebarPoint> RebarPoints = new List <RebarPoint>()
            {
                new RebarPoint(thisBar, coord)
            };
            //GetGeneralSection(List<Point2D> PolygonPoints,
            //ConcreteMaterial Concrete, List<RebarPoint> RebarPoints, double b_w, double d)
            ConcreteSectionFlexure             beam    = sf.GetGeneralSection(PolyPoints, mat, RebarPoints, 12.0, 9.0);
            IStrainCompatibilityAnalysisResult MResult = beam.GetNominalFlexuralCapacity(FlexuralCompressionFiberPosition.Top);
            double M_n = MResult.Moment / 12000;

            double refValue        = 51.32;
            double actualTolerance = EvaluateActualTolerance(M_n, refValue);

            Assert.LessOrEqual(actualTolerance, tolerance);
        }
コード例 #2
0
        public void ThreeLayerBeamFlexuralCapacityReturnsValue()
        {
            ConcreteSectionFlexure             beam    = GetConcreteBeam(12, 12, 4000, true, new RebarInput(1, 1), new RebarInput(1, 3), new RebarInput(1, 7));
            IStrainCompatibilityAnalysisResult MResult = beam.GetNominalFlexuralCapacity(FlexuralCompressionFiberPosition.Top);
            double phiMn = MResult.Moment;

            Assert.AreEqual(1101327, Math.Round(phiMn, 0));
        }
コード例 #3
0
        public void SimpleBeamFlexuralCapacityCompressionBottomReturnsNominalValue()
        {
            ConcreteSectionFlexure             beam    = GetConcreteBeam(12, 12, 4000, false, new RebarInput(1, 1));
            IStrainCompatibilityAnalysisResult MResult = beam.GetNominalFlexuralCapacity(FlexuralCompressionFiberPosition.Bottom);
            double M_n = MResult.Moment / 12000.0;

            double refValue        = 51.32;
            double actualTolerance = EvaluateActualTolerance(M_n, refValue);

            Assert.LessOrEqual(actualTolerance, tolerance);
        }
コード例 #4
0
        public void SimpleBeamFlexuralCapacityTopReturnsNominalValue()
        {
            ConcreteSectionFlexure             beam    = GetConcreteBeam(12, 20, 4000, true, new RebarInput(4, 2.5));
            IStrainCompatibilityAnalysisResult MResult = beam.GetNominalFlexuralCapacity(FlexuralCompressionFiberPosition.Top);
            double M_n = MResult.Moment;

            double refValue        = 291000 * 12.0;
            double actualTolerance = EvaluateActualTolerance(M_n, refValue);

            Assert.LessOrEqual(actualTolerance, tolerance);
        }
コード例 #5
0
        public void ShearWallFlexuralCapacityTopReturnsNominalValue()
        {
            ConcreteSectionFlexure             beam    = GetShearWall();
            IStrainCompatibilityAnalysisResult MResult = beam.GetNominalFlexuralCapacity(FlexuralCompressionFiberPosition.Top);
            double M_n = MResult.Moment;

            double refValue        = 7182.546387 * 1000.0 * 12.0;
            double actualTolerance = EvaluateActualTolerance(M_n, refValue);

            Assert.True(actualTolerance <= tolerance);
        }