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;
        }
Esempio n. 3
0
 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 ConcreteSectionOneWayShearNonPrestressed(double d, IConcreteSection Section)

        {
            this.d = d;
            this.Section = Section;
            this.b_w = Section.b_w;
        }
        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;
            }
        }
Esempio n. 6
0
        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);
        }
Esempio n. 8
0
        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);
        }
Esempio n. 9
0
        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);
        }
Esempio n. 11
0
        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));
        }
Esempio n. 12
0
 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;
     }
 }
Esempio n. 13
0
        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;
 }
Esempio n. 15
0
 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)
 {
 }
Esempio n. 18
0
 public ConcreteSectionLongitudinalReinforcedBase(IConcreteSection Section, List <RebarPoint> LongitudinalBars, ICalcLog CalcLog)
     : base(Section, CalcLog)
 {
     this.Section    = Section;
     this.longitBars = LongitudinalBars;
 }
Esempio n. 19
0
 /// <summary>
 ///  Constructor used for flexure and axial load analysis.
 /// </summary>
 public ConcreteSectionFlexure(IConcreteSection Section,
     List<RebarPoint> LongitudinalBars, ICalcLog log)
     : base(Section, LongitudinalBars, log)
 {
     
 }
Esempio n. 20
0
 /// <summary>
 ///  Constructor used for flexure and axial load analysis.
 /// </summary>
 public ConcreteSectionFlexure(IConcreteSection Section,
                               List <RebarPoint> LongitudinalBars, ICalcLog log)
     : base(Section, LongitudinalBars, log)
 {
 }
Esempio n. 21
0
 /// <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)
 {
 }
Esempio n. 22
0
 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;

        }
Esempio n. 27
0
		public ConcreteSectionBase(IConcreteSection Section,  ICalcLog CalcLog)
			: base(CalcLog)
		{
			this.Section = Section;
		}
 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)
 {
 }
 public ReinforcedConcreteBeamNonprestressed(IConcreteSection Section, ICalcLog log)
 {
     this.ConcreteSection = Section;
     this.Log = log;
 }