public CoeffForCalcRectCrossSectionModelEC GetByξ(double ξ)
        {
            var t = new CoeffForCalcRectCrossSectionModelEC(Material, Geometry);

            t.SetByξ(ξ);
            return(t);
        }
        public CoeffForCalcRectCrossSectionModelEC GetByμ(double Msd, double b, double d)
        {
            var result = Msd * 100 / (b * Math.Pow(d, 2) * Material.beton.fcd / 10);
            var max    = GetNew(Material.beton.εcu2, Material.beton.εcu2 * Geometry.d1 / Geometry.h).μRd;
            var min    = new CoeffForCalcRectCrossSectionModelEC(0, Material.armatura.eps_ud, Material, Geometry).μRd;

            if (result > max)
            {
                return(GetByμ(max));
            }
            //throw new Exception("Diletacija u armaturi i betonu prekoracema; \nPovecajte presek!");
            if (result < min)
            {
                throw new Exception("Diletacija u armaturi i betonu prekoracema; \nPovecajte presek!");
            }
            return(GetByμ(result));
        }
Example #3
0
        public void SetByξ(double ξ)
        {
            var test = new CoeffForCalcRectCrossSectionModelEC(material.beton.εcu2, material.armatura.eps_ud, material, geomerty);

            if (ξ < test.ξ && ξ > 0)
            {
                this.εs1 = material.armatura.eps_ud;
                this.εc  = -((ξ / (1 - ξ)) * εs1);
                SetByEcEs1(this.εc, this.εs1);
                return;
            }
            if (ξ > test.ξ)
            {
                this.εc  = material.beton.εcu2;
                this.εs1 = ((1 - ξ) / ξ) * Math.Abs(εc);
                SetByEcEs1(this.εc, this.εs1);
                return;
            }
            SetByEcEs1(material.beton.εcu2, material.armatura.eps_ud);
        }