コード例 #1
0
        /// <summary>
        /// Calculating eccentricity cose by II order
        /// </summary>
        public void Calculate()
        {
            ei = ElementGeometry.li / 400;
            e0 = new List <double>()
            {
                ElementGeometry.h / 30, 20 / 10.0
            }.Max();

            if (ElementGeometry.λ > λ_lim)
            {
                //// drugi red
                var ρ     = 0.01;
                var n_bal = 0.4;
                var n     = Forces.NEd / (ElementGeometry.b * ElementGeometry.h * Material.beton.fcd / 10);
                var nu    = 1 + (ρ * Material.armatura.fyd / Material.beton.fcd / 10);

                var Kφ = 1;
                var Kr = (nu - n) / (nu - n_bal);
                Kr = Kr >= 1 ? Kr : 1;///if Kr>=1 then use it else use 1
                var t1 = (Material.armatura.fyd * 10 / (Material.armatura.Es * 1000));
                var t2 = (1 / (0.45 * (ElementGeometry.h - ElementGeometry.d1)));
                var Ko = (Material.armatura.fyd / (Material.armatura.Es * 100)) * (1 / (0.45 * (ElementGeometry.h - ElementGeometry.d1)));

                var K = Kφ * Kr * Ko;

                e2 = K * Math.Pow(ElementGeometry.li, 2) * 1 / Math.Pow(Math.PI, 2);
            }
            MEd = Forces.MEd(e2);
        }