void flexaoTorcao()
        {
            double tensao = Form1.tensaofy;

            Tuple <double, double> fatorReducao = NBR.fatorReducaoFlexao(this);

            //==========================================
            //Calculo da resistencia a Flexao no eixo de simetria (eixo X)
            fatorReducaoFlexaoX = fatorReducao.Item1;
            double tensaoFlexaoX = tensao * fatorReducaoFlexaoX;

            List <double> lstLargurasEfetivasEmX = MLEPerfilUFlexaoX(this, tensaoFlexaoX);
            List <double> lstPropEfetivasEmX     = propEfetivasPerfilU(this, lstLargurasEfetivasEmX, "FLEXAOX");

            moduloWxEfetivo  = lstPropEfetivasEmX.ElementAt(2);
            mrdFlexaoTorcaoX = NBR.flexaoLateralTorcao(moduloWxEfetivo, fatorReducaoFlexaoX);
            relatorioFlexoTorcao("X", tensao, lstLargurasEfetivasEmX, moduloWxEfetivo, fatorReducaoFlexaoX, mrdFlexaoTorcaoX);
            //==========================================
            //Calculo da resistencia a Flexao no eixo perpendicular ao eixo de simetria (eixo y)
            fatorReducaoFlexaoY = fatorReducao.Item2;
            double tensaoFlexaoY = fatorReducaoFlexaoY * tensao;

            List <double> lstLargurasEfetivasEmY = MLEPerfilUFlexaoY(this, tensaoFlexaoY);
            List <double> lstPropEfetivasEmY     = propEfetivasPerfilU(this, lstLargurasEfetivasEmY, "FLEXAOY");

            moduloWyEfetivo  = lstPropEfetivasEmY.ElementAt(2);
            mrdFlexaoTorcaoY = NBR.flexaoLateralTorcao(moduloWyEfetivo, fatorReducaoFlexaoY);
            relatorioFlexoTorcao("Y", tensao, lstLargurasEfetivasEmY, moduloWyEfetivo, fatorReducaoFlexaoY, mrdFlexaoTorcaoY);

            NBR.verificacaoDistorcional(Espessura, Elemento1, b2, b3, "FLEXAO");
        }
        void distorcional()
        {
            if (Elemento1 != 0) //Perfil U enrijecido
            {
                List <double> lstDistorcionalCompressao = new List <double>();
                List <double> lstDistorcionalflexao     = new List <double>();
                lstDistorcionalCompressao = NBR.verificacaoDistorcional(Espessura, Elemento1, Elemento2, Elemento3, "COMPRESSAO");

                double almaXtComp           = lstDistorcionalCompressao.ElementAt(1);
                double mesaXalmaComp        = lstDistorcionalCompressao.ElementAt(2);
                double enrijecedorXalmaComp = lstDistorcionalCompressao.ElementAt(3);
                double condicaoComp         = lstDistorcionalCompressao.ElementAt(0);
                relatorioDistorcionalComp(condicaoComp, almaXtComp, mesaXalmaComp, enrijecedorXalmaComp);

                if (lstDistorcionalCompressao.ElementAt(0) == 1)
                {
                    verificacaoDistorcionalCompressao = "Verificar";
                }
                else
                {
                    verificacaoDistorcionalCompressao = "Dispensada";
                }

                lstDistorcionalflexao = NBR.verificacaoDistorcional(Espessura, Elemento1, Elemento2, Elemento3, "FLEXAO");

                double almaXtFlex           = lstDistorcionalflexao.ElementAt(1);
                double mesaXalmaFlex        = lstDistorcionalflexao.ElementAt(2);
                double enrijecedorXalmaFlex = lstDistorcionalflexao.ElementAt(3);
                double condicaoFlex         = lstDistorcionalflexao.ElementAt(0);
                relatorioDistorcionalFlex(condicaoFlex, almaXtFlex, mesaXalmaFlex, enrijecedorXalmaFlex);

                if (lstDistorcionalflexao.ElementAt(0) == 1)
                {
                    verificacaoDistorcionalFlexao = "Verificar";
                }
                else
                {
                    verificacaoDistorcionalFlexao = "Dispensada";
                }
            }
            else // Perfil U simples
            {
                verificacaoDistorcionalCompressao = "Dispensada";
                verificacaoDistorcionalFlexao     = "Dispensada";
            }
        }