Você está na página 1de 12

TORSÃO EM UMA HASTE COM CONTORNO CURVO

Consideremos uma haste cilíndrica, sujeita a um torque constante T, presa em


uma de suas extremidades. Se um corte transversal for feito, nesta haste, teremos
uma elipse cujos eixos maior e menor serão representados, respectivamente, por 
e , conforme Figura 1 abaixo.

Figura 1 - Torsão em um cilindro elíptico

Se G é o módulo de rigidez da haste então o ângulo de torsão , por unidade de


comprimento, dado por Highes e Gaylord ( 1 ) é expresso por:

T
= (1
2G   dA
)

onde a integral é calculada sobre toda a área da seção e  a solução da equação

2=-2 (2)

com a condição de  = 0 sobre a superfície da elípse.

Sendo a solução analítica de ( 2 ) expressa por:

 x2 + y2    2 2 
=-  2
 + 2
- 1  2
  + 2 
 (3)

podemos mostrar que o ângulo de torsão ( 1 ), por unidade de comprimento é dado


por:
T   2 + 2
=  G 3 3
(4)

Dada a simetria do problema, vamos considerar apenas a solução para o primeiro


quadrante, figura - 1. Conforme podemos verificar, pela figura, se usarmos o
método das diferenças finitas com uma grade retangular, terão quatro posições ou
modos do contorno cortar a mesma. Assim, para obtermos um resultado
satisfatório, devemos determinar em que ponto a curva corta os eixos horizontal e
vertical de acordo com a figura - 2.

Considerando uma célula, cujo ponto interior representaremos por ( i , j ),


y

i=m

i=0

Figura - 2 - Malha de diferenças finitas, 1º Quadrante

b b

a
a

 < a < 1  < a < 1


TIPO - I  TIPO - II 
 < b < 1  b = 1
b b
a

 a = 1 0  a  
TIPO - III  TIPO - IV 
 < b < 1 0  b  
Figura - 3 - Posições do contorno cortando as células

Na Figura - 3, os valores de a e b são calculados como segue:

j2 i2
a=m 1 - 2 -i b=n 1 - 2 -j
n m

com h =  / n e k =  / m .

0 A

ak
(i,j-1) (i,j) B
0 0 0
bh

0 (i-1,j)

Figura - 4 - Montagem de uma célula de cálculo (i, j)

Desenvolvendo-se os pontos A, B, ( i - 1, j ) e ( i , j - 1 ) em série de Taylor, em


relação ao ponto ( i, j ), e substituindo em ( 2 ) podemos escrever:

2   i, j - 1  i - 1, j A B  a + b   i, j
2= 2 
h  b + 1
+
a + 1
+
a a + 1
+
b( b + 1 )
+
ab
 = -2

desta expressão, podemos tirar que:

i , j = c d i , j  1 + e i  1, j + f A + g B +   x 
2

com

ab 1 1 1 1
c = d = e = f =
a a + 1
e g =
b b + 1
a + b b + 1 a + 1

Da condição de contorno, obtemos os seguintes tipos de pontos para ( i , j )

Tipo de Ponto ( i , j ) A B a b
I 0 0 a b
II 0 i,j+1 a 1
III i+1,j 0 1 b

e, para o ponto ( i , j ) do tipo IV,  i , j = 0. Em particular,  m , 0 =  0 , n = 0.

Deste modo os pontos da malha de diferenças finitas podem ser considerados


subdivididos em cinco categorias, a saber:

1. Pontos Interiores: A aproximação apropriada de ( 2 ) nos pontos interiores


é:

i , j =
1
4
 i , j 1 + i 1, j + i + 1 , j + i , J + 1 + 2   x 
2

2. Pontos Abaixo do Contorno ( y = 0 ): Devido à simetria em relação ao eixo x,
temos:

0 , j =
1
4
 2 i , j + 0 , j - 1 + 0 , J + 11 + 2 x
2
 j = 1, 2, ..., n - 1

3. Pontos do Contorno do Lado Esquerdo ( x = 0 ): Devido à simetria do eixo y,


temos:

i , 0 =
1
4
 i - 1 , 0 + i + 1 , 0 + i , 1 + 2   x 
2
 i = 1, 2, ..., n - 1

4. Pontos nos Cantos ( centro da elípse )


0 , 0 =
1
2
 1 , 0 + 0 , 1   x 
2

5. Pontos Sobre o Contorno Curvo: Para estes pontos devemos determinar o
valor de jmaxi para cada i = 0, 1, 2, ..., m dado por:

i2
jmaxi = n 1 -
m2

sendo que, para cada ponto na linha i podemos substituir por uma das quatro
categorias:

Tipo I - Ponto ( i , jmaxi ) se não for dos tipos III ou IV;

Tipo II - Pontos ( i , j ), se para qualquer um, tivermos jmaxi + 1 < j < jmaxi ;

Tipo III - Ponto ( i , jmaxi ) , somente se não for do tipo IV ou jmaxi + 1 = jmaxi ;

Tipo IV - Ocorre somente se o contorno curvo possui uma intersecção com a grade
de  , onde  < < 1.

A seguir, descreveremos um programa em FORTRAN que descreve a torsão de


um cilindro elíptico para um corte transversal.
C ******************************************************************
C * *
C * TORSAO DE UM CILINDRO ELIPTICO *
C * COM CORTE TRANSVERSAL *
C * *
C ******************************************************************
C
DIMENSION JR(21), JMAX(21), PSI(21,21), C(21,21), D(21,21),
1E(21,21), F(21,21), G(21,21), ITYPE(21,21)
C
C
OPEN (2, FILE = 'TORSAO.DAT' )
OPEN (6, FILE = 'TORSAO.OUT' )
C
C ***** LER E VERIFICAR DADOS, E DEFINIR CONSTANTES *****
C
1 READ(2,*) M, N, ITMAX, ALPHA, BETA, EPSMAX
C
WRITE(6,200) M, N, ITMAX, ALPHA, BETA, EPSMAX
MP1 = M + 1
NP1 = N + 1
FN = N
DX = ALPHA/FN
DXSQ = DX*DX
TUDXSQ = 2.0*DX*DX
DO 2 I = 1, MP1
DO 2 J = 1, NP1
2 PSI(I,J) = 0.0
WRITE(6,201)
C
C ***** CHAMAR A SUB-ROTINA BNDPTS PARA DETERMINAR
C OS PONTOS DE FRONTEIRA E SUAS INTERCEPTACOES
C ASSOCIADAS *****
C
CALL BNDPTS (M, N, JR, JMAX,ITYPE, C, D, E, F, G)
WRITE(6,202) ( JR(I), I = 2, M)
WRITE(6,203) ( JMAX(I), I = 1, MP1)
C
C ***** CALCULA SUCESSIVAMENTE AS MELHORES APROXIMACOES
C PARA PSI EM TODOS OS PONTOS DA GRADE, INTEGRADO
C POR GAUSS-SEIDEL ATE SATISFAZER O CRITERIO DE
C CONVERGENCIA *****
C
ITER = 0
3 ITER = ITER + 1
EPS = 0.0
C
C ***** PONTOS LOCALIZADOS NAS RETAS DO CONTORNO,
C PRIMEIRO AO LONGO DO EIXO Y *****
C
DO 4 I = 2, M
SAVPSI = PSI(I,1)
PSI(I,1) = (PSI(I+1,1) + PSI(I-1,1) + 2.0*PSI(I,2) + TUDXSQ)/4.0
4 EPS = EPS + ABS(PSI(I,1) - SAVPSI)
C
C ***** E DEPOIS EM RELACAO AO EIXO X *****
C
DO 5 J = 2, N
SAVPSI = PSI(1,J)
PSI(1,J) = (PSI(1,J-1) + PSI(1,J+1) + 2.0*PSI(2,J) + TUDXSQ)/4.0
5 EPS = EPS + ABS(PSI(1,J) - SAVPSI)
C
C ***** PONTOS CENTRAIS *****
C
SAVPSI = PSI(1,1)
PSI(1,1) = (2.0*PSI(2,1) + 2.0*PSI(1,2) + TUDXSQ)/4.0
EPS = EPS + ABS(PSI(1,1) - SAVPSI)
C
C ***** PONTOS INTERNOS *****
C
DO 21 I = 2, M
JHIGH = JR(I)
IF (JHIGH.LT.2) GO TO 21
DO 6 J = 2, JHIGH
SAVPSI = PSI(I,J)
PSI(I,J) = (PSI(I-1,J) + PSI(I+1,J) + PSI(I,J-1) + PSI(I,J+1) +
1 TUDXSQ)/4.0
6 EPS = EPS + ABS(PSI(I,J) - SAVPSI)
21 CONTINUE
C
C ***** PONTOS NO CONTORNO (REQUER INTERPOLACAO) *****
C
DO 12 I = 2, M
JLOW = JR(I) + 1
JHIGH = JMAX(I)
DO 12 J = JLOW, JHIGH
IF (ITYPE(I,J).EQ.4) GO TO 12
SUM = D(I,J)*PSI(I,J-1) + E(I,J)*PSI(I-1,J) + DXSQ
IF (ITYPE(I,J).NE.2) GO TO 9
SUM = SUM + G(I,J)*PSI(I,J+1)
GO TO 11
9 IF (ITYPE(I,J).NE.3) GO TO 11
SUM = SUM + F(I,J)*PSI(I+1,J)
11 SAVPSI = PSI(I,J)
PSI(I,J) = C(I,J)*SUM
EPS = EPS + ABS(PSI(I,J) - SAVPSI)
12 CONTINUE
C
C ***** CHECAR PARA VERIFICAR SE O CRITERIO DE
C CONVERGENCIA FOI SATISFEITO E, SE ASSIM FOR,
C IMPRIMA O CAMPO FINAL DOS VALORES DE PSI *****
C
IF (ITER.GE.ITMAX) GO TO 14
IF (EPS-EPSMAX) 14, 3, 3
14 WRITE(6,204) ITER, EPS
DO 15 I = 1, MP1
ISUB = M + 2 - I
JHIGH = JMAX(ISUB)
15 WRITE(6,205) (PSI(ISUB,J), J = 1, JHIGH)
C
C ***** CALCULAR O DESVIO MEDIO QUADRATICO DE PSI A
C PARTIR DA SOLUCAO ANALITICA CONHECIDA *****
C
RMSDEV = COMPAR(M, N, JMAX, PSI, ALPHA, BETA)
WRITE(6,206) RMSDEV
WRITE(6,207)
207 FORMAT(5(/))
C
GO TO 16
C
C ***** FORMATOS PARA INSTRUCOES DE ENTRADA E SAIDA *****
C
200 FORMAT (4X,'TORSAO DE CILINDRO DE SECAO TRANSVERSAL ELIPTICA,
1COM PARAMETROS',/,7X,'M = ',I4,/,7X,'N = ',I4,/,7X,
2'ITMAX = ',I4,/,7X,'ALPHA = ',F8.3,/,7X,'BETA = ',F8.3,/,
37X,'EPSMAX = ',F8.3,/)
201 FORMAT (4X,'OS RESULTADOS SAO PARA INTERPOLACAO DO GRAU DOIS',/,
14X,' COM ITERACAO DE GAUSS-SEIDEL',/,4X,'OS SEGUINTES
2VALORES PERMITEM QUE OS PONTOS DE FRONTEIRA E INTERIOR',/,4X,
3' SEJA LOCALIZADOS',/)
202 FORMAT (4X,'OS VALORES DE JR(2)...JR(M) SAO',/,5X,11(I5))
203 FORMAT (4X,'OS VALORES OF JMAX(1)...JMAX(M+1) SAO',/,5X,11I5)
204 FORMAT (1X,'A ITERACAO PAROU COM',/,1X,'ITER = ',I4,/,1X,'EPS
1 = ',E12.4,/,4X,'O CAMPO DOS VALORES DE PSI E',/)
205 FORMAT (1X,11F9.4)
206 FORMAT (4X,'O RMS DESVIO ENTRE OS VALORES DE PSI CALCULADOS E EXAT
1O E',/,4X,'RMSDEV = ',F10.5)
C
16 WRITE(*,17)
17 FORMAT(10(/),5X,'PARA FAZER NOVO CALCULO, FACA MM = 1',//,5X,'CASO
1 CONTRARIO, FACA MM = 0', /)
READ(*,*) MM
C
IF( MM.EQ.1 ) GO TO 1
STOP
END
C
C SUB-ROUTINA PARA DETERMINAR PONTOS DE FRONTEIRA E INTERCEPTACOES,
C PARA UMA DETERMINADA LINHA I, (1,JR(I)) E O PONTO INTERIOR MAIS A
C DIREITA E (I,JMAX(I)) E O LIMITE MAIS INFIMO A E B SAO AS
C INTERCEPTACOES FRACIONARIAS NAS DIRECOES VERTICAL (Y) E HORIZONTAL
C (x). RESPECTIVAMENTE
C
SUBROUTINE BNDPTS (M, N, JR, JMAX, ITYPE, C, D, E, F, G)
C
DIMENSION JR(21), JMAX(21), ITYPE(21,21), C(21,21), D(21,21),
1E(21,21), F(21,21), G(21,21)
C
EPS = 1.0E-06
FM = M
FN = N
FMSQ = M*M
FNSQ = N*N
MP1 = M + 1
C
C ***** LOCALIZE O PONTO EXTREMO DIREITO (I,JMAX(I)) E
C DETERMINE SEU TIPO *****
C
JMAX(1) = N + 1
DO 7 I = 2, MP1
FIM1 = I - 1
XOVRDX = FN*SQRT(1.0 - FIM1*FIM1/FMSQ)
JM1 = XOVRDX + EPS
FJM1 = JM1
J = JM1 + 1
JMAX(I) = J
YOVRDX = FM*SQRT(1.0 - FJM1*FJM1/FNSQ)
A = YOVRDX - FIM1
B = XOVRDX - FJM1
IF (ABS(A).LT.EPS) GO TO 2
IF (ABS(B).GE.EPS) GO TO 3
2 ITYPE(I,J) = 4
GO TO 7
3 IF (A.LE.(1.0)) GO TO 5
ITYPE(I,J) = 3
A = 1.0
F(I,J) = 0.5
GO TO 6
5 ITYPE(I,J) = 1
6 CONTINUE
C(I,J) = A*B/(A + B)
D(I,J) = 1.0/(B + 1.0)
E(I,J) = 1.0/(A + 1.0)
7 CONTINUE
C
C ***** LOCALIZE OS PONTOS LIMITES DO TIPO 2 *****
C
DO 11 I = 2, M
FIM1 = I - 1
J = JMAX(I) - 1
8 IF (JMAX(I+1).GE.J) GO TO 10
FJM1 = J - 1
A = FM*SQRT(1.0 - FJM1*FJM1/FNSQ) - FIM1
ITYPE(I,J) = 2
C(I,J) = A/(A + 1.0)
D(I,J) = 0.5
E(I,J) = 1.0/(A + 1.0)
G(I,J) = 0.5
J = J - 1
GO TO 8
10 CONTINUE
11 JR(I) = J
RETURN
C
END
C
C ***** FUNCAO PARA COMPARAR A SOLUCAO DO COMPUTADOR COM SEUS
C VALORES ANALITICOS CONHECIDOS *****
C
FUNCTION COMPAR (M, N, JMAX, PSI, ALPHA, BETA)
C
DIMENSION JMAX(21), PSI(21,21)
C
C ***** CALCULAR AS SOMAS DOS DESVIOS AO QUADRADO *****
C
IPTS = 0
DEVSQ = 0.0
FMSQ = M*M
FNSQ = N*N
C = (ALPHA*BETA)**2/(ALPHA**2 + BETA**2)
MP1 = M + 1
DO 1 I = 1, MP1
FIM1 = I - 1
JHIGH = JMAX(I)
DO 1 J = 1, JHIGH
FJM1 = J - 1
IPTS = IPTS + 1
TRUPSI = (1.0 - FIM1*FIM1/FMSQ - FJM1*FJM1/FNSQ)*C
1 DEVSQ = DEVSQ + (PSI(I,J) - TRUPSI)**2
C
C ***** CALCULAR O DESVIO MEDIO QUADRADO *****
C
PTS = IPTS
COMPAR = SQRT(DEVSQ/PTS)
RETURN
C
END

Resultados obtidos com a execução do programa listado acima:

TORSAO DE CILINDRO DE SECAO TRANSVERSAL ELIPTICA,

COM PARAMETROS DE ENTRADA


M = 4
N = 5
ITMAX = 200
ALPHA = 10.000
BETA = 8.000
EPSMAX = .001

OS RESULTADOS SAO PARA INTERPOLACAO DO GRAU DOIS


COM ITERACAO DE GAUSS-SEIDEL
OS SEGUINTES VALORES PERMITEM QUE OS PONTOS DE FRONTEIRA E INTERIOR
SEJAM LOCALIZADOS

OS VALORES DE JR(2)...JR(M) SAO


4 4 1
OS VALORES OF JMAX(1)...JMAX(M+1) SAO
6 5 5 4 1
A ITERACAO PAROU COM
ITER = 75
EPS = .9360E-03

O CAMPO DOS VALORES DE PSI E

.0000
17.0730 15.5120 10.8292 3.0244
29.2679 27.7070 23.0241 15.2194 4.2926
36.5848 35.0239 30.3411 22.5363 11.6097
39.0238 37.4628 32.7800 24.9753 14.0486 .0000

O RMS DESVIO ENTRE OS VALORES DE PSI CALCULADOS E EXATO E


RMSDEV = .00034

TORSAO DE CILINDRO DE SECAO TRANSVERSAL ELIPTICA,

COM PARAMETROS DE ENTRADA


M = 8
N = 10
ITMAX = 500
ALPHA = 10.000
BETA = 8.000
EPSMAX = .010

OS RESULTADOS SAO PARA INTERPOLACAO DO GRAU DOIS


COM ITERACAO DE GAUSS-SEIDEL
OS SEGUINTES VALORES PERMITEM QUE OS PONTOS DE FRONTEIRA E INTERIOR
SEJAM LOCALIZADOS

OS VALORES DE JR(2)...JR(M) SAO


9 9 9 8 7 5 1
OS VALORES OF JMAX(1)...JMAX(M+1) SAO
11 10 10 10 9 8 7 5 1

A ITERACAO PAROU COM


ITER = 232
EPS = .9899E-02

O CAMPO DOS VALORES DE PSI E

.0000
9.1450 8.7548 7.5843 5.6334 2.9021
17.0704 16.6803 15.5098 13.5590 10.8278 7.3161 3.0240
23.7763 23.3862 22.2158 20.2651 17.5340 14.0224 9.7305 4.6580
29.2627 28.8727 27.7023 25.7517 23.0207 19.5093 15.2174 10.1451 4.2922
33.5298 33.1398 31.9695 30.0189 27.2880 23.7767 19.4849 14.4127 8.5599 1.9266
36.5776 36.1876 35.0174 33.0668 30.3360 26.8248 22.5331 17.4610 11.6083 4.9751
38.4062 38.0162 36.8460 34.8955 32.1647 28.6535 24.3619 19.2899 13.4373 6.8041
39.0159 38.6256 37.4554 35.5050 32.7742 29.2631 24.9715 19.8995 14.0469 7.4138 .0000

O RMS DESVIO ENTRE OS VALORES DE PSI CALCULADOS E EXATO E


RMSDEV = .00446

Dois conjuntos de resultados calculados são exibidos acima; Em ambos os casos, o


valor de RMSDEV é muito baixo, o que indica uma excelente expectativa nos
cálculos. Isso é bastante surpreendente porque a solução analítica para , dada
por (3), tem uma forma específica; Em particular, é tal que  XXX,  YYY e as
derivados de ordem superior são zero. Isso significa que a aproximação de
diferença finita para  2  em qualquer ponto de grade é exata, mesmo para um
espaçamento de grua muito grosseiro. Os valores de RMSDEV para todas as
corridas são apresentados na Tabela 1.
( M = 4 e N = 5) ( M = 8 e N = 10)
Emax ITER RMSDEV Emax ITER RMSDEV
10 14 3.26090
1 29 0.34275 1 108 0.44685
0.1 44 0.03601 0.1 170 0.04488
0.01 60 0.00332 0.01 232 0.00446
0.001 75 0.00034
Tabela 1 - Resumo dos Resultados

Pela razão acima descrita, observe que, neste exemplo particular, não há,
essencialmente, melhora na capacidade de uso da grade mais fina. Observe
também, a partir da Tabela 1, que o número de iteração para um determinado
grau de convergência (indicado pelo valor de RMSDEV) é proporcional
aproximadamente ao número total de pontos envolvidos na grade.