public ConcreteSectionCompression GetConcreteExampleColumn() { double b = 16; double h = 16; double f_c = 5000; List <RebarPoint> LongitudinalBars = new List <RebarPoint>(); Rebar thisBar1 = new Rebar(4, new MaterialAstmA615(A615Grade.Grade60)); RebarPoint point1 = new RebarPoint(thisBar1, new RebarCoordinate() { X = 0, Y = -h / 2.0 + 2.5 }); LongitudinalBars.Add(point1); Rebar thisBar2 = new Rebar(4, new MaterialAstmA615(A615Grade.Grade60)); RebarPoint point2 = new RebarPoint(thisBar2, new RebarCoordinate() { X = 0, Y = h / 2.0 - 2.5 }); LongitudinalBars.Add(point2); //ConcreteSectionCompression column = GetConcreteCompressionMember(b, h, f_c, LongitudinalBars, CompressionMemberType.NonPrestressedWithTies); ConcreteSectionCompression column = GetConcreteCompressionMember(b, h, f_c, LongitudinalBars, ConfinementReinforcementType.Ties); return(column); }
public ConcreteSectionFlexure GetConcreteBeam(double Width, double Height, double fc, bool IsBottomReinforced, params RebarInput[] rebarInput) { IConcreteSection Section = GetRectangularSection(Width, Height, fc); List <RebarPoint> LongitudinalBars = new List <RebarPoint>(); if (IsBottomReinforced == true) { foreach (var bar in rebarInput) { Rebar thisBar = new Rebar(bar.Area, new MaterialAstmA615(A615Grade.Grade60)); RebarPoint point = new RebarPoint(thisBar, new RebarCoordinate() { X = 0, Y = -Height / 2.0 + bar.Cover }); LongitudinalBars.Add(point); } } else { foreach (var bar in rebarInput) { Rebar thisBar = new Rebar(bar.Area, new MaterialAstmA615(A615Grade.Grade60)); RebarPoint point = new RebarPoint(thisBar, new RebarCoordinate() { X = 0, Y = Height / 2.0 - bar.Cover }); LongitudinalBars.Add(point); } } ConcreteSectionFlexure beam = new ConcreteSectionFlexure(Section, LongitudinalBars, log, ConfinementReinforcementType.NoReinforcement); return(beam); }
public void BeamReturnsphiMn() { var ConcreteMaterial = new Kodestruct.Concrete.ACI318_14.Materials.ConcreteMaterial(6000, ACI.Entities.ConcreteTypeByWeight.Normalweight, null); FlexuralSectionFactory flexureFactory = new FlexuralSectionFactory(); double b = 16; double h = 40; double f_y = 60000; RebarMaterialGeneral LongitudinalRebarMaterial = new RebarMaterialGeneral(f_y); List <RebarPoint> LongitudinalBars = new List <RebarPoint>(); Rebar TopRebar = new Rebar(4, LongitudinalRebarMaterial); RebarPoint TopPoint = new RebarPoint(TopRebar, new RebarCoordinate() { X = 0, Y = h / 2.0 - 3 }); LongitudinalBars.Add(TopPoint); Rebar BottomRebar = new Rebar(4, LongitudinalRebarMaterial); RebarPoint BottomPoint = new RebarPoint(BottomRebar, new RebarCoordinate() { X = 0, Y = -h / 2.0 + 3 }); LongitudinalBars.Add(BottomPoint); CrossSectionRectangularShape shape = new CrossSectionRectangularShape(ConcreteMaterial, null, b, h); IConcreteFlexuralMember fs = new ConcreteSectionFlexure(shape, LongitudinalBars, null, ConfinementReinforcementType.Ties); ConcreteFlexuralStrengthResult result = fs.GetDesignFlexuralStrength(FlexuralCompressionFiberPosition.Top); }
public ConcreteSectionFlexure GetNonPrestressedDoublyReinforcedRectangularSection(double b, double h, double A_s1, double A_s2, double c_cntr1, double c_cntr2, double A_s_prime1, double A_s_prime2, double c_cntr_prime1, double c_cntr_prime2, ConcreteMaterial concrete, IRebarMaterial rebar, ConfinementReinforcementType ConfinementReinforcementType) { CrossSectionRectangularShape Section = new CrossSectionRectangularShape(concrete, null, b, h); List <RebarPoint> LongitudinalBars = new List <RebarPoint>(); Rebar bottom1 = new Rebar(A_s1, rebar); RebarPoint pointBottom1 = new RebarPoint(bottom1, new RebarCoordinate() { X = 0, Y = -h / 2.0 + c_cntr1 }); LongitudinalBars.Add(pointBottom1); if (A_s2 != 0) { Rebar bottom2 = new Rebar(A_s2, rebar); RebarPoint pointBottom2 = new RebarPoint(bottom2, new RebarCoordinate() { X = 0, Y = -h / 2.0 + c_cntr2 }); LongitudinalBars.Add(pointBottom2); } if (A_s_prime1 != 0) { Rebar top1 = new Rebar(A_s_prime1, rebar); RebarPoint pointTop1 = new RebarPoint(top1, new RebarCoordinate() { X = 0, Y = h / 2.0 - c_cntr_prime1 }); LongitudinalBars.Add(pointTop1); } if (A_s_prime2 != 0) { Rebar top2 = new Rebar(A_s_prime2, rebar); RebarPoint pointTop2 = new RebarPoint(top2, new RebarCoordinate() { X = 0, Y = h / 2.0 - c_cntr_prime2 }); LongitudinalBars.Add(pointTop2); } CalcLog log = new CalcLog(); ConcreteSectionFlexure beam = new ConcreteSectionFlexure(Section, LongitudinalBars, log, ConfinementReinforcementType); return(beam); }
private List <RebarPoint> GetLongitudinalBarsFromCoordinates(IRebarMaterial LongitudinalRebarMaterial) { List <RebarPoint> points = new List <RebarPoint>(); List <double> RebarAreas = new List <double>() { 5.04, 5.04, 5.04, 5.04, 5.04, 5.04, 5.04, 5.04, 5.04, 2, 2, 2, 2, 0.576, }; List <double> RebarYs = new List <double>() { -117, -104.25, -91.5, -78.75, -66, -53.25, -40.5, -27.75, -15, -9, 31, 71, 111, 117, }; for (int i = 0; i < RebarAreas.Count(); i++) { RebarPoint pnt = new RebarPoint(new Rebar(RebarAreas[i], LongitudinalRebarMaterial), new RebarCoordinate(0, RebarYs[i])); points.Add(pnt); } return(points); }
public ConcreteSectionFlexure GetConcreteBeam(double Width, double Height, double fc, params RebarInput[] rebarInput) { IConcreteSection Section = GetRectangularSection(Width, Height, fc); List <RebarPoint> LongitudinalBars = new List <RebarPoint>(); foreach (var bar in rebarInput) { Rebar thisBar = new Rebar(bar.Area, new MaterialAstmA615(A615Grade.Grade60)); RebarPoint point = new RebarPoint(thisBar, new RebarCoordinate() { X = 0, Y = -Height / 2.0 + bar.Cover }); LongitudinalBars.Add(point); } ConcreteSectionFlexure beam = new ConcreteSectionFlexure(Section, LongitudinalBars, log); return(beam); }