Esempio n. 1
0
     public override string ToString()
     {
         return($@"//////Result///////
 Forces:
     {"Msd:",-12}{Forces.Msd,13:F2}{"kNm",-5}
     {"Nsd:",-12}{Forces.Nsd,13:F2}{"kN",-5}
     {"Msds:",-12}{Forces.Msds(Geometry.h, Geometry.d1),13:F2}{"kNm",-5} 
 Material:
     Reinforcement:  {Material.armatura}
     Concrete:       {Material.beton}
 Geometry:
     {"b:",-12}{Geometry.b,13:F2}{Geometry.unit,-5}
     {"h:",-12}{Geometry.h,13:F2}{Geometry.unit,-5}
     {"d1:",-12}{Geometry.d1,13:F2}{Geometry.unit,-5}
     {"d2:",-12}{Geometry.d2,13:F2}{Geometry.unit,-5}
     {"d:",-12}{Geometry.d,13:F2}{Geometry.unit,-5}
 Result:
     {"εc/εs1:",-12}{KofZaProracunPravougaonogPreseka.εc,13:F3}{"/",1}{KofZaProracunPravougaonogPreseka.εs1,-5:F3}{"‰",1}
     {"εs2:",-12}{KofZaProracunPravougaonogPreseka.εs2(Geometry.d, Geometry.d2),13:F3}{"‰",-5}
     {"μSd:",-12}{KofZaProracunPravougaonogPreseka.μRd,13:F3}{"",-5}
     {"x:",-12}{X,13:F2}{"",-5}
     {"As1_req:",-12}{As1_pot,13:F2}{"cm2",-5}
     {"As2_req:",-12}{As2_pot,13:F2}{"cm2",-5}
     {"μSd_lim:",-12}{Kof_lim.μRd,13:F3}");
     }
Esempio n. 2
0
        private void ReinforcementCalc()
        {
            var Msds = Forces.Msds(Geometry.h, Geometry.d1);

            Mrd_limit = (Kof_lim.μRd * Geometry.b * Math.Pow(Geometry.d, 2) * Material.beton.fcd / 10) / 100;

            if (Msds <= Mrd_limit)
            {
                As1_pot = (KofZaProracunPravougaonogPreseka.ω * Geometry.b * Geometry.d * Material.beton.fcd / 10 / Material.armatura.fyd) + (Forces.Nsd / Material.armatura.fyd);
            }
            else
            {
                As2_pot = (Msds * 100 - Mrd_limit * 100) / ((Geometry.d - Geometry.d2) * Material.armatura.fyd);
                As1_pot = Mrd_limit * 100 / (Kof_lim.ζ * Geometry.d * Material.armatura.fyd) + (Forces.Nsd / Material.armatura.fyd) + As2_pot;

                As2_pot = As2_pot < 0 ? 0 : As2_pot;
            }

            if ((As1_pot + As2_pot) / Geometry.b / Geometry.h > ρ_max)
            {
                throw new Exception("ρ_max exceeded! Make section bigger");
            }

            if (As2_pot != 0)
            {
                KofZaProracunPravougaonogPreseka = Kof_lim;
            }
            X = KofZaProracunPravougaonogPreseka.ξ * Geometry.d;

            if (Forces.IsMsdNegativ)
            {
                As2_pot = As1_pot;
                As1_pot = (Msds * 100 - Mrd_limit * 100) / ((Geometry.d - Geometry.d2) * Material.armatura.fyd);
            }
        }
Esempio n. 3
0
        private void SetKof()
        {
            if (TypeDim == TypeDimensioning.Bound)
            {
                μSd = coeffService.GetByμ(Forces.Msds(Geometry.h, Geometry.d1), Geometry.b, Geometry.d).μRd;
            }
            else
            {
                μSd = coeffService.GetNew(Material.beton.εcu2, Material.armatura.eps_ud).μRd;
            }

            KofZaProracunPravougaonogPreseka = coeffService.GetByμ(μSd);
        }
Esempio n. 4
0
        /// <summary>
        /// If TypeDim == TypeDimensioning.Free
        /// </summary>
        private void FreeDim()
        {
            double d_r = 0;
            double h_r = 0;

            d_r = Math.Sqrt(Forces.Msds(Geometry.h, Geometry.d) * 100 / (Geometry.b * KofZaProracunPravougaonogPreseka.μRd * Material.beton.fcd / 10));
            h_r = d_r + this.Geometry.d1;
            if (h_r % 5 != 0)
            {
                Geometry.h = h_r - (h_r % 5) + 5;
            }
            else
            {
                Geometry.h = h_r;
            }
            ReinforcementCalc();
        }