Beispiel #1
0
        private double mrdReinforcement(double x)
        {
            var           Mrd  = 0d;
            var           yOsi = this.section.MaxY - x;
            Reinforcement barsTemp;

            for (int i = 0; i <= this.reinforcement.Count - 1; i++)
            {
                barsTemp = this.reinforcement[i];
                var multiplier = barsTemp.IsCompressed ? 1 : -1;
                barsTemp.Sigma   = StressFunctions.SteelStressDesign(barsTemp.Epsilon, this.steel) * multiplier;
                barsTemp.Epsilon = barsTemp.Epsilon * multiplier;
                barsTemp.Force   = barsTemp.Bar.As * barsTemp.Sigma;
                barsTemp.Moment  = barsTemp.Force * (reinforcement[i].Bar.Y - this.section.MinY);
                //if (this.reinforcement[i].Bar.Y > yOsi)
                //{
                Mrd = Mrd + barsTemp.Moment;
                //}
                //else
                //{
                //    Mrd = Mrd - barsTemp.Moment;
                //}
                this.reinforcement[i] = barsTemp;
            }
            return(Mrd);
        }
Beispiel #2
0
        private double forceInAs2(double x)
        {
            var resultantForce = 0d;
            var yNeutralAxis   = this.section.MaxY - x;

            for (int i = 0; i <= this.reinforcement.Count - 1; i++)
            {
                if (this.reinforcement[i].Bar.Y > yNeutralAxis)
                {
                    var di = this.reinforcement[i].D;
                    var e  = this.strainCalculations.StrainInAs2(x, di);
                    resultantForce = resultantForce + this.reinforcement[i].Bar.As * StressFunctions.SteelStressDesign(e, this.steel);
                    var barsTemp = this.reinforcement[i];
                    barsTemp.Epsilon      = e;
                    barsTemp.IsCompressed = true;
                    this.reinforcement[i] = barsTemp;
                }
            }
            return(resultantForce);
        }