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); }
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)); }
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); }
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); }
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); }