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 ConcreteSectionOneWayShearNonPrestressed(double d, IConcreteSection Section) { this.d = d; this.Section = Section; this.b_w = Section.b_w; }
public ConcreteFlexuralSectionBase(IConcreteSection Section, List <RebarPoint> LongitudinalBars, ICalcLog log, ConfinementReinforcementType ConfinementReinforcementType = ConfinementReinforcementType.Ties, double ConvergenceToleranceStrain = 0.000002) : base(Section, LongitudinalBars, log, false) { this.ConvergenceToleranceStrain = ConvergenceToleranceStrain; this.ConfinementReinforcementType = ConfinementReinforcementType; }
public ConcreteSectionCompression(IConcreteSection Section, List <RebarPoint> LongitudinalBars, CompressionMemberType CompressionMemberType, ICalcLog log) : base(Section, LongitudinalBars, log) { this.CompressionMemberType = CompressionMemberType; switch (CompressionMemberType) { case CompressionMemberType.NonPrestressedWithTies: ConfinementReinforcementType = ACI.ConfinementReinforcementType.Ties; break; case CompressionMemberType.NonPrestressedWithSpirals: ConfinementReinforcementType = ConfinementReinforcementType.Spiral; break; case CompressionMemberType.PrestressedWithTies: ConfinementReinforcementType = ConfinementReinforcementType.Ties; break; case CompressionMemberType.PrestressedWithSpirals: ConfinementReinforcementType = ConfinementReinforcementType.Spiral; break; default: ConfinementReinforcementType = ACI.ConfinementReinforcementType.Ties; break; } }
public ConcreteSectionOneWayShearNonPrestressed GetConcreteOneWayShearBeam(double Width, double Height, double fc, double d, bool IsLightWeight) { IConcreteSection Section = GetRectangularSection(Width, Height, fc, IsLightWeight); ConcreteSectionOneWayShearNonPrestressed beam = new ConcreteSectionOneWayShearNonPrestressed(d, Section); return(beam); }
public ConcreteSectionCompression GetConcreteCompressionMember(double Width, double Height, double fc, List <RebarPoint> LongitudinalBars, CompressionMemberType CompressionMemberType) { CalcLog log = new CalcLog(); IConcreteSection Section = GetRectangularSection(Width, Height, fc); ConcreteSectionCompression column = new ConcreteSectionCompression(Section, LongitudinalBars, CompressionMemberType, log); return(column); }
public ConcreteSectionCompression GetConcreteCompressionMember(double Width, double Height, double fc, List <RebarPoint> LongitudinalBars, ConfinementReinforcementType ConfinementReinforcementType) { CalcLog log = new CalcLog(); IConcreteSection Section = GetRectangularSection(Width, Height, fc); IConcreteFlexuralMember fs = new ConcreteSectionFlexure(Section, LongitudinalBars, new CalcLog(), ConfinementReinforcementType); ConcreteSectionCompression column = new ConcreteSectionCompression(fs as IConcreteSectionWithLongitudinalRebar, ConfinementReinforcementType, log); return(column); }
public ConcreteSectionTorsion GetConcreteTorsionBeam(double Width, double Height, double fc, double d, bool IsLightWeight, double c_cent) { IConcreteSection Section = GetRectangularSection(Width, Height, fc, IsLightWeight); TorsionShapeFactory tss = new TorsionShapeFactory(); IConcreteTorsionalShape shape = tss.GetShape(Section.SliceableShape, Section.Material, c_cent); ConcreteSectionTorsion s = new ConcreteSectionTorsion(shape); return(s); }
public double GetMinimumTransverseReinforcement(IConcreteSection Section, double f_yt, double s, ICalcLog log) { double f_c = Section.Material.SpecifiedCompressiveStrength; double b_w = Section.b_w; //Table 9.6.3.3—Required Av,min double A_vMin1 = 0.75 * Section.Material.Sqrt_f_c_prime * ((b_w) / (f_yt)) * s; double A_vMin2 = 50 * ((b_w) / (f_yt)) * s; return Math.Max(A_vMin1, A_vMin2); }
public double GetMinimumTransverseReinforcement(IConcreteSection Section, double f_yt, double s, ICalcLog log) { double f_c = Section.Material.SpecifiedCompressiveStrength; double b_w = Section.b_w; //Table 9.6.3.3—Required Av,min double A_vMin1 = 0.75 * Section.Material.Sqrt_f_c_prime * ((b_w) / (f_yt)) * s; double A_vMin2 = 50 * ((b_w) / (f_yt)) * s; return(Math.Max(A_vMin1, A_vMin2)); }
public ConcreteSectionLongitudinalReinforcedBase(IConcreteSection Section, List <RebarPoint> LongitudinalBars, ICalcLog CalcLog, bool UseTransformedSectionForCentroidCalculations = false) : base(Section, CalcLog) { this.Section = Section; this.longitBars = LongitudinalBars; this.UseTransformedSectionForCentroidCalculations = UseTransformedSectionForCentroidCalculations; if (UseTransformedSectionForCentroidCalculations == true) { this.TransformedSection = CalculateTransformedSection(); } else { this.TransformedSection = Section.SliceableShape as ISliceableSection; } }
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 ReinforcedConcreteBeamNonprestressed(IConcreteSection Section, ICalcLog log) { this.ConcreteSection = Section; this.Log = log; }
public ConcreteSectionBase(IConcreteSection Section, ICalcLog CalcLog) : base(CalcLog) { this.Section = Section; }
public ConcreteCompressionSectionBase(IConcreteSection Section, List <RebarPoint> LongitudinalBars, ICalcLog log) : base(Section, LongitudinalBars, log) { }
public PrestressedBeamSectionBase(IConcreteSection Section, List <RebarPoint> LongitudinalBars, ICalcLog log) : base(Section, LongitudinalBars, log) { }
public ConcreteSectionLongitudinalReinforcedBase(IConcreteSection Section, List <RebarPoint> LongitudinalBars, ICalcLog CalcLog) : base(Section, CalcLog) { this.Section = Section; this.longitBars = LongitudinalBars; }
/// <summary> /// Constructor used for flexure and axial load analysis. /// </summary> public ConcreteSectionFlexure(IConcreteSection Section, List<RebarPoint> LongitudinalBars, ICalcLog log) : base(Section, LongitudinalBars, log) { }
/// <summary> /// Constructor used for flexure and axial load analysis. /// </summary> public ConcreteSectionFlexure(IConcreteSection Section, List <RebarPoint> LongitudinalBars, ICalcLog log) : base(Section, LongitudinalBars, log) { }
/// <summary> /// Constructor used for flexure and axial load analysis. /// </summary> public ConcreteSectionFlexure(IConcreteSection Section, List <RebarPoint> LongitudinalBars, ICalcLog log, ConfinementReinforcementType ConfinementReinforcementType) : base(Section, LongitudinalBars, log, ConfinementReinforcementType) { }
public ConcreteSectionCompression(IConcreteSection Section, List <RebarPoint> LongitudinalBars, CompressionMemberType CompressionMemberType, ICalcLog log) : base(Section, LongitudinalBars, log) { this.CompressionMemberType = CompressionMemberType; }
public ReinforcedConcreteBeamNonprestressed(IConcreteSection Section, ConfinementReinforcementType ConfinementReinforcementType, ICalcLog log) { this.ConcreteSection = Section; this.Log = log; this.ConfinementReinforcementType = ConfinementReinforcementType; }
public ConcreteSectionLongitudinalReinforcedBase(IConcreteSection Section, List<RebarPoint> LongitudinalBars, ICalcLog CalcLog) : base(Section,CalcLog) { this.Section = Section; this.longitBars = LongitudinalBars; }
public PrestressedBeamSectionBase(IConcreteSection Section, List<RebarPoint> LongitudinalBars, ICalcLog log) : base(Section, LongitudinalBars, log) { }
public ConcreteFlexuralSectionBase(IConcreteSection Section, List<RebarPoint> LongitudinalBars, ICalcLog log, double ConvergenceToleranceStrain = 0.000002) : base(Section, LongitudinalBars, log) { this.ConvergenceToleranceStrain = ConvergenceToleranceStrain; }
public ConcreteSectionCompression(IConcreteSection Section, List<RebarPoint> LongitudinalBars, CompressionMemberType CompressionMemberType, ICalcLog log) : base(Section, LongitudinalBars, log) { this.CompressionMemberType = CompressionMemberType; }
public CMUSectionLongitunallyReinforced(IConcreteSection Section, List <RebarPoint> LongitudinalBars, ICalcLog CalcLog) : base(Section, LongitudinalBars, CalcLog) { }
public ConcreteCompressionSectionBase(IConcreteSection Section, List<RebarPoint> LongitudinalBars, ICalcLog log) : base(Section, LongitudinalBars, log) { }
public ConcreteFlexuralSectionBase(IConcreteSection Section, List <RebarPoint> LongitudinalBars, ICalcLog log, double ConvergenceToleranceStrain = 0.000002) : base(Section, LongitudinalBars, log) { this.ConvergenceToleranceStrain = ConvergenceToleranceStrain; }
public PrestressedBeamSectionBase(IConcreteSection Section, List <RebarPoint> LongitudinalBars, ICalcLog log, ConfinementReinforcementType ConfinementReinforcementType) : base(Section, LongitudinalBars, log, ConfinementReinforcementType) { }