Télécharger dynepl.eso

Retour à la liste

Numérotation des lignes :

  1. C DYNEPL SOURCE CHAT 05/01/12 23:18:36 5004
  2. SUBROUTINE DYNEPL(IPRIG,ICHT1,ICHT2,ICHT3,ICHT4,
  3. & IPCGT,IDDL,NDDL,DT,NPAS,NINS,IPCHM,IPPT,ITAB2)
  4. IMPLICIT INTEGER(I-N)
  5. IMPLICIT REAL*8(A-H,O-Z)
  6. ************************************************************************
  7. *
  8. * D Y N E P L
  9. * -----------
  10. *
  11. * FONCTION:
  12. * ---------
  13. * UTILITAIRE DE L'OPERATEUR "DYNE"
  14. * INITIALISATION ET GESTION TEMPORELLE DE L'ALGORITHME
  15. *
  16. * PARAMETRES: (E)=ENTREE (S)=SORTIE (+ = CONTENU DANS UN COMMUN)
  17. * -----------
  18. *
  19. * IPRIG (E) TABLEAU DE POINTEURS SUR DES RIGIDITES, AVEC :
  20. * IPRIG(1) POINTEUR SUR L'OBJET M
  21. * IPRIG(2) POINTEUR SUR L'OBJET K
  22. * IPRIG(3) POINTEUR SUR L'OBJET A
  23. * IPRIG(4) POINTEUR SUR L'OBJET Z
  24. * ICHT (E) POINTEUR SUR LE SEGMENT MCHT ( ACTIF )
  25. * IPCGT (E) TABLEAU DE POINTEURS SUR DES CHARGEMENTS, AVEC :
  26. * IPCGT(1) POINTEUR SUR CGB
  27. * IPCGT(2) POINTEUR SUR CGF
  28. * IDDL (E) NOMBRE DE DDL LIES
  29. * NDDL (E) NOMBRE DE DDL
  30. * DT (E) PAS DE TEMPS
  31. * NPAS (E) NOMBRE DE PAS DE CALCUL
  32. * NINS (E) ON VEUT UN RESULTAT TOUS LES NINS PAS DE CALCUL
  33. * IPCHM (E) TABLEAU DE POINTEURS SUR LES CHAMPS INITIAUX, AVEC :
  34. * IPCHM(1) POINTEUR SUR U0
  35. * IPCHM(2) POINTEUR SUR V0
  36. * IPPT (E) TABLEAU DE POINTEURS, AVEC : -1
  37. * IPPT(1) POINTEUR SUR LE VECTDOUB CONTENANT M
  38. * ( ACTIF )
  39. * IPPT(2) POINTEUR SUR UN SEGMENT MBLO ( ACTIF )
  40. * IPPT(3) POINTEUR SUR UN SEGMENT MBLO ( ACTIF )
  41. * IPPT(4) POINTEUR SUR LE SEGMENT MUCTRA ( ACTIF )
  42. * IPPT(5) POINTEUR SUR LE SEGMENT MMATRI ( ACTIF )
  43. * IPPT(6) POINTEUR SUR LE SEGMENT MZZZ ( ACTIF )
  44. * ITAB2 (S) POINTEUR SUR LA TABLE RESULTAT
  45. *
  46. * AUTEUR, DATE DE CREATION:
  47. * -------------------------
  48. * DENIS ROBERT, LE 20 OCTOBRE 1988.
  49. * REVU ET CORRIGE DECEMBRE 89 MP
  50. *
  51. * LANGAGE:
  52. * --------
  53. * ESOPE + FORTRAN77
  54. *
  55. ************************************************************************
  56. *
  57. * MODULES UTILISES:
  58. *
  59. -INC CCOPTIO
  60. -INC SMTABLE
  61. *
  62. PARAMETER ( O0= 0.D0,O1=-1.D0,O2=2.D0,O3=-0.5D0 )
  63. *
  64. INTEGER IPCHN(6),IPRIG(4),IPCHM(2),IPPT(6),IPCGT(2)
  65. *
  66. *--- SEGMENT CONTENANT LES VECTEURS DE TRAVAIL POUR "DYNEPA"
  67. *
  68. * SEGMENT,MVPA
  69. * REAL*8 VCHT1(NDDL),VCHT2(NDDL),VCHT3(NDDL)
  70. * REAL*8 VEC1(NDDL),VEC2(NDDL),VEC3(NDDL)
  71. * REAL*8 VEC4(IDDL),VEC5(IDDL),VEC6(IDDL)
  72. * REAL*8 VCH1(NDDL),VCH2(NDDL),VCH3(NDDL)
  73. * REAL*8 VCH4(NDDL),VCH5(NDDL),VCH6(NDDL)
  74. * ENDSEGMENT
  75. * VCHT1 ---> MCHT41
  76. * VCHT2 ---> MCHT42
  77. * VCHT3 ---> MCHT43
  78. * VEC1 ---> MCHT51
  79. * VEC2 ---> MCHT52
  80. * VEC3 ---> MCHT53
  81. * VCH1 ---> MCHT61
  82. * VCH2 ---> MCHT62
  83. * VCH3 ---> MCHT63
  84. * VCH4 ---> MCHT64
  85. * VCH5 ---> MCHT65
  86. * VCH6 ---> MCHT66
  87. * VEC4 ---> MCHT12
  88. * VEC5 ---> MCHT13
  89. * VEC6 ---> MCHT14
  90. *
  91. *--- SEGMENT CONTENANT LES VECTEURS DE TRAVAIL POUR "DYNEPL"
  92. *
  93. * SEGMENT,MVPL
  94. * REAL*8 VV1(NDDL),VV2(NDDL),VV3(NDDL),VV4(NDDL),VV5(NDDL)
  95. * ENDSEGMENT
  96. *
  97. * VV1 ---> MCHT22
  98. * VV2 ---> MCHT23
  99. * VV3 ---> MCHT24
  100. * VV4 ---> MCHT25
  101. * VV5 ---> MCHT26
  102. *--- SEGMENT RELATIF AUX OBJETS CHARGEMENT
  103. *
  104. SEGMENT,MCHT1
  105. REAL*8 VCC1(IDDL)
  106. ENDSEGMENT
  107. POINTEUR MCHT12.MCHT1,MCHT13.MCHT1,MCHT14.MCHT1
  108. *
  109. SEGMENT,MCHT2
  110. REAL*8 VCC2(NDDL)
  111. ENDSEGMENT
  112. POINTEUR MCHT22.MCHT2,MCHT23.MCHT2,MCHT24.MCHT2
  113. POINTEUR MCHT25.MCHT2,MCHT26.MCHT2
  114. POINTEUR MCHT41.MCHT2,MCHT42.MCHT2,MCHT43.MCHT2
  115. POINTEUR MCHT51.MCHT2,MCHT52.MCHT2,MCHT53.MCHT2
  116. POINTEUR MCHT61.MCHT2,MCHT62.MCHT2,MCHT63.MCHT2
  117. POINTEUR MCHT64.MCHT2,MCHT65.MCHT2,MCHT66.MCHT2
  118. *
  119. SEGMENT,MCHT3
  120. REAL*8 COE1(LCOE)
  121. ENDSEGMENT
  122. POINTEUR MCHT32.MCHT3
  123. *
  124. DT2=DT**2
  125. DT3=DT2/O2
  126. DT4=DT/O2
  127. X1=O1/DT
  128. *
  129. CALL CRTABL(MTABLE)
  130. ITAB2=MTABLE
  131. IPCHM3=0
  132. * SEGINI,MVPA
  133. SEGINI MCHT12,MCHT13,MCHT14
  134. ICHT12=MCHT12
  135. ICHT13=MCHT13
  136. ICHT14=MCHT14
  137. SEGINI MCHT41,MCHT42,MCHT43
  138. ICHT41=MCHT41
  139. ICHT42=MCHT42
  140. ICHT43=MCHT43
  141. SEGINI MCHT51,MCHT52,MCHT53
  142. ICHT51=MCHT51
  143. ICHT52=MCHT52
  144. ICHT53=MCHT53
  145. SEGINI MCHT61,MCHT62,MCHT63,MCHT64,MCHT65,MCHT66
  146. ICHT61=MCHT61
  147. ICHT62=MCHT62
  148. ICHT63=MCHT63
  149. ICHT64=MCHT64
  150. ICHT65=MCHT65
  151. ICHT66=MCHT66
  152. * SEGINI,MVPL
  153. SEGINI MCHT22,MCHT23,MCHT24,MCHT25,MCHT26
  154. ICHT22=MCHT22
  155. ICHT23=MCHT23
  156. ICHT24=MCHT24
  157. ICHT25=MCHT25
  158. ICHT26=MCHT26
  159. *
  160. MCHT1=ICHT1
  161. MCHT2=ICHT2
  162. MCHT3=ICHT3
  163. MCHT32=ICHT4
  164. *
  165. NUMPAS=0
  166. *
  167. *-------------------------------------------------------*
  168. *--- EQUATION D'EQUILIBRE : G0 = M-1 ( F0 - K U0 ) ---*
  169. *-------------------------------------------------------*
  170. *
  171. CALL DYNE04(IPPT(5),IPCHM(1),ICHT22,NDDL,'INCO')
  172. IF (IERR.NE.0) RETURN
  173. *
  174. CALL DYNE05(IPRIG(2),ICHT22,ICHT23,NDDL,IPPT(4))
  175. IF (IERR.NE.0) RETURN
  176. *
  177. IF (IPCGT(2).NE.0) THEN
  178. CALL DYNEC1(VCC2,MCHT32.COE1,NUMPAS,NDDL,MCHT24.VCC2)
  179. ENDIF
  180. *
  181. CALL COLIVE(MCHT23.VCC2,MCHT24.VCC2,NDDL,1.D0,-1.D0,
  182. & MCHT24.VCC2)
  183. *
  184. CALL DYNE10(ICHT25,IPPT(1),ICHT66,NDDL)
  185. *
  186. *--- CALCUL DE : U1 = U0 + ( DT * V0 ) + ( DT2/2 * G0 )
  187. *
  188. CALL ZERO(MCHT23.VCC2,NDDL,1)
  189. *
  190. CALL DYNE04(IPPT(5),IPCHM(2),ICHT65,NDDL,'INCO')
  191. *
  192. CALL COLIVE(MCHT65.VCC2,MCHT66.VCC2,NDDL,DT,DT3,
  193. & MCHT23.VCC2)
  194. CALL COLIVE(MCHT22.VCC2,MCHT23.VCC2,NDDL,1.D0,1.D0,
  195. & MCHT64.VCC2)
  196. *
  197. *-------------------------------------*
  198. *--- BOUCLE SUR LES PAS DE TEMPS ---*
  199. *-------------------------------------*
  200. *
  201. NSOR=0
  202. NPPP=0
  203. DO 100 NUMPAS=1,NPAS
  204. NPPP=NPPP+1
  205. *
  206. *--- DEPLACEMENTS ET FORCES IMPOSES AU COURS DU TEMPS
  207. *
  208. IF (IPCGT(1).NE.0) THEN
  209. CALL DYNEC1(VCC1,COE1,NUMPAS+1,NDDL,MCHT41.VCC2)
  210. ENDIF
  211. *
  212. IF (IPCGT(2).NE.0) THEN
  213. CALL DYNEC1(VCC2,MCHT32.COE1,NUMPAS,NDDL,
  214. & MCHT43.VCC2)
  215. ENDIF
  216. * VCH4 ---> VCH1
  217. *--- TRANSFERTS : VCH5 ---> VCH2
  218. * VCH6 ---> VCH3
  219. CALL VTRANS(MCHT61.VCC2,MCHT64.VCC2,NDDL)
  220. CALL VTRANS(MCHT62.VCC2,MCHT65.VCC2,NDDL)
  221. CALL VTRANS(MCHT63.VCC2,MCHT66.VCC2,NDDL)
  222. *
  223. *-----------------------------------------------------*
  224. *--- CALCUL D'UN PAS : U1 V0 G0 ---> U2 V1 G1 ---*
  225. *-----------------------------------------------------*
  226. *
  227. CALL DYNEPA(IPRIG,IPPT,IDDL,NDDL,DT,
  228. & ICHT41,ICHT43,
  229. & ICHT51,ICHT52,ICHT53,ICHT12,ICHT13,ICHT14,
  230. & ICHT61,ICHT62,ICHT63,ICHT64,ICHT65,ICHT66)
  231. IF (IERR.NE.0) RETURN
  232. *
  233. IF (NPPP.EQ.NINS) THEN
  234. NPPP=0
  235. NSOR=NSOR+1
  236. *
  237. *--- ON RETRANSFORME LES VECTEURS EN CHPOINTS
  238. *
  239. CALL DYNE07(ICHT61,IPPT(5),IPCHM(1),IPCHP1)
  240. CALL DYNE07(ICHT65,IPPT(5),IPCHM(1),IPCHP2)
  241. CALL DYNE07(ICHT66,IPPT(5),IPCHM(1),IPCHP3)
  242. *
  243. *--- ARCHIVAGE DES RESULTATS
  244. *
  245. CALL DYNERA(IPCHP1,IPCHP2,IPCHP3,NSOR,ITAB2)
  246. IF (IERR.NE.0) RETURN
  247. ENDIF
  248. *
  249. *--- FIN DE LA BOUCLE SUR LES PAS DE TEMPS
  250. *
  251. 100 CONTINUE
  252. * END DO
  253. *
  254. * SEGSUP MVPA
  255. SEGSUP MCHT12,MCHT13,MCHT14
  256. SEGSUP MCHT41,MCHT42,MCHT43
  257. SEGSUP MCHT51,MCHT52,MCHT53
  258. SEGSUP MCHT61,MCHT62,MCHT63,MCHT64,MCHT65,MCHT66
  259. * SEGSUP MVPL
  260. SEGSUP MCHT22,MCHT23,MCHT24,MCHT25,MCHT26
  261. * SEGSUP,MCHT
  262. SEGSUP MCHT1,MCHT2,MCHT3,MCHT32
  263. SEGDES MTABLE
  264. *
  265. END
  266.  
  267.  

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