Ejemplo n.º 1
0
        public static Tuple <double, double> fatorReducaoFlexao(Perfil perfil)
        {
            double wcx      = perfil.PegarWx();
            double wcy      = perfil.PegarWy();
            double ro       = perfil.PegarRo();
            string simetria = perfil.PegarSimetria();

            double tensao = Form1.tensaofy;

            List <double> lstForcaAxial = forcaAxialFlambagemGlobal(perfil, simetria);
            double        ney           = lstForcaAxial.ElementAt(2);
            double        nez           = lstForcaAxial.ElementAt(3);

            double mex = 1.0 * ro * Math.Sqrt(ney * nez);
            double mey = calculoMeFlexaoY(perfil);

            double lambdaZerox = Math.Sqrt(wcx * tensao) / mex;
            double lambdaZeroy = Math.Sqrt(wcy * tensao) / mey;

            double quiFltx = condicaoFLTFlexao(lambdaZerox);
            double quiFlty = condicaoFLTFlexao(lambdaZeroy);

            Tuple <double, double> quiFlt = new Tuple <double, double>(quiFltx, quiFlty);

            return(quiFlt);
        }
Ejemplo n.º 2
0
        // Obtem o Fator de Redução à compressao
        public static double fatorReducaoCompressao(Perfil perfil)
        {
            string        simetria = perfil.PegarSimetria();
            List <double> lstNe    = forcaAxialFlambagemGlobal(perfil, simetria);
            double        Ne       = lstNe.ElementAt(0);

            //(areaT, inerciaPerfilX, inerciaPerfilY, ro, xo, CW, J, modulosW)
            double areaTotal = perfil.PegarArea();
            double qui; //Fator de Redução da Força Axial de Compressao Resistente
            double lambda0         = Math.Sqrt(areaTotal * Form1.tensaofy / Ne);
            double lambda0quadrado = Math.Pow(lambda0, 2);

            if (lambda0 > 1.5)
            {
                qui = 0.877 / lambda0quadrado;
            }
            else
            {
                qui = Math.Pow(0.658, lambda0quadrado);
            }

            double tensaoCompressao = Form1.tensaofy * qui;

            return(qui);
        }
Ejemplo n.º 3
0
        public static double calculoMeFlexaoY(Perfil perfil)
        {
            double ro       = perfil.PegarRo();
            double jy       = perfil.PegarJy();
            string simetria = perfil.PegarSimetria();

            List <double> lstForcaAxial = forcaAxialFlambagemGlobal(perfil, simetria);

            double nex = lstForcaAxial.ElementAt(1);
            double nez = lstForcaAxial.ElementAt(3);

            // Considerando Cs = + 1.0 e Cm = 1.0
            double me = nex * (jy + Math.Sqrt(Math.Pow(jy, 2) + Math.Pow(ro, 2) * (nez / nex)));

            return(me);
        }