Escola Politécnica
Departamento de Engenharia Elétrica
Disciplina ENG C30 – Mecânica dos Sólidos
Salvador, Bahia
30de junho, 2009
1
Tópicos
1- Objetivo
2- Introdução
3- Métodos de integração
6- Código fonte
7- Referencias
2
1 - Objetivo
3
2 - Introdução
Torção
A torção está relacionada com o giro de uma barra quando esta é submetida a
carregamentos que produzem uma rotação sobre seu eixo longitudinal.
Ângulo de Torção
ρ
Combinando a equação τ máx = Gr θ ; τ = Gρ θ = τ máx , em que τmáx é a tensão de
r
cisalhamento na superfície externa da barra (raio r), τ é a tensão de cisalhamento em
um ponto interior (raio ρ ) e θ é a razão de torção, e a fórmula de torção na
ρ Tρ
τ= τ máx =
r I p tem-se:
T
θ=
GI P
Em que θ tem unidades de radianos por unidade de comprimento. Essa equação mostra
que a razão de torção θ é diretamente proporcional ao torque T e inversamente
proporcional ao produto GI p conhecido como rigidez de torção da barra. O ângulo de
torção total para uma barra em torção pura φ =θL
TL
φ=
GI p
Rigidez de torção linear – é o torque necessário para produzir uma unidade de ângulo
de rotação e é dada por:
4
GI p
kT =
L
Torção Não-Uniforme
A barra não precisa ser prismática e os torques aplicados podem agir em qualquer lugar
ao longo do eixo da barra. Nesse caso aplica-se a fórmula de torção pura em segmentos
individuais da barra e somam-se os resultados, ou aplicam-se as fórmulas para
elementos diferenciais e integra-se.
L L
Tdx
φ = ∫ dx =∫
0 0
GI p ( x )
5
O cálculo de uma integral definida de forma analítica pode se tornar complicado visto
que é necessário descobrir a primitiva da equação que se deseja calcular. A fim de
simplificar os cálculos e até mesmo utilizar computadores para resolver estes cálculos,
foram desenvolvidos métodos de integração numérica. Existem vários métodos de
integração numérica, onde o diferencial entre eles esta no nível de aproximação e na
velocidade de convergência. Estes métodos substituem a integral por um somatório
finito de termos que são definidos a partir dos parâmetros definidos na integral. Dentre
os mais utilizados temos os métodos: trapezoidal composto, Simpson composto e o
método de Gauss-Legendre (método utilizado neste trabalho). A seguir temos as regras
utilizadas em cada método citado:
• Regra de Gauss-Legendre
Temos que:
g(ξ) = A*f(Aξ + B)
logo:
6
O momento de inércia polar (I) de uma dada área A é calculada através da integral:
onde ρ é a distância da origem do plano cartesiano ao elemento dA. Esta é uma integral
dupla, que pode ser reduzida a uma integral em uma variável, no caso de uma área
circular, se escolhermos os elementos de área dA na forma de anéis circulares. Em um
cilindro temos que o ρ é o raio, logo o I é dado por:
Neste trabalho, serão abordadas estruturas que assim como o cilindro apresentam seções
transversais circulares. Mas diferentemente do cilindro, estas estruturas não apresentam
raios constantes. Os seus raios obedecem a equações de 1ª ordem (tronco de conde), 2ª
ordem (parábola) e exponencial. A dedução das equações que regem o comportamento
de variação do raio foi feita levando-se em consideração os parâmetros pertinentes a
cada caso. Estes parâmetros são os raios (maior e menor), comprimento da estrutura,
grau de concavidade (“a” da parábola).
E para a parábola:
Neste trabalho, as situações consideradas são aquelas onde o torque esta aplicado na
extremidade livre da estrutura. Com isso, o valor de x substituído na integral do cálculo
do ângulo de giro é o mesmo valor de L. Substituímos a equação do momento de inércia
polar, na equação
L
Tdx
φ =∫
0
GI p ( x )
7
E então, aplicando o método de integração numérica de Gauss-Legendre,
transformamos a integral em um somatório e desenvolvemos um algoritmo que
realizasse o somatório, gerando então o executável T_GIRO.exe
6 – Código fonte
float pi=3.141592654;
float soma[5];
w[0]=.236926885056189; s[0]=-.906179845938664;
w[1]=.478628470499366; s[1]=-.538469310105683;
w[2]=.568888888888889; s[2]=0;
w[3]=.478628470499366; s[3]=.538469310105683;
w[4]=.236926885056189; s[4]=.906179845938664;
while(laco != 'n'){
struct tm *ptr;
time_t lt;
lt=time(NULL);
ptr = localtime(<);
printf(asctime(ptr));
printf ("\n********* DANCAR SA - SOLUCOES INTELIGENTES***********\n");
printf ("\n PROGRAMA PARA CALCULAR ANGULO DE GIRO\n");
printf ("\n Qual o comportamento de variacao do raio ? \n");
printf ("\n(1)Exponencial \n(2)Parabolico \n(3)Tronco de cone\n\n");
fflush(stdin);
scanf ("%c",& opcao);
system("cls");
switch(opcao){
case '1': {
printf ("\n ___Peca Exponencial___\n");
printf ("\nDigite o raio maior (m)\n\n");
fflush(stdin);
scanf ("%f",&R);
printf ("\nDigite o raio menor (m)\n\n");
fflush(stdin);
scanf ("%f",&r);
printf ("\nDigite o comprimento da estrutura (m)\n\n");
fflush(stdin);
scanf ("%f",&L);
printf ("\nDigite o torque que a estrutura vai ser submetida (N.m)\n\n");
fflush(stdin);
scanf ("%f",&T);
8
printf ("\nDigite o G (Pa)\n\n");
fflush(stdin);
scanf ("%f",&G);
for (n=0;n<5;n++){
b = (((L/2)*s[n])+(L/2));
c = b/L;
e = (r-R+1);
f = pow(e,c);
d = (f+R-1);
valor = pow(d,4);
I=I + (((L/2)*(T/G)*(1/((pi/2)*valor)))* w[n]); }
system("cls");
printf ("\n ___Peca Exponencial___\n\n");
printf("\n RAIO MAIOR = %f m\n",R);
printf("\n RAIO MENOR = %f m\n",r);
printf("\n COMPRIMENTO = %f m\n",L);
printf("\n TORQUE = %f m\n",T);
printf("\n G = %f N.m\n",G);
printf("\nO angulo de giro e %f rad\n",I);
printf("O angulo de giro e %f graus\n",((I*180)/pi));
break; }
case '2':
{
printf ("\n ___Peca Parabolica___\n");
printf ("\nDigite o raio maior (m)\n\n");
scanf ("%f",&R);
printf ("\nDigite o raio menor (m)\n\n");
scanf ("%f",&r);
printf ("\nDigite o comprimento da estrutura (m)\n\n");
scanf ("%f",&L);
printf ("\nDigite o torque que a estrutura vai ser submetida (N.m)\n\n");
scanf ("%f",&T);
printf ("\nDigite o G (Pa)\n\n");
scanf ("%f",&G);
printf ("\nDigite o a\n\n");
scanf ("%f",&a);
for (n=0;n<5;n++){
b = (((L/2)*s[n])+(L/2));
c = pow(b,2);
d = ((-a*c)+(((r-R-(-a*L*L))/L)*b)+R);
valor = pow(d,4);
I=I+ ((L/2)*(T/G)*(1/((pi/2)*valor)))* w[n];}
printf ("\n ___Peca Parabolica___\n\n");
printf("\n RAIO MAIOR = %f m\n",R);
printf("\n RAIO MENOR = %f m\n",r);
printf("\n COMPRIMENTO = %f m\n",L);
printf("\n TORQUE = %f m\n",T);
printf("\n G = %f N.m\n",G);
printf("\nO angulo de giro e %f rad\n",I);
printf("O angulo de giro e %f graus\n",((I*180)/pi));
break;
}
case '3':
{
printf ("\n ___Peca conica___\n");
printf ("\nDigite o raio maior (m)\n\n");
fflush(stdin);
scanf ("%f",&R);
printf ("\nDigite o raio menor (m)\n\n");
fflush(stdin);
scanf ("%f",&r);
printf ("\nDigite o comprimento da estrutura (m)\n\n");
9
fflush(stdin);
scanf ("%f",&L);
printf ("\nInforme o valor do torque (N.m)\n\n");
fflush(stdin);
scanf ("%f",&T);
printf ("\nDigite o G (Pa)\n\n");
fflush(stdin);
scanf ("%f",&G);
for (n=0;n<5;n++)
{
d = (((r-R)/L)*(((L/2)* s[n])+(L/2))+R);
valor = pow(d,4);
soma[n]= ((L/2)*(T/G)*(1/((pi/2)* valor)))* w[n];
}
teta= soma[0]+soma[1]+ soma[2]+soma[3]+soma[4];
printf ("\n ___Peca Conica___\n\n");
printf("\n RAIO MAIOR = %f m\n",R);
printf("\n RAIO MENOR = %f m\n",r);
printf("\n COMPRIMENTO = %f m\n",L);
printf("\n TORQUE = %f m\n",T);
printf("\n G = %f N.m\n",G);
printf("\nO angulo de giro e %f rad\n",teta);
printf("O angulo de giro e %f graus\n",((teta*180)/pi));
break;
}
default:
printf("Opcao invalida\n");
break;
}
}
}
7 – Referências
10