public void ColumnDistributedInteractionReturnsSPCOL_Nominal2() { double b = 16; double h = 16; double f_c = 5000; List <RebarPoint> LongitudinalBars = new List <RebarPoint>(); FlexuralSectionFactory flexureFactory = new FlexuralSectionFactory(); CompressionSectionFactory compressionFactory = new CompressionSectionFactory(); IConcreteMaterial mat = GetConcreteMaterial(f_c); IRebarMaterial rebarMat = new MaterialAstmA615(A615Grade.Grade60); ConcreteSectionFlexure flexureMember = flexureFactory.GetRectangularSectionFourSidesDistributed(b, h, 4.0, 0, 2.5, 2.5, mat, rebarMat, ConfinementReinforcementType.Ties, 1); ConcreteSectionCompression col = compressionFactory.GetCompressionMemberFromFlexuralSection(flexureMember, CompressionMemberType.NonPrestressedWithTies); double P = 500 * 1000; double refValue = 369 * 12 * 1000; //from SP column software double M_n = col.GetNominalMomentResult(P, FlexuralCompressionFiberPosition.Top).Moment; double phiM_n_KipFt = M_n / 1000.0 / 12.0; double actualTolerance = EvaluateActualTolerance(M_n, refValue); Assert.LessOrEqual(actualTolerance, tolerance); }
public void ColumnDistributedInteractionReturnsSPCOL_Nominal1_Strains() { double b = 16; double h = 16; double f_c = 5000; List <RebarPoint> LongitudinalBars = new List <RebarPoint>(); FlexuralSectionFactory flexureFactory = new FlexuralSectionFactory(); CompressionSectionFactory compressionFactory = new CompressionSectionFactory(); IConcreteMaterial mat = GetConcreteMaterial(f_c); IRebarMaterial rebarMat = new MaterialAstmA615(A615Grade.Grade60); ConcreteSectionFlexure flexureMember = flexureFactory.GetRectangularSectionFourSidesDistributed(b, h, 4.0, 0, 2.5, 2.5, mat, rebarMat, ConfinementReinforcementType.Ties, 1); ConcreteSectionCompression col = compressionFactory.GetCompressionMemberFromFlexuralSection(flexureMember, CompressionMemberType.NonPrestressedWithTies); double refForce = 1220; double refMoment = 160.8; double SteelStrain = 0.000654; double P = col.SectionAxialForceResultantFunction(SteelStrain) / 1000.0; double actualTolerance = EvaluateActualTolerance(P, refForce); //IStrainCompatibilityAnalysisResult momentResult = col.GetNominalMomentResult(refForce, FlexuralCompressionFiberPosition.Top); //double M_n = momentResult.Moment / 12000.0; Assert.LessOrEqual(actualTolerance, tolerance); }
public void ColumnDistributedInteractionReturnsSPCOL_Nominal0_Strains() { double b = 16; double h = 16; double f_c = 5000; List <RebarPoint> LongitudinalBars = new List <RebarPoint>(); FlexuralSectionFactory flexureFactory = new FlexuralSectionFactory(); CompressionSectionFactory compressionFactory = new CompressionSectionFactory(); IConcreteMaterial mat = GetConcreteMaterial(f_c); IRebarMaterial rebarMat = new MaterialAstmA615(A615Grade.Grade60); ConcreteSectionFlexure flexureMember = flexureFactory.GetRectangularSectionFourSidesDistributed(b, h, 4.0, 0, 2.5, 2.5, mat, rebarMat, ConfinementReinforcementType.Ties, 1); ConcreteSectionCompression col = compressionFactory.GetCompressionMemberFromFlexuralSection(flexureMember, CompressionMemberType.NonPrestressedWithTies); double refForce = 1440; double refMoment = 43.0; double SteelStrain = 0.00126; double P = col.SectionAxialForceResultantFunction(SteelStrain) / 1000.0; double actualTolerance = EvaluateActualTolerance(P, refForce); Assert.True(actualTolerance <= tolerance); }
public ConcreteSectionCompression GetConcreteExampleColumnWithDistributed() { double b = 16; double h = 16; double f_c = 5000; List <RebarPoint> LongitudinalBars = new List <RebarPoint>(); FlexuralSectionFactory flexureFactory = new FlexuralSectionFactory(); CompressionSectionFactory compressionFactory = new CompressionSectionFactory(); IConcreteMaterial mat = GetConcreteMaterial(f_c); IRebarMaterial rebarMat = new MaterialAstmA615(A615Grade.Grade60); ConcreteSectionFlexure flexureMember = flexureFactory.GetRectangularSectionFourSidesDistributed(b, h, 4, 0, 2.5, 2.5, mat, rebarMat); ConcreteSectionCompression column = compressionFactory.GetCompressionMember(flexureMember, CompressionMemberType.NonPrestressedWithTies); return(column); }