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); }
// 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); }
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); }