public ConcreteSectionFlexure GetRectangularSectionFourSidesDistributed(double b, double h, double A_sTopBottom, double A_sLeftRight, double c_centTopBottom, double c_centLeftRight, IConcreteMaterial mat, IRebarMaterial rebarMaterial) { double YTop = h / 2.0 - c_centTopBottom; double YBottom = -h / 2.0 + c_centTopBottom; double XLeft = -b / 2.0 + c_centLeftRight; double XRight = b / 2.0 - c_centLeftRight; Point2D P1 = new Point2D(XLeft, YTop); Point2D P2 = new Point2D(XRight, YTop); Point2D P3 = new Point2D(XRight, YBottom); Point2D P4 = new Point2D(XLeft, YBottom); RebarLine topLine = new RebarLine(A_sTopBottom, P1, P2, rebarMaterial, false); RebarLine bottomLine = new RebarLine(A_sTopBottom, P3, P4, rebarMaterial, false); RebarLine leftLine = new RebarLine(A_sLeftRight, P2, P3, rebarMaterial, true); RebarLine rightLine = new RebarLine(A_sLeftRight, P4, P1, rebarMaterial, true); List<RebarPoint> LongitudinalBars = new List<RebarPoint>(); LongitudinalBars.AddRange(topLine.RebarPoints); LongitudinalBars.AddRange(bottomLine.RebarPoints); LongitudinalBars.AddRange(leftLine.RebarPoints); LongitudinalBars.AddRange(rightLine.RebarPoints); CrossSectionRectangularShape section = new CrossSectionRectangularShape(mat, null, b, h); CalcLog log = new CalcLog(); ConcreteSectionFlexure sectionFlexure = new ConcreteSectionFlexure(section, LongitudinalBars, log); return sectionFlexure; }
public ConcreteSectionFlexure GetRectangularSectionFourSidesDistributed(double b, double h, double A_sTopBottom, double A_sLeftRight, double c_centTopBottom, double c_centLeftRight, IConcreteMaterial mat, IRebarMaterial rebarMaterial) { double YTop = h / 2.0 - c_centTopBottom; double YBottom = -h / 2.0 + c_centTopBottom; double XLeft = -b / 2.0 + c_centLeftRight; double XRight = b / 2.0 - c_centLeftRight; Point2D P1 = new Point2D(XLeft, YTop); Point2D P2 = new Point2D(XRight, YTop); Point2D P3 = new Point2D(XRight, YBottom); Point2D P4 = new Point2D(XLeft, YBottom); RebarLine topLine = new RebarLine(A_sTopBottom, P1, P2, rebarMaterial, false); RebarLine bottomLine = new RebarLine(A_sTopBottom, P3, P4, rebarMaterial, false); RebarLine leftLine = new RebarLine(A_sLeftRight, P2, P3, rebarMaterial, true); RebarLine rightLine = new RebarLine(A_sLeftRight, P4, P1, rebarMaterial, true); List <RebarPoint> LongitudinalBars = new List <RebarPoint>(); LongitudinalBars.AddRange(topLine.RebarPoints); LongitudinalBars.AddRange(bottomLine.RebarPoints); LongitudinalBars.AddRange(leftLine.RebarPoints); LongitudinalBars.AddRange(rightLine.RebarPoints); CrossSectionRectangularShape section = new CrossSectionRectangularShape(mat, null, b, h); CalcLog log = new CalcLog(); ConcreteSectionFlexure sectionFlexure = new ConcreteSectionFlexure(section, LongitudinalBars, log); return(sectionFlexure); }
public ConcreteSectionCompression GetCompressionMember(ConcreteSectionFlexure flexuralSection, CompressionMemberType CompressionMemberType) { CalcLog log = new CalcLog(); ConcreteSectionCompression compSection = new ConcreteSectionCompression(flexuralSection, CompressionMemberType, log); return compSection; }
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) { 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); return(beam); }
internal RectangularSectionSinglyReinforced(double b, double h, double A_s, double c_cntr, ConcreteMaterial ConcreteMaterial, RebarMaterial LongitudinalRebarMaterial, bool hasTies=false) { CrossSectionRectangularShape shape = new CrossSectionRectangularShape(ConcreteMaterial.Concrete, null, b, h); base.ConcreteMaterial = ConcreteMaterial; //duplicate save of concrete material into base Dynamo class List<wosadAci.RebarPoint> LongitudinalBars = new List<wosadAci.RebarPoint>(); wosadAci.Rebar thisBar = new wosadAci.Rebar(A_s, LongitudinalRebarMaterial.Material); wosadAci.RebarPoint point = new wosadAci.RebarPoint(thisBar, new wosadAci.RebarCoordinate() { X = 0, Y = -h / 2.0 + c_cntr }); LongitudinalBars.Add(point); wosadAci.IConcreteFlexuralMember fs = new wosadAci14.ConcreteSectionFlexure(shape, LongitudinalBars, new CalcLog()); this.FlexuralSection = fs; }
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; }
public ConcreteSectionCompression(ConcreteSectionFlexure FlexuralSection, CompressionMemberType CompressionMemberType, ICalcLog log) : base(FlexuralSection.Section, FlexuralSection.LongitudinalBars, log) { this.CompressionMemberType = CompressionMemberType; }
public ConcreteSectionCompression(ConcreteSectionFlexure FlexuralSection, CompressionMemberType CompressionMemberType, ICalcLog log) : base(FlexuralSection.Section, FlexuralSection.LongitudinalBars, log) { this.CompressionMemberType = CompressionMemberType; }
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) { 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); return beam; }
public ConcreteFlexuralStrengthResult GetFlexuralDesignStrength(List <RebarPoint> LongitudinalBars, FlexuralCompressionFiberPosition CompressionFiber, ConfinementReinforcementType ConfinementReinforcementType) { ConcreteSectionFlexure s = new ConcreteSectionFlexure(this.ConcreteSection, LongitudinalBars, Log); return(s.GetDesignFlexuralStrength(CompressionFiber, ConfinementReinforcementType)); }
public ConcreteFlexuralStrengthResult GetFlexuralDesignStrength(List<RebarPoint> LongitudinalBars, FlexuralCompressionFiberPosition CompressionFiber, ConfinementReinforcementType ConfinementReinforcementType) { ConcreteSectionFlexure s = new ConcreteSectionFlexure(this.ConcreteSection, LongitudinalBars, Log); return s.GetDesignFlexuralStrength(CompressionFiber, ConfinementReinforcementType); }