Télécharger btuyo.eso

Retour à la liste

Numérotation des lignes :

btuyo
  1. C BTUYO SOURCE CHAT 05/01/12 21:44:30 5004
  2. SUBROUTINE BTUYO(IGAU,MINTE,WRK1,WRK2,WRK3,XL,DJAC,KERRE)
  3. *-----------------------------------------------------------------------
  4. *
  5. * CALCUL DE B POUR L'ELEMENT TUYO
  6. *
  7. *-----------------------------------------------------------------------
  8. IMPLICIT INTEGER(I-N)
  9. IMPLICIT REAL*8 (A-H,O-Z)
  10.  
  11. -INC PPARAM
  12. -INC CCOPTIO
  13. -INC SMINTE
  14. *
  15. SEGMENT WRK1
  16. REAL*8 DDHOOK(NSTRS,NSTRS) ,DDHOMU(NSTRS,NSTRS)
  17. REAL*8 REL(LRE,LRE) , XE(3,NBBB)
  18. ENDSEGMENT
  19. *
  20. SEGMENT WRK2
  21. REAL*8 SHPWRK(6,NBNO) ,BGENE(NSTRS,LRE)
  22. ENDSEGMENT
  23. *
  24. SEGMENT WRK3
  25. REAL*8 WORK(LW)
  26. ENDSEGMENT
  27. *
  28. * INITIALISATIONS
  29. *
  30. KERRE=0
  31. NSTRS=DDHOOK(/1)
  32. LRE =REL(/1)
  33. CALL ZERO(BGENE,NSTRS,LRE)
  34. SL=1.D0/XL
  35. SL2 = 2.D0*SL
  36. SL4 = SL2*SL2
  37. *
  38. T=ETAGAU(IGAU)
  39. ST=SIN(T)
  40. CT=COS(T)
  41. S2T=SIN(2.D0*T)
  42. C2T=COS(2.D0*T)
  43. S4T=SIN(4.D0*T)
  44. C4T=COS(4.D0*T)
  45. *
  46. EP=WORK(1)
  47. R =WORK(2)-EP*0.5D0
  48. R2=R*R
  49. GR=WORK(3)
  50. UNSUR=0.D0
  51. IF(GR.NE.0.D0) UNSUR=1.D0/GR
  52. DJAC=XL*0.5D0*R
  53. *
  54. * CERTAINS TERMES SONT MIS EN SOMMEIL
  55. *
  56. * LES MEMBRANES
  57. *
  58. * EPS TET-TET
  59. *
  60. BGENE(1, 7)=SHPTOT(1,1,IGAU)/R
  61. BGENE(1,22)=SHPTOT(1,2,IGAU)/R
  62. *
  63. * EPS PHI-PHI
  64. *
  65. BGENE(2, 1)=SHPTOT(2,1,IGAU)*SL2
  66. BGENE(2,16)=SHPTOT(2,2,IGAU)*SL2
  67. *
  68. BGENE(2, 3)=-SHPTOT(5,3,IGAU)*SL4*R*CT
  69. BGENE(2, 5)= SHPTOT(5,4,IGAU)*SL4*R*CT*XL
  70. BGENE(2,18)=-SHPTOT(5,5,IGAU)*SL4*R*CT
  71. BGENE(2,20)= SHPTOT(5,6,IGAU)*SL4*R*CT*XL
  72. *
  73. BGENE(2, 2)=-SHPTOT(5,3,IGAU)*SL4*R*ST
  74. BGENE(2, 6)=-SHPTOT(5,4,IGAU)*SL4*R*ST*XL
  75. BGENE(2,17)=-SHPTOT(5,5,IGAU)*SL4*R*ST
  76. BGENE(2,21)=-SHPTOT(5,6,IGAU)*SL4*R*ST*XL
  77. *
  78. BGENE(2, 8)=SHPTOT(2,1,IGAU)*SL2*C2T
  79. BGENE(2,23)=SHPTOT(2,2,IGAU)*SL2*C2T
  80. BGENE(2, 9)=SHPTOT(2,1,IGAU)*SL2*C4T
  81. BGENE(2,24)=SHPTOT(2,2,IGAU)*SL2*C4T
  82. BGENE(2,10)=SHPTOT(2,1,IGAU)*SL2*S2T
  83. BGENE(2,25)=SHPTOT(2,2,IGAU)*SL2*S2T
  84. BGENE(2,11)=SHPTOT(2,1,IGAU)*SL2*S4T
  85. BGENE(2,26)=SHPTOT(2,2,IGAU)*SL2*S4T
  86. *
  87. * BGENE(2, 3)=BGENE(2, 3)+SHPTOT(1,3,IGAU)*UNSUR
  88. * BGENE(2, 5)=BGENE(2, 5)-SHPTOT(1,4,IGAU)*UNSUR*XL
  89. * BGENE(2,18)=BGENE(2,18)+SHPTOT(1,5,IGAU)*UNSUR
  90. * BGENE(2,20)=BGENE(2,20)-SHPTOT(1,6,IGAU)*UNSUR*XL
  91. *
  92. BGENE(2,7) =SHPTOT(1,1,IGAU)*CT*UNSUR
  93. BGENE(2,22)=SHPTOT(1,2,IGAU)*CT*UNSUR
  94. *
  95. BGENE(2,12)=SHPTOT(1,1,IGAU)*UNSUR*(CT*C2T+ST*S2T/2.D0)
  96. BGENE(2,27)=SHPTOT(1,2,IGAU)*UNSUR*(CT*C2T+ST*S2T/2.D0)
  97. BGENE(2,13)=SHPTOT(1,1,IGAU)*UNSUR*(CT*C4T+ST*S4T/4.D0)
  98. BGENE(2,28)=SHPTOT(1,2,IGAU)*UNSUR*(CT*C4T+ST*S4T/4.D0)
  99. BGENE(2,14)=SHPTOT(1,1,IGAU)*UNSUR*(CT*S2T-ST*C2T/2.D0)
  100. BGENE(2,29)=SHPTOT(1,2,IGAU)*UNSUR*(CT*S2T-ST*C2T/2.D0)
  101. BGENE(2,15)=SHPTOT(1,1,IGAU)*UNSUR*(CT*S4T-ST*C4T/4.D0)
  102. BGENE(2,30)=SHPTOT(1,2,IGAU)*UNSUR*(CT*S4T-ST*C4T/4.D0)
  103. *
  104. * BGENE(2, 4)=SHPTOT(1,1,IGAU)*R*ST*UNSUR
  105. * BGENE(2,19)=SHPTOT(1,2,IGAU)*R*ST*UNSUR
  106. *
  107. * GAM TET-PHI
  108. *
  109. BGENE(3, 8)=SHPTOT(1,1,IGAU)*(ST*C2T*UNSUR-2.D0*S2T/R)
  110. BGENE(3,23)=SHPTOT(1,2,IGAU)*(ST*C2T*UNSUR-2.D0*S2T/R)
  111. BGENE(3, 9)=SHPTOT(1,1,IGAU)*(ST*C4T*UNSUR-4.D0*S4T/R)
  112. BGENE(3,24)=SHPTOT(1,2,IGAU)*(ST*C4T*UNSUR-4.D0*S4T/R)
  113. BGENE(3,10)=SHPTOT(1,1,IGAU)*(ST*S2T*UNSUR+2.D0*C2T/R)
  114. BGENE(3,25)=SHPTOT(1,2,IGAU)*(ST*S2T*UNSUR+2.D0*C2T/R)
  115. BGENE(3,11)=SHPTOT(1,1,IGAU)*(ST*S4T*UNSUR+4.D0*C4T/R)
  116. BGENE(3,26)=SHPTOT(1,2,IGAU)*(ST*S4T*UNSUR+4.D0*C4T/R)
  117. *
  118. BGENE(3, 4)=-SHPTOT(2,1,IGAU)*SL2*R
  119. BGENE(3,19)=-SHPTOT(2,2,IGAU)*SL2*R
  120. *
  121. * BGENE(3, 1)=SHPTOT(1,1,IGAU)*ST*UNSUR
  122. * BGENE(3,16)=SHPTOT(1,2,IGAU)*ST*UNSUR
  123. *
  124. * BGENE(3, 3)=-SHPTOT(2,3,IGAU)*SL2*R*UNSUR*ST*CT
  125. * BGENE(3, 5)= SHPTOT(2,4,IGAU)*SL2*R*UNSUR*ST*CT*XL
  126. * BGENE(3,18)=-SHPTOT(2,5,IGAU)*SL2*R*UNSUR*ST*CT
  127. * BGENE(3,20)= SHPTOT(2,6,IGAU)*SL2*R*UNSUR*ST*CT*XL
  128. *
  129. * BGENE(3, 2)=-SHPTOT(2,3,IGAU)*SL2*R*UNSUR*ST*ST
  130. * BGENE(3, 6)=-SHPTOT(2,4,IGAU)*SL2*R*UNSUR*ST*ST*XL
  131. * BGENE(3,17)=-SHPTOT(2,5,IGAU)*SL2*R*UNSUR*ST*ST
  132. * BGENE(3,21)=-SHPTOT(2,6,IGAU)*SL2*R*UNSUR*ST*ST*XL
  133. *
  134. BGENE(3,12)=-SHPTOT(2,1,IGAU)*SL2*S2T/2.D0
  135. BGENE(3,27)=-SHPTOT(2,2,IGAU)*SL2*S2T/2.D0
  136. BGENE(3,13)=-SHPTOT(2,1,IGAU)*SL2*S4T/4.D0
  137. BGENE(3,28)=-SHPTOT(2,2,IGAU)*SL2*S4T/4.D0
  138. BGENE(3,14)= SHPTOT(2,1,IGAU)*SL2*C2T/2.D0
  139. BGENE(3,29)= SHPTOT(2,2,IGAU)*SL2*C2T/2.D0
  140. BGENE(3,15)= SHPTOT(2,1,IGAU)*SL2*C4T/4.D0
  141. BGENE(3,30)= SHPTOT(2,2,IGAU)*SL2*C4T/4.D0
  142. *
  143. * LES FLEXIONS
  144. *
  145. * QUI TET-TET
  146. *
  147. BGENE(4,12)=SHPTOT(1,1,IGAU)*3.D0*C2T/R2
  148. BGENE(4,27)=SHPTOT(1,2,IGAU)*3.D0*C2T/R2
  149. BGENE(4,13)=SHPTOT(1,1,IGAU)*15.D0*C4T/R2
  150. BGENE(4,28)=SHPTOT(1,2,IGAU)*15.D0*C4T/R2
  151. BGENE(4,14)=SHPTOT(1,1,IGAU)*3.D0*S2T/R2
  152. BGENE(4,29)=SHPTOT(1,2,IGAU)*3.D0*S2T/R2
  153. BGENE(4,15)=SHPTOT(1,1,IGAU)*15.D0*S4T/R2
  154. BGENE(4,30)=SHPTOT(1,2,IGAU)*15.D0*S4T/R2
  155. *
  156. * 0. POUR LES 2 AUTRES
  157. *
  158. RETURN
  159. END
  160.  
  161.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales