Télécharger ycvit.eso

Retour à la liste

Numérotation des lignes :

ycvit
  1. C YCVIT SOURCE CHAT 05/01/13 04:16:48 5004
  2. SUBROUTINE YCVIT
  3. & (HR,RPG,DRR,LE,NEL,K0,NPTI,NPTS,NPTU,IES,NP,IAXI,
  4. & IPADI,IPADS,IPADU,IKOMP,IKAS,
  5. & RO,IKR,
  6. & COEFF,IK1,RGE,IKG,NELG,TN,IKT,TREF,IKREF,
  7. & AMUT,GN,UN,TK,TE,
  8. & F,GK,GE,GE1,
  9. & VOLU,COTE,NELZ,IDCEN,IMODEL,
  10. & DT,DTT1,DTT2,NUEL,DIAEL,DIAM)
  11.  
  12. IMPLICIT INTEGER(I-N)
  13. IMPLICIT REAL*8 (A-H,O-Z)
  14.  
  15. C***********************************************************************
  16. C APPELE PAR NSKE
  17. C CE SP DISCRETISE LES EQUATIONS DE NAVIER STOKES COUPLEES
  18. C AUX DEUX EQUATIONS DU MODELE K - EPSILON
  19. C EN 2D SUR LES ELEMENTS QUA4 ET TRI3 PLAN OU AXI
  20. C EN 3D SUR LES ELEMENTS CUB8 ET PRI6
  21. C LES OPERATEURS SONT "SOUS-INTEGRES"
  22. C
  23. C***
  24. C
  25. C MODELE K - EPSILON
  26. C
  27. C
  28. C CONSTANTES : CNU=0.09D0 C1=1.41D0 C2=1.92D0
  29. C SGT=0.9D0 SGK=1.D0 SGE=1.3D0
  30. C
  31. C P --> TABLEAU P
  32. C
  33. C LE NU TURBULENT EST CALCULE PAR ELEMENT
  34. C IL N EST PAS TRANSMIS EN ARGUMENT
  35. C
  36. C
  37. C***********************************************************************
  38.  
  39. DIMENSION UN(NPTU,IES),GN(NPTI,IES),TK(NPTI),TE(NPTI)
  40. DIMENSION AMUT(*),RO(*)
  41. DIMENSION COTE(NELZ,IES),VOLU(NELZ)
  42.  
  43. C NOMBRE DE NOEUDS MAX PAR ELEMENT NPX
  44. PARAMETER (NPX=9)
  45.  
  46. C LONGUEUR DES REGISTRES VECTORIELS DE LA MACHINE CIBLE
  47.  
  48. PARAMETER (LRV=64)
  49. C
  50. DIMENSION IPADI(*),IPADS(*),IPADU(*),LE(NP,*)
  51. DIMENSION HR(NEL,NP,IES),RPG(*),DRR(NP,NEL)
  52. DIMENSION QGGT(8,8),Q1(8,8),Q2(8,8),Q3(8,8)
  53. SAVE QGGT,Q1,Q2,Q3
  54.  
  55. DIMENSION F(NPTS,IES),GK(NPTS),GE(NPTS),GE1(NPTS)
  56.  
  57. -INC CCVQUA4
  58. -INC CCREEL
  59. *-
  60.  
  61. -INC PPARAM
  62. -INC CCOPTIO
  63. -INC SMCOORD
  64. C* -TABLEAUX ADDITIONNELS POUR LA VECTORISATION **********************
  65. C
  66. C ---- ILS CONDUISENT A UN SURCOUT DE LRV*(59+25NPX) MOTS. AVEC NPX=9
  67. C ET LRV=128 ON OBTIENT 37KMOTS (0.3 MEGAOCTETS) ET CECI QUELLE
  68. C SOIT LA NOMBRE TOTAL D'ELEMENTS DU MAILLAGE
  69. C ------------------------------------------------------------------
  70. DIMENSION AIRE(LRV),COEF(LRV),AL(LRV),AH(LRV),AP(LRV)
  71. DIMENSION XMB(LRV),XMH (LRV)
  72. DIMENSION CFM(LRV)
  73. C DIMENSION CF1(LRV),CF2(LRV),CF3(LRV)
  74. C
  75. DIMENSION DR(LRV,NPX)
  76. DIMENSION UIX(LRV,NPX),UIY(LRV,NPX),UIZ(LRV,NPX)
  77. DIMENSION GIX(LRV,NPX),GIY(LRV,NPX),GIZ(LRV,NPX)
  78. DIMENSION AK(LRV,NPX),AE(LRV,NPX)
  79. C
  80. DIMENSION UM(LRV),UMI(LRV,3),AKM(LRV),AEM(LRV),ARO(LRV)
  81. DIMENSION P(LRV),PG(LRV),ANUT(LRV),
  82. ; DUDX(LRV),DUDY(LRV),DUDZ(LRV),DVDX(LRV),DVDY(LRV),
  83. ; DVDZ(LRV),DWDX(LRV),DWDY(LRV),DWDZ(LRV),
  84. ; DTDX(LRV),DTDY(LRV),DTDZ(LRV)
  85. C
  86. DIMENSION C1P(LRV),C1G(LRV),COEFT(LRV),COEFK(LRV),COEFE(LRV)
  87. C
  88. DIMENSION BE1(LRV,NPX)
  89. C
  90. C
  91. C ---- TABLEAUX POUR L'OPTION RAPIDE -------------------------------
  92. C DANS LA TRIPLE BOUCLE SUR K,I,J ON PEUT SORTIR UN MAXIMUM
  93. C D'OPERATIONS DE LA BOUCLES LA PLUS INTERNE. LES TABLEAUX CI-
  94. C DESSOUS PERMETTENT DE STOCKER LES VALEURS CALCULEES
  95. C ------------------------------------------------------------------
  96. C***
  97. DIMENSION COEFF(*),RGE(NELG,IES)
  98. DIMENSION TN(*),TREF(*)
  99.  
  100. DIMENSION RGX(LRV),RGY(LRV),RGZ(LRV)
  101. DIMENSION SAF1(LRV,9),SAF2(LRV,9),SAF3(LRV,9)
  102. DIMENSION SAFK(LRV,9),SAFE(LRV,9)
  103. DIMENSION AL2(LRV),AH2(LRV),AP2(LRV)
  104. DIMENSION GRADGX(LRV,3),GRADGY(LRV,3),GRADGZ(LRV,3)
  105. DIMENSION GRADK (LRV,3),GRADE (LRV,3)
  106. DIMENSION UPGX(LRV),UPIGX(LRV,3),UPGY(LRV),UPIGY(LRV,3)
  107. DIMENSION UPGZ(LRV),UPIGZ(LRV,3)
  108. DIMENSION UPK (LRV),UPIK (LRV,3),UPE (LRV),UPIE (LRV,3)
  109. DIMENSION BM(LRV),BPGX(LRV),BPGY(LRV),BPGZ(LRV)
  110. DIMENSION BPK (LRV),BPE (LRV)
  111. DIMENSION GXCXT(LRV),GXCYT(LRV),GXCZT(LRV)
  112. DIMENSION GXCXY(LRV),GXCXZ(LRV),GXCYZ(LRV)
  113. DIMENSION GYCXT(LRV),GYCYT(LRV),GYCZT(LRV)
  114. DIMENSION GYCXY(LRV),GYCXZ(LRV),GYCYZ(LRV)
  115. DIMENSION GZCXT(LRV),GZCYT(LRV),GZCZT(LRV)
  116. DIMENSION GZCXY(LRV),GZCXZ(LRV),GZCYZ(LRV)
  117. DIMENSION GKCXT(LRV),GKCYT(LRV),GKCZT(LRV)
  118. DIMENSION GKCXY(LRV),GKCXZ(LRV),GKCYZ(LRV)
  119. DIMENSION GECXT(LRV),GECYT(LRV),GECZT(LRV)
  120. DIMENSION GECXY(LRV),GECXZ(LRV),GECYZ(LRV)
  121.  
  122. DIMENSION CONST(2,7)
  123.  
  124. SAVE IPAS
  125. DATA IPAS/0/
  126.  
  127. C Constantes du modèle RNG
  128. C DATA CNU,C1,C2,C3/0.0845D0,1.42D0,1.68D0,0.8D0/
  129. C DATA SGT,SGK,SGE /0.9D0,0.7179D0,0.7179D0/
  130. C
  131. C Modèle standard
  132. C DATA CNU,C1,C2,C3,SGT,SGE/0.09D0,1.41D0,1.92D0,0.8D0,0.9D0,1.3D0/
  133. C
  134. C IMODEL=1 modele Standard IMODEL=2 modele RNG
  135. C
  136. C
  137. C*** Variation des constantes en fonction du modèle
  138. DATA (CONST(1,j),j=1,4) /0.09D0,1.41D0,1.92D0,0.8D0/
  139. DATA (CONST(1,j),j=5,7) /0.9D0,1.D0,1.3D0/
  140. DATA (CONST(2,j),j=1,4) /0.0845D0,1.42D0,1.68D0,0.8D0/
  141. DATA (CONST(2,j),j=5,7) /0.9D0,0.7179D0,0.7179D0/
  142. C***
  143. C
  144. CDIR$ VECTOR
  145. CDIR$ IVDEP
  146.  
  147. C WRITE(IOIMP,*)' Debut YCVIT'
  148. C WRITE(IOIMP,*)' NELZ,ies=',nelz,ies
  149. C WRITE(IOIMP,1002)cote
  150. C WRITE(IOIMP,*)' Avt precaution ies=',ies
  151. C
  152. C INITIALISATIONS DIVERSES
  153. C
  154. zxzini = sqrt(xpetit)
  155. DTM1=0.D0
  156.  
  157. C IF(IPAS.EQ.0)CALL CALHRG(QGGT,IES)
  158. IF(IPAS.EQ.0)CALL CALHRH(QGGT,Q1,Q2,Q3,IES)
  159. NK=K0
  160. C ********
  161. C * 2D *
  162. C ********
  163. C
  164. C IMODEL=3
  165. C Suite de la definition des constantes
  166. C IF(IMODEL.EQ.3) THEN
  167. C IMO=2
  168. C ELSE
  169. C IMO=1
  170. C ENDIF
  171. C
  172. C (IMODEL=1 modèle Standard ; IMODEL=2 modèle RNG)
  173. CNU=CONST(IMODEL,1)
  174. C1=CONST(IMODEL,2)
  175. C2=CONST(IMODEL,3)
  176. C3=CONST(IMODEL,4)
  177. SGT=CONST(IMODEL,5)
  178. SGK=CONST(IMODEL,6)
  179. SGE=CONST(IMODEL,7)
  180. C
  181. IF(IES.EQ.3)GO TO 10
  182. C
  183.  
  184. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  185.  
  186. C DIFFERENCES TRIANGLE / QUADRANGLE
  187. QUA4=0.D0
  188. IF(NP.EQ.4)QUA4=1.D0
  189.  
  190. C
  191. C K EST LE NUMERO DE L'ELEMENT
  192. C KP PERMET DE SE SITUER A L'INTERIEUR DES TABLEAUX DE LRV ELEMENTS
  193. C --- CALCUL DU NOMBRE DE PAQUETS DE LRV ELEMENTS ---
  194. NNN=MOD(NEL,LRV)
  195. IF(NNN.EQ.0) NPACK=NEL/LRV
  196. IF(NNN.NE.0) NPACK=1+(NEL-NNN)/LRV
  197. KPACKD=1
  198. KPACKF=NPACK
  199. C
  200. C*** BOUCLE SUR LES PAQUETS D'ELEMENTS ***
  201. C
  202. DO 70001 KPACK=KPACKD,KPACKF
  203. C
  204. C --- POUR CHAQUE PAQUET DE LRV ELEMENTS
  205. KDEB=1+(KPACK-1)*LRV
  206. KFIN=MIN(NEL,KDEB+LRV-1)
  207. C WRITE(IOIMP,*)' KPACK=',KPACK
  208. C
  209. DO 70002 K=KDEB,KFIN
  210. KP=K-KDEB+1
  211. NK=K+K0
  212. K1=1+(1-IK1)*(NK-1)
  213. AIRE(KP)=VOLU(NK)
  214. COEF(KP)=COEFF(K1)
  215. AL(KP)=COTE(NK,1)
  216. AH(KP)=COTE(NK,2)
  217. AL2(KP)=1.D0/AL(KP)/AL(KP)
  218. AH2(KP)=1.D0/AH(KP)/AH(KP)
  219. XMB (KP)=(AL(KP)+AH(KP))*0.5D0
  220. 70002 CONTINUE
  221. C WRITE(IOIMP,*)' Apr bcl 70002,,,,,,,,,,,,,,,,,,,,,,,, '
  222.  
  223. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  224. C Initialisation des UMI,UMIT avant accumulation
  225. DO 7005 K=KDEB,KFIN
  226. KP=K-KDEB+1
  227. UMI(KP,1)=zxzini
  228. UMI(KP,2)=zxzini
  229. GRADGX(KP,1)=zxzini
  230. GRADGX(KP,2)=zxzini
  231. GRADGY(KP,1)=zxzini
  232. GRADGY(KP,2)=zxzini
  233. AKM(KP)=zxzini
  234. AEM(KP)=zxzini
  235. UPIK(KP,1)=zxzini
  236. UPIK(KP,2)=zxzini
  237. UPIE(KP,1)=zxzini
  238. UPIE(KP,2)=zxzini
  239. GRADK(KP,1)=zxzini
  240. GRADK(KP,2)=zxzini
  241. GRADE(KP,1)=zxzini
  242. GRADE(KP,2)=zxzini
  243. DUDX(KP)=0.D0
  244. DUDY(KP)=0.D0
  245. DVDX(KP)=0.D0
  246. DVDY(KP)=0.D0
  247. DTDX(KP)=0.D0
  248. DTDY(KP)=0.D0
  249. C1P(KP)=C1
  250. C1G(KP)=0.D0
  251. PG(KP)=0.D0
  252. 7005 CONTINUE
  253.  
  254. DO 7006 I=1,NP
  255. DO 6006 K=KDEB,KFIN
  256. KP=K-KDEB+1
  257. NF=IPADI(LE(I,K))
  258. NFU=IPADU(LE(I,K))
  259. DR(KP,I)=DRR(I,K)
  260. UMI(KP,1)=UMI(KP,1)+UN(NFU,1)*DR(KP,I)
  261. UMI(KP,2)=UMI(KP,2)+UN(NFU,2)*DR(KP,I)
  262. UIX(KP,I)=UN(NFU,1)
  263. UIY(KP,I)=UN(NFU,2)
  264. GIX(KP,I)=GN(NF,1)
  265. GIY(KP,I)=GN(NF,2)
  266. AK(KP,I)=TK(NF)
  267. AE(KP,I)=TE(NF)
  268. GRADGX(KP,1)=GRADGX(KP,1)+HR(K,I,1)*GIX(KP,I)
  269. GRADGX(KP,2)=GRADGX(KP,2)+HR(K,I,2)*GIX(KP,I)
  270. GRADGY(KP,1)=GRADGY(KP,1)+HR(K,I,1)*GIY(KP,I)
  271. GRADGY(KP,2)=GRADGY(KP,2)+HR(K,I,2)*GIY(KP,I)
  272. AKM(KP)=AKM(KP)+TK(NF)*DR(KP,I)
  273. AEM(KP)=AEM(KP)+TE(NF)*DR(KP,I)
  274. GRADK(KP,1)=GRADK(KP,1)+HR(K,I,1)*AK(KP,I)
  275. GRADK(KP,2)=GRADK(KP,2)+HR(K,I,2)*AK(KP,I)
  276. GRADE(KP,1)=GRADE(KP,1)+HR(K,I,1)*AE(KP,I)
  277. GRADE(KP,2)=GRADE(KP,2)+HR(K,I,2)*AE(KP,I)
  278. C *** CALCUL DU TERME DE PRODUCTION ****************************
  279. DUDX(KP) = DUDX(KP)+HR(K,I,1)*UN(NFU,1)
  280. DUDY(KP) = DUDY(KP)+HR(K,I,2)*UN(NFU,1)
  281. DVDX(KP) = DVDX(KP)+HR(K,I,1)*UN(NFU,2)
  282. DVDY(KP) = DVDY(KP)+HR(K,I,2)*UN(NFU,2)
  283. 6006 CONTINUE
  284. 7006 CONTINUE
  285.  
  286. C WRITE(IOIMP,*)'Initialisation SAF1,SAF2,SBF '
  287. C
  288. C Initialisation des variables d'accumulation SAF1,SAF2,SBF
  289. C
  290. IF(IKOMP.EQ.0)THEN
  291.  
  292. DO 70060 K=KDEB,KFIN
  293. KP=K-KDEB+1
  294. ARO(KP)=1.D0
  295. 70060 CONTINUE
  296.  
  297. IF(IKAS.EQ.2)THEN
  298. DO 70061 I=1,NP
  299. DO 60061 K=KDEB,KFIN
  300. KP=K-KDEB+1
  301. SAF1(KP,I)=0.D0
  302. SAF2(KP,I)=0.D0
  303. SAFK(KP,I)=0.D0
  304. SAFE(KP,I)=0.D0
  305. 60061 CONTINUE
  306. 70061 CONTINUE
  307. ELSEIF(IKAS.EQ.3)THEN
  308. DO 70021 K=KDEB,KFIN
  309. KP=K-KDEB+1
  310. NK=K+K0
  311. NKG=1+(1-IKG)*(NK-1)
  312. RGX(KP)=RGE(NKG,1)
  313. RGY(KP)=RGE(NKG,2)
  314. 70021 CONTINUE
  315. DO 70062 I=1,NP
  316. DO 60062 K=KDEB,KFIN
  317. KP=K-KDEB+1
  318. SAF1(KP,I)=(-RGX(KP))*DR(KP,I)
  319. SAF2(KP,I)=(-RGY(KP))*DR(KP,I)
  320. SAFK(KP,I)=0.D0
  321. SAFE(KP,I)=0.D0
  322. NKG=1+(1-IKG)*(NK-1)
  323. DTDX(KP)=DTDX(KP)+HR(K,I,1)*RGE(NKG,1)
  324. DTDY(KP)=DTDY(KP)+HR(K,I,2)*RGE(NKG,2)
  325. 60062 CONTINUE
  326. 70062 CONTINUE
  327. ELSEIF(IKAS.EQ.5)THEN
  328. DO 70022 K=KDEB,KFIN
  329. KP=K-KDEB+1
  330. NK=K+K0
  331. NKG=1+(1-IKG)*(NK-1)
  332. RGX(KP)=RGE(NKG,1)
  333. RGY(KP)=RGE(NKG,2)
  334. 70022 CONTINUE
  335. DO 70063 I=1,NP
  336. DO 60063 K=KDEB,KFIN
  337. KP=K-KDEB+1
  338. NF=1+(1-IKT)*(IPADS(LE(I,K))-1)
  339. NFR=1+(1-IKREF)*(IPADS(LE(I,K))-1)
  340. SAF1(KP,I)=(-RGX(KP)*(TREF(NFR)-TN(NF)))*DR(KP,I)
  341. SAF2(KP,I)=(-RGY(KP)*(TREF(NFR)-TN(NF)))*DR(KP,I)
  342. SAFK(KP,I)=0.D0
  343. SAFE(KP,I)=0.D0
  344. DTDX(KP)=DTDX(KP)+HR(K,I,1)*TN(NF)
  345. DTDY(KP)=DTDY(KP)+HR(K,I,2)*TN(NF)
  346. 60063 CONTINUE
  347. 70063 CONTINUE
  348. ENDIF
  349.  
  350. ELSEIF(IKOMP.EQ.1)THEN
  351.  
  352. DO 70020 K=KDEB,KFIN
  353. KP=K-KDEB+1
  354. NK=K+K0
  355. NKR=1+(1-IKR)*(NK-1)
  356. ARO(KP)=RO(NKR)
  357. 70020 CONTINUE
  358.  
  359. IF(IKAS.EQ.4)THEN
  360. DO 70064 I=1,NP
  361. DO 60064 K=KDEB,KFIN
  362. KP=K-KDEB+1
  363. SAF1(KP,I)=0.D0
  364. SAF2(KP,I)=0.D0
  365. SAFK(KP,I)=0.D0
  366. SAFE(KP,I)=0.D0
  367. 60064 CONTINUE
  368. 70064 CONTINUE
  369. ELSEIF(IKAS.EQ.5)THEN
  370. DO 70024 K=KDEB,KFIN
  371. KP=K-KDEB+1
  372. NK=K+K0
  373. NKG=1+(1-IKG)*(NK-1)
  374. RGX(KP)=RGE(NKG,1)
  375. RGY(KP)=RGE(NKG,2)
  376. 70024 CONTINUE
  377. DO 70065 I=1,NP
  378. DO 60065 K=KDEB,KFIN
  379. KP=K-KDEB+1
  380. SAF1(KP,I)=-RGX(KP)*DR(KP,I)
  381. SAF2(KP,I)=-RGY(KP)*DR(KP,I)
  382. SAFK(KP,I)=0.D0
  383. SAFE(KP,I)=0.D0
  384. 60065 CONTINUE
  385. 70065 CONTINUE
  386. ENDIF
  387. ENDIF
  388.  
  389. DO 7007 K=KDEB,KFIN
  390. KP=K-KDEB+1
  391. NK=K+K0
  392. AKM(KP)=ABS(AKM(KP))/AIRE(KP)+zxzini
  393. AEM(KP)=ABS(AEM(KP))/AIRE(KP)+zxzini
  394. UMI(KP,1)=UMI(KP,1)/AIRE(KP)
  395. UMI(KP,2)=UMI(KP,2)/AIRE(KP)
  396. UM(KP)=UMI(KP,1)*UMI(KP,1)+UMI(KP,2)*UMI(KP,2)
  397. UM(KP)=SQRT(UM(KP))
  398. AX=GRADGX(KP,1)*GRADGX(KP,1)+GRADGX(KP,2)*GRADGX(KP,2)
  399. AX=SQRT(AX)+zxzini
  400. GRADGX(KP,1)=GRADGX(KP,1)/AX
  401. GRADGX(KP,2)=GRADGX(KP,2)/AX
  402. AY=GRADGY(KP,1)*GRADGY(KP,1)+GRADGY(KP,2)*GRADGY(KP,2)
  403. AY=SQRT(AY)+zxzini
  404. GRADGY(KP,1)=GRADGY(KP,1)/AY
  405. GRADGY(KP,2)=GRADGY(KP,2)/AY
  406. UPGX(KP)=GRADGX(KP,1)*UMI(KP,1)+GRADGX(KP,2)*UMI(KP,2)
  407. UPIGX(KP,1)=UPGX(KP)*GRADGX(KP,1)
  408. UPIGX(KP,2)=UPGX(KP)*GRADGX(KP,2)
  409. UPGY(KP)=GRADGY(KP,1)*UMI(KP,1)+GRADGY(KP,2)*UMI(KP,2)
  410. UPIGY(KP,1)=UPGY(KP)*GRADGY(KP,1)
  411. UPIGY(KP,2)=UPGY(KP)*GRADGY(KP,2)
  412.  
  413. AX=GRADK(KP,1)*GRADK(KP,1)+GRADK(KP,2)*GRADK(KP,2)
  414. AX=SQRT(AX)+zxzini
  415. GRADK(KP,1)=GRADK(KP,1)/AX
  416. GRADK(KP,2)=GRADK(KP,2)/AX
  417. UPK(KP)=GRADK(KP,1)*UMI(KP,1)+GRADK(KP,2)*UMI(KP,2)
  418. UPIK(KP,1)=UPK(KP)*GRADK(KP,1)
  419. UPIK(KP,2)=UPK(KP)*GRADK(KP,2)
  420.  
  421. AX=GRADE(KP,1)*GRADE(KP,1)+GRADE(KP,2)*GRADE(KP,2)
  422. AX=SQRT(AX)+zxzini
  423. GRADE(KP,1)=GRADE(KP,1)/AX
  424. GRADE(KP,2)=GRADE(KP,2)/AX
  425. UPE(KP)=GRADE(KP,1)*UMI(KP,1)+GRADE(KP,2)*UMI(KP,2)
  426. UPIE(KP,1)=UPE(KP)*GRADE(KP,1)
  427. UPIE(KP,2)=UPE(KP)*GRADE(KP,2)
  428.  
  429. ANUT(KP)=CNU*AKM(KP)*AKM(KP)/AEM(KP)
  430. AMUT(NK)=ARO(KP)*ANUT(KP)
  431. COEFT(KP)=COEF(KP)+AMUT(NK)
  432. COEFK(KP)=COEF(KP)+ANUT(KP)/SGK
  433. COEFE(KP)=COEF(KP)+ANUT(KP)/SGE
  434. C --- 2. CALCUL DU TERME DE PRODUCTION PROPREMENT DIT ----------
  435. PTEMP=( (DUDY(KP)+DVDX(KP))**2
  436. $ + 2.D0*(DUDX(KP)**2+DVDY(KP)**2) )
  437. P(KP)=PTEMP
  438. 7007 CONTINUE
  439. C------------ANCIENNE VERSION--------------------
  440. C IF(IAXI.NE.0) THEN
  441. C DO 70012 K=KDEB,KFIN
  442. C KP=K+1-KDEB
  443. C P(KP)=P(KP)+2.D0*(UMI(KP,1)*UMI(KP,1))/(RPG(K)*RPG(K))
  444. C70012 CONTINUE
  445. C END IF
  446. C
  447. C IF(IKAS.EQ.5.AND.IKOMP.EQ.0)THEN
  448. C IF(IMODEL.EQ.1)THEN
  449. C DO 70113 K=KDEB,KFIN
  450. C KP=K+1-KDEB
  451. C PG(KP)=(RGX(KP)*DTDX(KP)+RGY(KP)*DTDY(KP))/SGT
  452. C IF(PG(KP).GT.0.D0)C1G(KP)=C1
  453. C70113 CONTINUE
  454. C ELSEIF(IMODEL.EQ.2)THEN
  455. C DO 70213 K=KDEB,KFIN
  456. C KP=K+1-KDEB
  457. C PG(KP)=(RGX(KP)*DTDX(KP)+RGY(KP)*DTDY(KP))/SGT
  458. C RF =-PG(KP)/(P(KP)+PG(KP)+zxzini)
  459. C IF(PG(KP).GT.0.D0)RF=0.D0
  460. C C1G(KP)=C1*(1.D0+C3*RF)
  461. C C1P(KP)=C1*(1.D0+C3*RF)
  462. C70213 CONTINUE
  463. C ENDIF
  464. C ELSEIF(IKAS.EQ.2.AND.IKOMP.EQ.0)THEN
  465. C IF(IMODEL.EQ.1)THEN
  466. C DO 70114 K=KDEB,KFIN
  467. C KP=K+1-KDEB
  468. C PG(KP)=(DTDX(KP)+DTDY(KP))/SGT
  469. C IF(PG(KP).GT.0.D0)C1G(KP)=C1
  470. C70114 CONTINUE
  471. C ELSEIF(IMODEL.EQ.2)THEN
  472. C DO 70214 K=KDEB,KFIN
  473. C KP=K+1-KDEB
  474. C PG(KP)=(DTDX(KP)+DTDY(KP))/SGT
  475. C RF =-PG(KP)/(P(KP)+PG(KP)+zxzini)
  476. C IF(PG(KP).GT.0.D0)RF=0.D0
  477. C C1G(KP)=C1*(1.D0+C3*RF )
  478. C C1P(KP)=C1*(1.D0+C3*RF )
  479. C70214 CONTINUE
  480. C END IF
  481. C END IF
  482. C-------------VERSION POUR RNG---------------
  483. IF(IKAS.EQ.5.AND.IKOMP.EQ.0)THEN
  484. DO 70213 K=KDEB,KFIN
  485. KP=K+1-KDEB
  486. PG(KP)=(RGX(KP)*DTDX(KP)+RGY(KP)*DTDY(KP))/SGT
  487. RF =-PG(KP)/(P(KP)+PG(KP)+zxzini)
  488. IF(PG(KP).GT.0.D0)RF=0.D0
  489. C1G(KP)=C1*(1.D0+C3*RF)
  490. C1P(KP)=C1*(1.D0+C3*RF)
  491. 70213 CONTINUE
  492. ELSEIF(IKAS.EQ.2.AND.IKOMP.EQ.0)THEN
  493. DO 70214 K=KDEB,KFIN
  494. KP=K+1-KDEB
  495. PG(KP)=(DTDX(KP)+DTDY(KP))/SGT
  496. RF =-PG(KP)/(P(KP)+PG(KP)+zxzini)
  497. IF(PG(KP).GT.0.D0)RF=0.D0
  498. C1G(KP)=C1*(1.D0+C3*RF )
  499. C1P(KP)=C1*(1.D0+C3*RF )
  500. 70214 CONTINUE
  501. END IF
  502.  
  503. IF(IMODEL.EQ.2) THEN
  504. ETA0=4.377D0
  505. BETA0=0.012D0
  506. ETA=(P(KP)**0.5D0)*AKM(KP)/AEM(KP)
  507. RETA= ETA*(1.D0-(ETA/ETA0))/(1.D0+BETA0*(ETA**3.D0))
  508. C1P(KP)=C1P(KP)-RETA
  509. END IF
  510. C --------------------------------------------------------------
  511. C *** FIN DU CALCUL DU TERME DE PRODUCTION *********************
  512.  
  513. DO 70074 K=KDEB,KFIN
  514. KP=K-KDEB+1
  515. BMX=UMI(KP,1)/AL(KP)
  516. BMY=UMI(KP,2)/AH(KP)
  517. BM(KP)=BMX*BMX+BMY*BMY
  518. BM(KP)=SQRT(BM(KP))+zxzini
  519. BPGXX=UPIGX(KP,1)/AL(KP)
  520. BPGXY=UPIGX(KP,2)/AH(KP)
  521. BPGX(KP)=BPGXX*BPGXX+BPGXY*BPGXY
  522. BPGX(KP)=SQRT(BPGX(KP))+zxzini
  523. BPGYX=UPIGY(KP,1)/AL(KP)
  524. BPGYY=UPIGY(KP,2)/AH(KP)
  525. BPGY(KP)=BPGYX*BPGYX+BPGYY*BPGYY
  526. BPGY(KP)=SQRT(BPGY(KP))+zxzini
  527. BPKX=UPIK(KP,1)/AL(KP)
  528. BPKY=UPIK(KP,2)/AH(KP)
  529. BPK(KP)=BPKX*BPKX+BPKY*BPKY
  530. BPK(KP)=SQRT(BPK(KP))+zxzini
  531. BPEX=UPIE(KP,1)/AL(KP)
  532. BPEY=UPIE(KP,2)/AH(KP)
  533. BPE(KP)=BPEX*BPEX+BPEY*BPEY
  534. BPE(KP)=SQRT(BPE(KP))+zxzini
  535. 70074 CONTINUE
  536. C
  537. C AVANT DECENTREMENT
  538. C
  539. C ALFA,AKSI,CCU utilisées seulement dans la boucle 7008
  540. IF(IDCEN.EQ.1)THEN
  541. DO 70081 K=KDEB,KFIN
  542. KP=K-KDEB+1
  543. GXCXT(KP)=0.D0
  544. GXCYT(KP)=0.D0
  545. GXCXY(KP)=0.D0
  546. GYCXT(KP)=0.D0
  547. GYCYT(KP)=0.D0
  548. GYCXY(KP)=0.D0
  549. GKCXT(KP)=0.D0
  550. GKCYT(KP)=0.D0
  551. GKCXY(KP)=0.D0
  552. GECXT(KP)=0.D0
  553. GECYT(KP)=0.D0
  554. GECXY(KP)=0.D0
  555. 70081 CONTINUE
  556.  
  557. ELSEIF(IDCEN.EQ.2)THEN
  558. DO 7008 K=KDEB,KFIN
  559. KP=K-KDEB+1
  560. HMK=2.D0*UM(KP)/BM(KP)
  561. XMB(KP)=HMK
  562. ALFA=UM(KP)*HMK/COEFT(KP)/2.D0
  563. AKSI=ALFA/3.D0
  564. IF(ALFA.GT.3.D0)AKSI=1.D0
  565. CCT=AKSI/BM(KP)
  566.  
  567. HPK=2.D0*UPGX(KP)/BPGX(KP)
  568. ALFA=UPGX(KP)*HPK/COEFT(KP)/2.D0
  569. AKSI=ALFA/3.D0
  570. IF(ALFA.GT.3.D0)AKSI=1.D0
  571. CCP=AKSI/BPGX(KP)
  572. CPT=CCP-CCT
  573. CC2X=0.D0
  574. IF(CPT.GE.0.D0)CC2X=CPT
  575.  
  576. HPK=2.D0*UPGY(KP)/BPGY(KP)
  577. ALFA=UPGY(KP)*HPK/COEFT(KP)/2.D0
  578. AKSI=ALFA/3.D0
  579. IF(ALFA.GT.3.D0)AKSI=1.D0
  580. CCP=AKSI/BPGY(KP)
  581. CPT=CCP-CCT
  582. CC2Y=0.D0
  583. IF(CPT.GE.0.D0)CC2Y=CPT
  584.  
  585. HPK=2.D0*UPK(KP)/BPK(KP)
  586. ALFA=UPK(KP)*HPK/COEFK(KP)/2.D0
  587. AKSI=ALFA/3.D0
  588. IF(ALFA.GT.3.D0)AKSI=1.D0
  589. CCP=AKSI/BPK(KP)
  590. CPT=CCP-CCT
  591. CC2K=0.D0
  592. IF(CPT.GE.0.D0)CC2K=CPT
  593.  
  594. HPK=2.D0*UPE(KP)/BPE(KP)
  595. ALFA=UPE(KP)*HPK/COEFE(KP)/2.D0
  596. AKSI=ALFA/3.D0
  597. IF(ALFA.GT.3.D0)AKSI=1.D0
  598. CCP=AKSI/BPE(KP)
  599. CPT=CCP-CCT
  600. CC2E=0.D0
  601. IF(CPT.GE.0.D0)CC2E=CPT
  602.  
  603. GXCXT(KP)=(UMI(KP,1)*UMI(KP,1)*CCT
  604. $ +UPIGX(KP,1)*UPIGX(KP,1)*CC2X)
  605. GXCYT(KP)=(UMI(KP,2)*UMI(KP,2)*CCT
  606. $ +UPIGX(KP,2)*UPIGX(KP,2)*CC2X)
  607. GXCXY(KP)=(UMI(KP,1)*UMI(KP,2)*CCT
  608. $ +UPIGX(KP,1)*UPIGX(KP,2)*CC2X)
  609.  
  610. GYCXT(KP)=(UMI(KP,1)*UMI(KP,1)*CCT
  611. $ +UPIGY(KP,1)*UPIGY(KP,1)*CC2Y)
  612. GYCYT(KP)=(UMI(KP,2)*UMI(KP,2)*CCT
  613. $ +UPIGY(KP,2)*UPIGY(KP,2)*CC2Y)
  614. GYCXY(KP)=(UMI(KP,1)*UMI(KP,2)*CCT
  615. $ +UPIGY(KP,1)*UPIGY(KP,2)*CC2Y)
  616.  
  617. GKCXT(KP)=(UMI(KP,1)*UMI(KP,1)*CCT
  618. $ +UPIK(KP,1)*UPIK(KP,1)*CC2K)
  619. GKCYT(KP)=(UMI(KP,2)*UMI(KP,2)*CCT
  620. $ +UPIK(KP,2)*UPIK(KP,2)*CC2K)
  621. GKCXY(KP)=(UMI(KP,1)*UMI(KP,2)*CCT
  622. $ +UPIK(KP,1)*UPIK(KP,2)*CC2K)
  623.  
  624. GECXT(KP)=(UMI(KP,1)*UMI(KP,1)*CCT
  625. $ +UPIE(KP,1)*UPIE(KP,1)*CC2E)
  626. GECYT(KP)=(UMI(KP,2)*UMI(KP,2)*CCT
  627. $ +UPIE(KP,2)*UPIE(KP,2)*CC2E)
  628. GECXY(KP)=(UMI(KP,1)*UMI(KP,2)*CCT
  629. $ +UPIE(KP,1)*UPIE(KP,2)*CC2E)
  630.  
  631. 7008 CONTINUE
  632.  
  633. ELSEIF(IDCEN.EQ.3)THEN
  634. DO 7018 K=KDEB,KFIN
  635. KP=K-KDEB+1
  636. HMK=2.D0*UM(KP)/BM(KP)
  637. XMB(KP)=HMK
  638. ALFA=UM(KP)*HMK/COEFT(KP)/2.D0
  639. AKSI=ALFA/3.D0
  640. IF(ALFA.GT.3.D0)AKSI=1.D0
  641. CCT=AKSI/BM(KP)
  642.  
  643. GXCXT(KP)=UMI(KP,1)*UMI(KP,1)*CCT
  644. GXCYT(KP)=UMI(KP,2)*UMI(KP,2)*CCT
  645. GXCXY(KP)=UMI(KP,1)*UMI(KP,2)*CCT
  646.  
  647. GYCXT(KP)=UMI(KP,1)*UMI(KP,1)*CCT
  648. GYCYT(KP)=UMI(KP,2)*UMI(KP,2)*CCT
  649. GYCXY(KP)=UMI(KP,1)*UMI(KP,2)*CCT
  650.  
  651. GKCXT(KP)=UMI(KP,1)*UMI(KP,1)*CCT
  652. GKCYT(KP)=UMI(KP,2)*UMI(KP,2)*CCT
  653. GKCXY(KP)=UMI(KP,1)*UMI(KP,2)*CCT
  654.  
  655. GECXT(KP)=UMI(KP,1)*UMI(KP,1)*CCT
  656. GECYT(KP)=UMI(KP,2)*UMI(KP,2)*CCT
  657. GECXY(KP)=UMI(KP,1)*UMI(KP,2)*CCT
  658.  
  659. 7018 CONTINUE
  660.  
  661. ELSEIF(IDCEN.EQ.4)THEN
  662. DT19=DTM1*0.5D0
  663. DO 7009 K=KDEB,KFIN
  664. KP=K-KDEB+1
  665. XMB(KP)=(AL(KP)+AH(KP))/2.D0
  666. GXCXT(KP)=UMI(KP,1)*UMI(KP,1)*DT19
  667. GXCYT(KP)=UMI(KP,2)*UMI(KP,2)*DT19
  668. GXCXY(KP)=UMI(KP,1)*UMI(KP,2)*DT19
  669. GYCXT(KP)=UMI(KP,1)*UMI(KP,1)*DT19
  670. GYCYT(KP)=UMI(KP,2)*UMI(KP,2)*DT19
  671. GYCXY(KP)=UMI(KP,1)*UMI(KP,2)*DT19
  672. GKCXT(KP)=UMI(KP,1)*UMI(KP,1)*DT19
  673. GKCYT(KP)=UMI(KP,2)*UMI(KP,2)*DT19
  674. GKCXY(KP)=UMI(KP,1)*UMI(KP,2)*DT19
  675. GECXT(KP)=UMI(KP,1)*UMI(KP,1)*DT19
  676. GECYT(KP)=UMI(KP,2)*UMI(KP,2)*DT19
  677. GECXY(KP)=UMI(KP,1)*UMI(KP,2)*DT19
  678. 7009 CONTINUE
  679.  
  680. ENDIF
  681.  
  682. C WRITE(IOIMP,*)' Avt Calcul DT'
  683. C
  684. C AVANT CALCUL DT
  685. C
  686. DO 7010 K=KDEB,KFIN
  687. KP=K-KDEB+1
  688. DT0=DT
  689. DT1X=2.D0/
  690. & (UMI(KP,1)*UMI(KP,1)/(GXCXT(KP)+COEFT(KP))
  691. & +UMI(KP,2)*UMI(KP,2)/(GXCYT(KP)+COEFT(KP)))
  692.  
  693. DT1Y=2.D0/
  694. & (UMI(KP,1)*UMI(KP,1)/(GYCXT(KP)+COEFT(KP))
  695. & +UMI(KP,2)*UMI(KP,2)/(GYCYT(KP)+COEFT(KP)))
  696. DT2X=0.5D0/
  697. & ((GXCXT(KP)+COEFT(KP))*AL2(KP)
  698. & +(GXCYT(KP)+COEFT(KP))*AH2(KP))
  699. DT2Y=0.5D0/
  700. & ((GYCXT(KP)+COEFT(KP))*AL2(KP)
  701. & +(GYCYT(KP)+COEFT(KP))*AH2(KP))
  702. IF(DT1X.LT.DT)DT=DT1X
  703. IF(DT1Y.LT.DT)DT=DT1Y
  704. IF(DT2X.LT.DT)DT=DT2X
  705. IF(DT2Y.LT.DT)DT=DT2Y
  706. C IF(DT3.LT.DT)DT=DT3
  707. IF(DT.NE.DT0) THEN
  708. DTT1=MIN(DT1X,DT1Y)
  709. DTT2=MIN(DT2X,DT2Y)
  710. C DTT3=DT3
  711. DIAEL=XMB(KP)
  712. NUEL=K
  713. END IF
  714. 7010 CONTINUE
  715.  
  716. C WRITE(IOIMP,*)' le coeur du calcul '
  717. C Le coeur du calcul ...
  718.  
  719. IF(IKOMP.EQ.0)THEN
  720.  
  721. DO 7014 I=1,NP
  722. DO 70141 J=1,NP
  723. DO 70142 K=KDEB,KFIN
  724. KP=K-KDEB+1
  725. ZVGGX=AIRE(KP)*(
  726. & HR(K,I,1)*HR(K,J,1)*GXCXT(KP)
  727. & + HR(K,I,1)*HR(K,J,2)*GXCXY(KP)
  728. & + HR(K,I,2)*HR(K,J,1)*GXCXY(KP)
  729. & + HR(K,I,2)*HR(K,J,2)*GXCYT(KP)
  730. & + (GXCXT(KP)*AL2(KP)+GXCYT(KP)*AH2(KP))
  731. $ /12.D0*VGGT(J,I)*QUA4 )
  732.  
  733. ZVGGY=AIRE(KP)*(
  734. & HR(K,I,1)*HR(K,J,1)*GYCXT(KP)
  735. & + HR(K,I,1)*HR(K,J,2)*GYCXY(KP)
  736. & + HR(K,I,2)*HR(K,J,1)*GYCXY(KP)
  737. & + HR(K,I,2)*HR(K,J,2)*GYCYT(KP)
  738. & + (GYCXT(KP)*AL2(KP)+GYCYT(KP)*AH2(KP))/12
  739. $ .D0*VGGT(J,I)*QUA4 )
  740.  
  741. ZVGK =AIRE(KP)*(
  742. & HR(K,I,1)*HR(K,J,1)*GKCXT(KP)
  743. & + HR(K,I,1)*HR(K,J,2)*GKCXY(KP)
  744. & + HR(K,I,2)*HR(K,J,1)*GKCXY(KP)
  745. & + HR(K,I,2)*HR(K,J,2)*GKCYT(KP)
  746. & + (GKCXT(KP)*AL2(KP)+GKCYT(KP)*AH2(KP))/12
  747. $ .D0*VGGT(J,I)*QUA4 )
  748.  
  749. ZVGE =AIRE(KP)*(
  750. & HR(K,I,1)*HR(K,J,1)*GECXT(KP)
  751. & + HR(K,I,1)*HR(K,J,2)*GECXY(KP)
  752. & + HR(K,I,2)*HR(K,J,1)*GECXY(KP)
  753. & + HR(K,I,2)*HR(K,J,2)*GECYT(KP)
  754. & + (GECXT(KP)*AL2(KP)+GECYT(KP)*AH2(KP))/12
  755. $ .D0*VGGT(J,I)*QUA4 )
  756.  
  757. ZVGD=AIRE(KP)*(
  758. & HR(K,I,1)*HR(K,J,1)*COEFT(KP)
  759. & + HR(K,I,2)*HR(K,J,2)*COEFT(KP)
  760. & + (COEFT(KP)*AL2(KP)+COEFT(KP)*AH2(KP))/12
  761. $ .D0*VGGT(J,I)*QUA4 )
  762.  
  763. ZVGDK=AIRE(KP)*(
  764. & HR(K,I,1)*HR(K,J,1)*COEFK(KP)
  765. & + HR(K,I,2)*HR(K,J,2)*COEFK(KP)
  766. & + (COEFK(KP)*AL2(KP)+COEFK(KP)*AH2(KP))/12
  767. $ .D0*VGGT(J,I)*QUA4 )
  768.  
  769. ZVGDE=AIRE(KP)*(
  770. & HR(K,I,1)*HR(K,J,1)*COEFE(KP)
  771. & + HR(K,I,2)*HR(K,J,2)*COEFE(KP)
  772. & + (COEFE(KP)*AL2(KP)+COEFE(KP)*AH2(KP))/12
  773. $ .D0*VGGT(J,I)*QUA4 )
  774.  
  775. Cnon V2=(UIX(KP,I)*HR(K,J,1)+UIY(KP,I)*HR(K,J,2))*DR(KP,I)
  776.  
  777. V2=UMI(KP,1)*DR(KP,I)*HR(K,J,1)+UMI(KP,2)*DR(KP,I)
  778. $ *HR(K,J,2)
  779.  
  780. SAF1(KP,I)=SAF1(KP,I)+(V2+ZVGGX)*GIX(KP,J)+ZVGD
  781. $ *UIX(KP,J)
  782. SAF2(KP,I)=SAF2(KP,I)+(V2+ZVGGY)*GIY(KP,J)+ZVGD
  783. $ *UIY(KP,J)
  784.  
  785. SAFK(KP,I)=SAFK(KP,I)+(V2+ZVGK)*AK(KP,J)+ZVGDK
  786. $ *AK(KP,J)
  787. SAFE(KP,I)=SAFE(KP,I)+(V2+ZVGE)*AE(KP,J)+ZVGDE
  788. $ *AE(KP,J)
  789.  
  790. 70142 CONTINUE
  791. 70141 CONTINUE
  792. 7014 CONTINUE
  793.  
  794. ELSEIF(IKOMP.EQ.1)THEN
  795.  
  796. DO 7015 I=1,NP
  797. DO 70151 J=1,NP
  798. DO 70152 K=KDEB,KFIN
  799. KP=K-KDEB+1
  800. ZVGGX=AIRE(KP)*(
  801. & HR(K,I,1)*HR(K,J,1)*GXCXT(KP)
  802. & + HR(K,I,1)*HR(K,J,2)*GXCXY(KP)
  803. & + HR(K,I,2)*HR(K,J,1)*GXCXY(KP)
  804. & + HR(K,I,2)*HR(K,J,2)*GXCYT(KP)
  805. & + (GXCXT(KP)*AL2(KP)+GXCYT(KP)*AH2(KP))/12
  806. $ .D0*VGGT(J,I)*QUA4 )
  807.  
  808. ZVGGY=AIRE(KP)*(
  809. & HR(K,I,1)*HR(K,J,1)*GYCXT(KP)
  810. & + HR(K,I,1)*HR(K,J,2)*GYCXY(KP)
  811. & + HR(K,I,2)*HR(K,J,1)*GYCXY(KP)
  812. & + HR(K,I,2)*HR(K,J,2)*GYCYT(KP)
  813. & + (GYCXT(KP)*AL2(KP)+GYCYT(KP)*AH2(KP))/12
  814. $ .D0*VGGT(J,I)*QUA4 )
  815.  
  816. ZVGK =AIRE(KP)*(
  817. & HR(K,I,1)*HR(K,J,1)*GKCXT(KP)
  818. & + HR(K,I,1)*HR(K,J,2)*GKCXY(KP)
  819. & + HR(K,I,2)*HR(K,J,1)*GKCXY(KP)
  820. & + HR(K,I,2)*HR(K,J,2)*GKCYT(KP)
  821. & + (GKCXT(KP)*AL2(KP)+GKCYT(KP)*AH2(KP))/12
  822. $ .D0*VGGT(J,I)*QUA4 )
  823.  
  824. ZVGE =AIRE(KP)*(
  825. & HR(K,I,1)*HR(K,J,1)*GECXT(KP)
  826. & + HR(K,I,1)*HR(K,J,2)*GECXY(KP)
  827. & + HR(K,I,2)*HR(K,J,1)*GECXY(KP)
  828. & + HR(K,I,2)*HR(K,J,2)*GECYT(KP)
  829. & + (GECXT(KP)*AL2(KP)+GECYT(KP)*AH2(KP))/12
  830. $ .D0*VGGT(J,I)*QUA4 )
  831.  
  832. ZVGD=AIRE(KP)*(
  833. & HR(K,I,1)*HR(K,J,1)*COEFT(KP)
  834. & + HR(K,I,2)*HR(K,J,2)*COEFT(KP)
  835. & + (COEFT(KP)*AL2(KP)+COEFT(KP)*AH2(KP))/12
  836. $ .D0*VGGT(J,I)*QUA4 )
  837.  
  838. ZVGDK=AIRE(KP)*(
  839. & HR(K,I,1)*HR(K,J,1)*COEFK(KP)
  840. & + HR(K,I,2)*HR(K,J,2)*COEFK(KP)
  841. & + (COEFK(KP)*AL2(KP)+COEFK(KP)*AH2(KP))/12
  842. $ .D0*VGGT(J,I)*QUA4 )
  843.  
  844. ZVGDE=AIRE(KP)*(
  845. & HR(K,I,1)*HR(K,J,1)*COEFE(KP)
  846. & + HR(K,I,2)*HR(K,J,2)*COEFE(KP)
  847. & + (COEFE(KP)*AL2(KP)+COEFE(KP)*AH2(KP))/12
  848. $ .D0*VGGT(J,I)*QUA4 )
  849.  
  850. COEFT3=COEFT(KP)/3.D0
  851. ZVGUU=AIRE(KP)*( HR(K,I,1)*HR(K,J,1)
  852. & + AL2(KP)/12.D0*VGGT(J,I)*QUA4 )*COEFT3
  853. $ *UIX(KP,J)
  854. ZVGUV=AIRE(KP)*( HR(K,I,1)*HR(K,J,2))*COEFT3*UIY(KP
  855. $ ,J)
  856. ZVGVU=AIRE(KP)*( HR(K,I,2)*HR(K,J,1))*COEFT3*UIX(KP
  857. $ ,J)
  858. ZVGVV=AIRE(KP)*( HR(K,I,2)*HR(K,J,2)
  859. & + AH2(KP)/12.D0*VGGT(J,I)*QUA4 )*COEFT3
  860. $ *UIY(KP,J)
  861.  
  862. V2=(UIX(KP,J)*HR(K,J,1)+UIY(KP,J)*HR(K,J,2))*DR(KP
  863. $ ,I)
  864.  
  865. SAF1(KP,I)=SAF1(KP,I)+(V2+ZVGGX)*GIX(KP,J)+ZVGD
  866. $ *UIX(KP,J)+ ZVGUU + ZVGUV
  867. SAF2(KP,I)=SAF2(KP,I)+(V2+ZVGGY)*GIY(KP,J)+ZVGD
  868. $ *UIY(KP,J)+ ZVGVU + ZVGVV
  869.  
  870. SAFK(KP,I)=SAFK(KP,I)+(V2+ZVGK)*AK(KP,J)+ZVGDK
  871. $ *AK(KP,J)
  872. SAFE(KP,I)=SAFE(KP,I)+(V2+ZVGE)*AE(KP,J)+ZVGDE
  873. $ *AE(KP,J)
  874.  
  875. 70152 CONTINUE
  876. 70151 CONTINUE
  877. 7015 CONTINUE
  878.  
  879. ENDIF
  880.  
  881. IF(IAXI.NE.0) THEN
  882. DO 7016 I=1,NP
  883. DO 70161 J=1,NP
  884. DO 70162 K=KDEB,KFIN
  885. KP=K-KDEB+1
  886. C IP=LE(I,K)
  887. C XG=XCOOR((IP-1)*(IDIM+1) +1)+zxzini
  888. C R2=1.D0/XG/XG*DR(KP,I)
  889.  
  890. R2=1.D0/RPG(K)/RPG(K)*DR(KP,I)
  891. AX=(GXCXT(KP)+GXCYT(KP))*0.5D0
  892. SAF1(KP,I)=SAF1(KP,I)+R2*(COEFT(KP)*UIX(KP,J)+AX
  893. $ *GIX(KP,J))
  894.  
  895. 70162 CONTINUE
  896. 70161 CONTINUE
  897. 7016 CONTINUE
  898.  
  899. IF(IKOMP.EQ.1)THEN
  900.  
  901. DO 7118 I=1,NP
  902. DO 71181 K=KDEB,KFIN
  903. KP=K-KDEB+1
  904.  
  905. R1=1.D0/RPG(K)*DR(KP,I)
  906. SAF1(KP,I)=SAF1(KP,I)+R1*UMI(KP,1)*GIX(KP,I)
  907. SAF2(KP,I)=SAF2(KP,I)+R1*UMI(KP,1)*GIY(KP,I)
  908.  
  909. 71181 CONTINUE
  910. 7118 CONTINUE
  911.  
  912. ENDIF
  913.  
  914. ENDIF
  915. C
  916. C --------------------------------------------------------------
  917. C
  918. C
  919. DO 7017 I=1,NP
  920. DO 70171 K=KDEB,KFIN
  921. KP=K-KDEB+1
  922. TSK =(ANUT(KP)*(P(KP)+PG(KP))-AEM(KP))*DR(KP,I)
  923. SAFK(KP,I)=SAFK(KP,I)-TSK
  924.  
  925. TSE =(CNU*(C1P(KP)*P(KP)+C1G(KP)*PG(KP))*AKM(KP))
  926. $ *DR(KP,I)
  927. SAFE(KP,I)=SAFE(KP,I)-TSE
  928.  
  929. TSE1 =C2*AEM(KP)/AKM(KP)*DR(KP,I)
  930. BE1(KP,I) =TSE1
  931. 70171 CONTINUE
  932. 7017 CONTINUE
  933.  
  934. C
  935. C
  936. C --- ECRITURE DANS LES TABLEAUX F(1,*),F(2,*),G,GK,GE,GE1 (SCALAIRE)
  937. DO 70019 I=1,NP
  938. DO 60019 K=KDEB,KFIN
  939. KP=K+1-KDEB
  940. NF=IPADS(LE(I,K))
  941. F(NF,1)=F(NF,1)-SAF1(KP,I)
  942. F(NF,2)=F(NF,2)-SAF2(KP,I)
  943. GK(NF) =GK(NF) -SAFK(KP,I)
  944. GE1(NF)=GE1(NF)+BE1(KP,I)
  945. GE(NF) =GE (NF)-SAFE(KP,I)
  946. 60019 CONTINUE
  947. 70019 CONTINUE
  948. 70001 CONTINUE
  949. C
  950. C *** FIN DE LA BOUCLE SUR LES PAQUETS D'ELEMENTS ***
  951. C
  952. C WRITE(IOIMP,*)' FIN YCVIT GK='
  953. C WRITE(IOIMP,1002)(GK(i),i=1,nptd)
  954.  
  955. IPAS=1
  956. RETURN
  957.  
  958. C ********
  959. C * 3D *
  960. C ********
  961.  
  962. 10 CONTINUE
  963. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  964.  
  965. C DIFFERENCES HEXAHEDRES / AUTRES ELEMENTS
  966. CUB8=0.D0
  967. IF(NP.EQ.8)CUB8=1.D0
  968.  
  969. C
  970. C K EST LE NUMERO DE L'ELEMENT
  971. C KP PERMET DE SE SITUER A L'INTERIEUR DES TABLEAUX DE LRV ELEMENTS
  972. C --- CALCUL DU NOMBRE DE PAQUETS DE LRV ELEMENTS ---
  973. NNN=MOD(NEL,LRV)
  974. IF(NNN.EQ.0) NPACK=NEL/LRV
  975. IF(NNN.NE.0) NPACK=1+(NEL-NNN)/LRV
  976. KPACKD=1
  977. KPACKF=NPACK
  978. C
  979. C*** BOUCLE SUR LES PAQUETS D'ELEMENTS ***
  980. C
  981. DO 80001 KPACK=KPACKD,KPACKF
  982. C
  983. C --- POUR CHAQUE PAQUET DE LRV ELEMENTS
  984. KDEB=1+(KPACK-1)*LRV
  985. KFIN=MIN(NEL,KDEB+LRV-1)
  986. C WRITE(IOIMP,*)' KPACK=',KPACK
  987. C
  988. DO 80002 K=KDEB,KFIN
  989. KP=K-KDEB+1
  990. NK=K+K0
  991. K1=1+(1-IK1)*(NK-1)
  992. AIRE(KP)=VOLU(NK)
  993. COEF(KP)=COEFF(K1)
  994. AL(KP)=COTE(NK,1)
  995. AH(KP)=COTE(NK,2)
  996. AP(KP)=COTE(NK,3)
  997. AL2(KP)=1.D0/AL(KP)/AL(KP)
  998. AH2(KP)=1.D0/AH(KP)/AH(KP)
  999. AP2(KP)=1.D0/AP(KP)/AP(KP)
  1000. CFM(KP)=AL(KP)*AH(KP)/AP(KP)+AL(KP)*AP(KP)/AH(KP)+
  1001. & AP(KP)*AH(KP)/AL(KP)
  1002. C CF1(KP)=AL(KP)*AH(KP)/AP(KP)
  1003. C CF2(KP)=AL(KP)*AP(KP)/AH(KP)
  1004. C CF3(KP)=AP(KP)*AH(KP)/AL(KP)
  1005. XMH (KP)=(AL(KP)+AH(KP)+AP(KP))/3.D0
  1006. XMB (KP)=XMH (KP)
  1007. 80002 CONTINUE
  1008. C WRITE(IOIMP,*)' Apr bcl 80002,,,,,,,,,,,,,,,,,,,,,,,, '
  1009.  
  1010. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  1011. C Initialisation des UMI,UMIT avant accumulation
  1012. DO 8005 K=KDEB,KFIN
  1013. KP=K-KDEB+1
  1014. UMI(KP,1)=zxzini
  1015. UMI(KP,2)=zxzini
  1016. UMI(KP,3)=zxzini
  1017. GRADGX(KP,1)=zxzini
  1018. GRADGX(KP,2)=zxzini
  1019. GRADGX(KP,3)=zxzini
  1020. GRADGY(KP,1)=zxzini
  1021. GRADGY(KP,2)=zxzini
  1022. GRADGY(KP,3)=zxzini
  1023. GRADGZ(KP,1)=zxzini
  1024. GRADGZ(KP,2)=zxzini
  1025. GRADGZ(KP,3)=zxzini
  1026. AKM(KP)=zxzini
  1027. AEM(KP)=zxzini
  1028. UPIK(KP,1)=zxzini
  1029. UPIK(KP,2)=zxzini
  1030. UPIK(KP,3)=zxzini
  1031. UPIE(KP,1)=zxzini
  1032. UPIE(KP,2)=zxzini
  1033. UPIE(KP,3)=zxzini
  1034. GRADK(KP,1)=zxzini
  1035. GRADK(KP,2)=zxzini
  1036. GRADK(KP,3)=zxzini
  1037. GRADE(KP,1)=zxzini
  1038. GRADE(KP,2)=zxzini
  1039. GRADE(KP,3)=zxzini
  1040. DUDX(KP)=0.D0
  1041. DUDY(KP)=0.D0
  1042. DUDZ(KP)=0.D0
  1043. DVDX(KP)=0.D0
  1044. DVDY(KP)=0.D0
  1045. DVDZ(KP)=0.D0
  1046. DWDX(KP)=0.D0
  1047. DWDY(KP)=0.D0
  1048. DWDZ(KP)=0.D0
  1049. DTDX(KP)=0.D0
  1050. DTDY(KP)=0.D0
  1051. DTDZ(KP)=0.D0
  1052. C1P(KP)=C1
  1053. C1G(KP)=0.D0
  1054. PG(KP)=0.D0
  1055. 8005 CONTINUE
  1056.  
  1057. DO 8006 I=1,NP
  1058. DO 5006 K=KDEB,KFIN
  1059. KP=K-KDEB+1
  1060. NF=IPADI(LE(I,K))
  1061. NFU=IPADU(LE(I,K))
  1062. DR(KP,I)=DRR(I,K)
  1063. UMI(KP,1)=UMI(KP,1)+UN(NFU,1)*DR(KP,I)
  1064. UMI(KP,2)=UMI(KP,2)+UN(NFU,2)*DR(KP,I)
  1065. UMI(KP,3)=UMI(KP,3)+UN(NFU,3)*DR(KP,I)
  1066. UIX(KP,I)=UN(NFU,1)
  1067. UIY(KP,I)=UN(NFU,2)
  1068. UIZ(KP,I)=UN(NFU,3)
  1069. GIX(KP,I)=GN(NF,1)
  1070. GIY(KP,I)=GN(NF,2)
  1071. GIZ(KP,I)=GN(NF,3)
  1072. AK(KP,I)=TK(NF)
  1073. AE(KP,I)=TE(NF)
  1074. GRADGX(KP,1)=GRADGX(KP,1)+HR(K,I,1)*GIX(KP,I)
  1075. GRADGX(KP,2)=GRADGX(KP,2)+HR(K,I,2)*GIX(KP,I)
  1076. GRADGX(KP,3)=GRADGX(KP,3)+HR(K,I,3)*GIX(KP,I)
  1077. GRADGY(KP,1)=GRADGY(KP,1)+HR(K,I,1)*GIY(KP,I)
  1078. GRADGY(KP,2)=GRADGY(KP,2)+HR(K,I,2)*GIY(KP,I)
  1079. GRADGY(KP,3)=GRADGY(KP,3)+HR(K,I,3)*GIY(KP,I)
  1080. GRADGZ(KP,1)=GRADGZ(KP,1)+HR(K,I,1)*GIZ(KP,I)
  1081. GRADGZ(KP,2)=GRADGZ(KP,2)+HR(K,I,2)*GIZ(KP,I)
  1082. GRADGZ(KP,3)=GRADGZ(KP,3)+HR(K,I,3)*GIZ(KP,I)
  1083. AKM(KP)=AKM(KP)+TK(NF)*DR(KP,I)
  1084. AEM(KP)=AEM(KP)+TE(NF)*DR(KP,I)
  1085. GRADK(KP,1)=GRADK(KP,1)+HR(K,I,1)*AK(KP,I)
  1086. GRADK(KP,2)=GRADK(KP,2)+HR(K,I,2)*AK(KP,I)
  1087. GRADK(KP,3)=GRADK(KP,3)+HR(K,I,3)*AK(KP,I)
  1088. GRADE(KP,1)=GRADE(KP,1)+HR(K,I,1)*AE(KP,I)
  1089. GRADE(KP,2)=GRADE(KP,2)+HR(K,I,2)*AE(KP,I)
  1090. GRADE(KP,3)=GRADE(KP,3)+HR(K,I,3)*AE(KP,I)
  1091. C *** CALCUL DU TERME DE PRODUCTION ****************************
  1092. DUDX(KP) = DUDX(KP)+HR(K,I,1)*UN(NFU,1)
  1093. DUDY(KP) = DUDY(KP)+HR(K,I,2)*UN(NFU,1)
  1094. DUDZ(KP) = DUDZ(KP)+HR(K,I,3)*UN(NFU,1)
  1095. DVDX(KP) = DVDX(KP)+HR(K,I,1)*UN(NFU,2)
  1096. DVDY(KP) = DVDY(KP)+HR(K,I,2)*UN(NFU,2)
  1097. DVDZ(KP) = DVDZ(KP)+HR(K,I,3)*UN(NFU,2)
  1098. DWDX(KP) = DWDX(KP)+HR(K,I,1)*UN(NFU,3)
  1099. DWDY(KP) = DWDY(KP)+HR(K,I,2)*UN(NFU,3)
  1100. DWDZ(KP) = DWDZ(KP)+HR(K,I,3)*UN(NFU,3)
  1101. 5006 CONTINUE
  1102. 8006 CONTINUE
  1103.  
  1104. C WRITE(IOIMP,*)'Initialisation SAF1,SAF2,SBF '
  1105. C
  1106. C Initialisation des variables d'accumulation SAF1,SAF2,SBF
  1107. C
  1108. IF(IKOMP.EQ.0)THEN
  1109.  
  1110. DO 80060 K=KDEB,KFIN
  1111. KP=K-KDEB+1
  1112. ARO(KP)=1.D0
  1113. 80060 CONTINUE
  1114.  
  1115. IF(IKAS.EQ.2)THEN
  1116. DO 80061 I=1,NP
  1117. DO 50061 K=KDEB,KFIN
  1118. KP=K-KDEB+1
  1119. SAF1(KP,I)=0.D0
  1120. SAF2(KP,I)=0.D0
  1121. SAF3(KP,I)=0.D0
  1122. SAFK(KP,I)=0.D0
  1123. SAFE(KP,I)=0.D0
  1124. 50061 CONTINUE
  1125. 80061 CONTINUE
  1126. ELSEIF(IKAS.EQ.3)THEN
  1127. DO 80021 K=KDEB,KFIN
  1128. KP=K-KDEB+1
  1129. NK=K+K0
  1130. NKG=1+(1-IKG)*(NK-1)
  1131. RGX(KP)=RGE(NKG,1)
  1132. RGY(KP)=RGE(NKG,2)
  1133. RGZ(KP)=RGE(NKG,3)
  1134. 80021 CONTINUE
  1135. DO 80062 I=1,NP
  1136. DO 50062 K=KDEB,KFIN
  1137. KP=K-KDEB+1
  1138. SAF1(KP,I)=(-RGX(KP))*DR(KP,I)
  1139. SAF2(KP,I)=(-RGY(KP))*DR(KP,I)
  1140. SAF3(KP,I)=(-RGZ(KP))*DR(KP,I)
  1141. SAFK(KP,I)=0.D0
  1142. SAFE(KP,I)=0.D0
  1143. NKG=1+(1-IKG)*(NK-1)
  1144. DTDX(KP)=DTDX(KP)+HR(K,I,1)*RGE(NKG,1)
  1145. DTDY(KP)=DTDY(KP)+HR(K,I,2)*RGE(NKG,2)
  1146. DTDZ(KP)=DTDZ(KP)+HR(K,I,3)*RGE(NKG,3)
  1147. 50062 CONTINUE
  1148. 80062 CONTINUE
  1149. ELSEIF(IKAS.EQ.5)THEN
  1150. DO 80022 K=KDEB,KFIN
  1151. KP=K-KDEB+1
  1152. NK=K+K0
  1153. NKG=1+(1-IKG)*(NK-1)
  1154. RGX(KP)=RGE(NKG,1)
  1155. RGY(KP)=RGE(NKG,2)
  1156. RGZ(KP)=RGE(NKG,3)
  1157. 80022 CONTINUE
  1158. DO 80063 I=1,NP
  1159. DO 50063 K=KDEB,KFIN
  1160. KP=K-KDEB+1
  1161. NF=1+(1-IKT)*(IPADS(LE(I,K))-1)
  1162. NFR=1+(1-IKREF)*(IPADS(LE(I,K))-1)
  1163. SAF1(KP,I)=(-RGX(KP)*(TREF(NFR)-TN(NF)))*DR(KP,I)
  1164. SAF2(KP,I)=(-RGY(KP)*(TREF(NFR)-TN(NF)))*DR(KP,I)
  1165. SAF3(KP,I)=(-RGZ(KP)*(TREF(NFR)-TN(NF)))*DR(KP,I)
  1166. SAFK(KP,I)=0.D0
  1167. SAFE(KP,I)=0.D0
  1168. DTDX(KP)=DTDX(KP)+HR(K,I,1)*TN(NF)
  1169. DTDY(KP)=DTDY(KP)+HR(K,I,2)*TN(NF)
  1170. DTDZ(KP)=DTDZ(KP)+HR(K,I,3)*TN(NF)
  1171. 50063 CONTINUE
  1172. 80063 CONTINUE
  1173. ENDIF
  1174.  
  1175. ELSEIF(IKOMP.EQ.1)THEN
  1176.  
  1177. DO 80020 K=KDEB,KFIN
  1178. KP=K-KDEB+1
  1179. NK=K+K0
  1180. NKR=1+(1-IKR)*(NK-1)
  1181. ARO(KP)=RO(NKR)
  1182. 80020 CONTINUE
  1183.  
  1184. IF(IKAS.EQ.4)THEN
  1185. DO 80064 I=1,NP
  1186. DO 50064 K=KDEB,KFIN
  1187. KP=K-KDEB+1
  1188. SAF1(KP,I)=0.D0
  1189. SAF2(KP,I)=0.D0
  1190. SAF3(KP,I)=0.D0
  1191. SAFK(KP,I)=0.D0
  1192. SAFE(KP,I)=0.D0
  1193. 50064 CONTINUE
  1194. 80064 CONTINUE
  1195. ELSEIF(IKAS.EQ.5)THEN
  1196. DO 80024 K=KDEB,KFIN
  1197. KP=K-KDEB+1
  1198. NK=K+K0
  1199. NKG=1+(1-IKG)*(NK-1)
  1200. RGX(KP)=RGE(NKG,1)
  1201. RGY(KP)=RGE(NKG,2)
  1202. RGZ(KP)=RGE(NKG,3)
  1203. 80024 CONTINUE
  1204. DO 80065 I=1,NP
  1205. DO 50065 K=KDEB,KFIN
  1206. KP=K-KDEB+1
  1207. SAF1(KP,I)=-RGX(KP)*DR(KP,I)
  1208. SAF2(KP,I)=-RGY(KP)*DR(KP,I)
  1209. SAF3(KP,I)=-RGZ(KP)*DR(KP,I)
  1210. SAFK(KP,I)=0.D0
  1211. SAFE(KP,I)=0.D0
  1212. 50065 CONTINUE
  1213. 80065 CONTINUE
  1214. ENDIF
  1215. ENDIF
  1216.  
  1217. DO 8007 K=KDEB,KFIN
  1218. KP=K-KDEB+1
  1219. NK=K+K0
  1220. AKM(KP)=ABS(AKM(KP))/AIRE(KP)+zxzini
  1221. AEM(KP)=ABS(AEM(KP))/AIRE(KP)+zxzini
  1222. UMI(KP,1)=UMI(KP,1)/AIRE(KP)
  1223. UMI(KP,2)=UMI(KP,2)/AIRE(KP)
  1224. UMI(KP,3)=UMI(KP,3)/AIRE(KP)
  1225. UM(KP)=UMI(KP,1)*UMI(KP,1)+UMI(KP,2)*UMI(KP,2)
  1226. & +UMI(KP,3)*UMI(KP,3)
  1227. UM(KP)=SQRT(UM(KP))
  1228. AX=GRADGX(KP,1)*GRADGX(KP,1)+GRADGX(KP,2)*GRADGX(KP,2)
  1229. & +GRADGX(KP,3)*GRADGX(KP,3)
  1230. AX=SQRT(AX)+zxzini
  1231. GRADGX(KP,1)=GRADGX(KP,1)/AX
  1232. GRADGX(KP,2)=GRADGX(KP,2)/AX
  1233. GRADGX(KP,3)=GRADGX(KP,3)/AX
  1234. AY=GRADGY(KP,1)*GRADGY(KP,1)+GRADGY(KP,2)*GRADGY(KP,2)
  1235. & +GRADGY(KP,3)*GRADGY(KP,3)
  1236. AY=SQRT(AY)+zxzini
  1237. GRADGY(KP,1)=GRADGY(KP,1)/AY
  1238. GRADGY(KP,2)=GRADGY(KP,2)/AY
  1239. GRADGY(KP,3)=GRADGY(KP,3)/AY
  1240. AZ=GRADGZ(KP,1)*GRADGZ(KP,1)+GRADGZ(KP,2)*GRADGZ(KP,2)
  1241. & +GRADGZ(KP,3)*GRADGZ(KP,3)
  1242. AZ=SQRT(AZ)+zxzini
  1243. GRADGZ(KP,1)=GRADGZ(KP,1)/AZ
  1244. GRADGZ(KP,2)=GRADGZ(KP,2)/AZ
  1245. GRADGZ(KP,3)=GRADGZ(KP,3)/AZ
  1246.  
  1247. UPGX(KP)=GRADGX(KP,1)*UMI(KP,1)+GRADGX(KP,2)*UMI(KP,2)
  1248. & +GRADGX(KP,3)*UMI(KP,3)
  1249. UPIGX(KP,1)=UPGX(KP)*GRADGX(KP,1)
  1250. UPIGX(KP,2)=UPGX(KP)*GRADGX(KP,2)
  1251. UPIGX(KP,3)=UPGX(KP)*GRADGX(KP,3)
  1252. UPGY(KP)=GRADGY(KP,1)*UMI(KP,1)+GRADGY(KP,2)*UMI(KP,2)
  1253. & +GRADGY(KP,3)*UMI(KP,3)
  1254. UPIGY(KP,1)=UPGY(KP)*GRADGY(KP,1)
  1255. UPIGY(KP,2)=UPGY(KP)*GRADGY(KP,2)
  1256. UPIGY(KP,3)=UPGY(KP)*GRADGY(KP,3)
  1257. UPGZ(KP)=GRADGZ(KP,1)*UMI(KP,1)+GRADGZ(KP,2)*UMI(KP,2)
  1258. & +GRADGZ(KP,3)*UMI(KP,3)
  1259. UPIGZ(KP,1)=UPGZ(KP)*GRADGZ(KP,1)
  1260. UPIGZ(KP,2)=UPGZ(KP)*GRADGZ(KP,2)
  1261. UPIGZ(KP,3)=UPGZ(KP)*GRADGZ(KP,3)
  1262.  
  1263. AX=GRADK(KP,1)*GRADK(KP,1)+GRADK(KP,2)*GRADK(KP,2)
  1264. & +GRADK(KP,3)*GRADK(KP,3)
  1265. AX=SQRT(AX)+zxzini
  1266. GRADK(KP,1)=GRADK(KP,1)/AX
  1267. GRADK(KP,2)=GRADK(KP,2)/AX
  1268. GRADK(KP,3)=GRADK(KP,3)/AX
  1269. UPK(KP)=GRADK(KP,1)*UMI(KP,1)+GRADK(KP,2)*UMI(KP,2)
  1270. & +GRADK(KP,3)*UMI(KP,3)
  1271. UPIK(KP,1)=UPK(KP)*GRADK(KP,1)
  1272. UPIK(KP,2)=UPK(KP)*GRADK(KP,2)
  1273. UPIK(KP,3)=UPK(KP)*GRADK(KP,3)
  1274.  
  1275. AX=GRADE(KP,1)*GRADE(KP,1)+GRADE(KP,2)*GRADE(KP,2)
  1276. & +GRADE(KP,3)*GRADE(KP,3)
  1277. AX=SQRT(AX)+zxzini
  1278. GRADE(KP,1)=GRADE(KP,1)/AX
  1279. GRADE(KP,2)=GRADE(KP,2)/AX
  1280. GRADE(KP,3)=GRADE(KP,3)/AX
  1281. UPE(KP)=GRADE(KP,1)*UMI(KP,1)+GRADE(KP,2)*UMI(KP,2)
  1282. & +GRADE(KP,3)*UMI(KP,3)
  1283. UPIE(KP,1)=UPE(KP)*GRADE(KP,1)
  1284. UPIE(KP,2)=UPE(KP)*GRADE(KP,2)
  1285. UPIE(KP,3)=UPE(KP)*GRADE(KP,3)
  1286.  
  1287. ANUT(KP)=CNU*AKM(KP)*AKM(KP)/AEM(KP)
  1288. AMUT(NK)=ARO(KP)*ANUT(KP)
  1289. COEFT(KP)=COEF(KP)+AMUT(NK)
  1290. COEFK(KP)=COEF(KP)+ANUT(KP)
  1291. COEFE(KP)=COEF(KP)+ANUT(KP)/SGE
  1292. C --- 2.D0 CALCUL DU TERME DE PRODUCTION PROPREMENT DIT ----------
  1293. PTEMP=( (DUDY(KP)+DVDX(KP))**2 + (DUDZ(KP)+DWDX(KP))**2
  1294. & + (DVDZ(KP)+DWDY(KP))**2
  1295. & + 2.D0*(DUDX(KP)**2+DVDY(KP)**2+DWDZ(KP)**2) )
  1296. P(KP)=PTEMP
  1297. 8007 CONTINUE
  1298.  
  1299. IF(IKAS.EQ.5.AND.IKOMP.EQ.0)THEN
  1300. IF(IMODEL.EQ.1)THEN
  1301. DO 80113 K=KDEB,KFIN
  1302. KP=K+1-KDEB
  1303. PG(KP)=(RGX(KP)*DTDX(KP)+RGY(KP)*DTDY(KP)
  1304. & +RGZ(KP)*DTDZ(KP) )/SGT
  1305. IF(PG(KP).GT.0.D0)C1G(KP)=C1
  1306. 80113 CONTINUE
  1307. ELSEIF(IMODEL.EQ.2)THEN
  1308. DO 80213 K=KDEB,KFIN
  1309. KP=K+1-KDEB
  1310. PG(KP)=(RGX(KP)*DTDX(KP)+RGY(KP)*DTDY(KP)
  1311. & +RGZ(KP)*DTDZ(KP) )/SGT
  1312. RF =-PG(KP)/(P(KP)+PG(KP)+zxzini)
  1313. IF(PG(KP).GT.0.D0)RF=0.D0
  1314. C1G(KP)=C1*(1.D0+C3*RF)
  1315. C1P(KP)=C1*(1.D0+C3*RF)
  1316. 80213 CONTINUE
  1317. ENDIF
  1318. ELSEIF(IKAS.EQ.2.AND.IKOMP.EQ.0)THEN
  1319. IF(IMODEL.EQ.1)THEN
  1320. DO 80114 K=KDEB,KFIN
  1321. KP=K+1-KDEB
  1322. PG(KP)=(DTDX(KP)+DTDY(KP)+DTDZ(KP))/SGT
  1323. IF(PG(KP).GT.0.D0)C1G(KP)=C1
  1324. 80114 CONTINUE
  1325. ELSEIF(IMODEL.EQ.2)THEN
  1326. DO 80214 K=KDEB,KFIN
  1327. KP=K+1-KDEB
  1328. PG(KP)=(DTDX(KP)+DTDY(KP)+DTDZ(KP))/SGT
  1329. RF =-PG(KP)/(P(KP)+PG(KP)+zxzini)
  1330. IF(PG(KP).GT.0.D0)RF=0.D0
  1331. C1G(KP)=C1*(1.D0+C3*RF )
  1332. C1P(KP)=C1*(1.D0+C3*RF )
  1333. 80214 CONTINUE
  1334. END IF
  1335. END IF
  1336.  
  1337. C --------------------------------------------------------------
  1338. C *** FIN DU CALCUL DU TERME DE PRODUCTION *********************
  1339.  
  1340. DO 80074 K=KDEB,KFIN
  1341. KP=K-KDEB+1
  1342. BMX=UMI(KP,1)/AL(KP)
  1343. BMY=UMI(KP,2)/AH(KP)
  1344. BMZ=UMI(KP,3)/AP(KP)
  1345. BM(KP)=BMX*BMX+BMY*BMY+BMZ*BMZ
  1346. BM(KP)=SQRT(BM(KP))+zxzini
  1347.  
  1348. BPGXX=UPIGX(KP,1)/AL(KP)
  1349. BPGXY=UPIGX(KP,2)/AH(KP)
  1350. BPGXZ=UPIGX(KP,3)/AP(KP)
  1351. BPGX(KP)=BPGXX*BPGXX+BPGXY*BPGXY+BPGXZ*BPGXZ
  1352. BPGX(KP)=SQRT(BPGX(KP))+zxzini
  1353. BPGYX=UPIGY(KP,1)/AL(KP)
  1354. BPGYY=UPIGY(KP,2)/AH(KP)
  1355. BPGYZ=UPIGY(KP,3)/AP(KP)
  1356. BPGY(KP)=BPGYX*BPGYX+BPGYY*BPGYY+BPGYZ*BPGYZ
  1357. BPGY(KP)=SQRT(BPGY(KP))+zxzini
  1358. BPGZX=UPIGZ(KP,1)/AL(KP)
  1359. BPGZY=UPIGZ(KP,2)/AH(KP)
  1360. BPGZZ=UPIGZ(KP,3)/AP(KP)
  1361. BPGZ(KP)=BPGZX*BPGZX+BPGZY*BPGZY+BPGZZ*BPGZZ
  1362. BPGZ(KP)=SQRT(BPGZ(KP))+zxzini
  1363.  
  1364. BPKX=UPIK(KP,1)/AL(KP)
  1365. BPKY=UPIK(KP,2)/AH(KP)
  1366. BPKZ=UPIK(KP,3)/AP(KP)
  1367. BPK(KP)=BPKX*BPKX+BPKY*BPKY+BPKZ*BPKZ
  1368. BPK(KP)=SQRT(BPK(KP))+zxzini
  1369. BPEX=UPIE(KP,1)/AL(KP)
  1370. BPEY=UPIE(KP,2)/AH(KP)
  1371. BPEZ=UPIE(KP,3)/AP(KP)
  1372. BPE(KP)=BPEX*BPEX+BPEY*BPEY+BPEZ*BPEZ
  1373. BPE(KP)=SQRT(BPE(KP))+zxzini
  1374. 80074 CONTINUE
  1375. C
  1376. C AVANT DECENTREMENT
  1377. C
  1378. C ALFA,AKSI,CCU utilisées seulement dans la boucle 7008
  1379. IF(IDCEN.EQ.1)THEN
  1380. DO 80081 K=KDEB,KFIN
  1381. KP=K-KDEB+1
  1382. GXCXT(KP)=0.D0
  1383. GXCYT(KP)=0.D0
  1384. GXCZT(KP)=0.D0
  1385. GXCXY(KP)=0.D0
  1386. GXCXZ(KP)=0.D0
  1387. GXCYZ(KP)=0.D0
  1388. GYCXT(KP)=0.D0
  1389. GYCYT(KP)=0.D0
  1390. GYCZT(KP)=0.D0
  1391. GYCXY(KP)=0.D0
  1392. GYCXZ(KP)=0.D0
  1393. GYCYZ(KP)=0.D0
  1394. GZCXT(KP)=0.D0
  1395. GZCYT(KP)=0.D0
  1396. GZCZT(KP)=0.D0
  1397. GZCXY(KP)=0.D0
  1398. GZCXZ(KP)=0.D0
  1399. GZCYZ(KP)=0.D0
  1400. GKCXT(KP)=0.D0
  1401. GKCYT(KP)=0.D0
  1402. GKCZT(KP)=0.D0
  1403. GKCXY(KP)=0.D0
  1404. GKCXZ(KP)=0.D0
  1405. GKCYZ(KP)=0.D0
  1406. GECXT(KP)=0.D0
  1407. GECYT(KP)=0.D0
  1408. GECZT(KP)=0.D0
  1409. GECXY(KP)=0.D0
  1410. GECXZ(KP)=0.D0
  1411. GECYZ(KP)=0.D0
  1412. 80081 CONTINUE
  1413.  
  1414. ELSEIF(IDCEN.EQ.2)THEN
  1415. DO 8008 K=KDEB,KFIN
  1416. KP=K-KDEB+1
  1417. HMK=2.D0*UM(KP)/BM(KP)
  1418. XMB(KP)=HMK
  1419. ALFA=UM(KP)*HMK/COEFT(KP)/2.D0
  1420. AKSI=ALFA/3.D0
  1421. IF(ALFA.GT.3.D0)AKSI=1.D0
  1422. CCT=AKSI/BM(KP)
  1423.  
  1424. HPK=2.D0*UPGX(KP)/BPGX(KP)
  1425. ALFA=UPGX(KP)*HPK/COEFT(KP)/2.D0
  1426. AKSI=ALFA/3.D0
  1427. IF(ALFA.GT.3.D0)AKSI=1.D0
  1428. CCP=AKSI/BPGX(KP)
  1429. CPT=CCP-CCT
  1430. CC2X=0.D0
  1431. IF(CPT.GE.0.D0)CC2X=CPT
  1432.  
  1433. HPK=2.D0*UPGY(KP)/BPGY(KP)
  1434. ALFA=UPGY(KP)*HPK/COEFT(KP)/2.D0
  1435. AKSI=ALFA/3.D0
  1436. IF(ALFA.GT.3.D0)AKSI=1.D0
  1437. CCP=AKSI/BPGY(KP)
  1438. CPT=CCP-CCT
  1439. CC2Y=0.D0
  1440. IF(CPT.GE.0.D0)CC2Y=CPT
  1441.  
  1442. HPK=2.D0*UPGZ(KP)/BPGZ(KP)
  1443. ALFA=UPGZ(KP)*HPK/COEFT(KP)/2.D0
  1444. AKSI=ALFA/3.D0
  1445. IF(ALFA.GT.3.D0)AKSI=1.D0
  1446. CCP=AKSI/BPGZ(KP)
  1447. CPT=CCP-CCT
  1448. CC2Z=0.D0
  1449. IF(CPT.GE.0.D0)CC2Z=CPT
  1450.  
  1451. HPK=2.D0*UPK(KP)/BPK(KP)
  1452. ALFA=UPK(KP)*HPK/COEFK(KP)/2.D0
  1453. AKSI=ALFA/3.D0
  1454. IF(ALFA.GT.3.D0)AKSI=1.D0
  1455. CCP=AKSI/BPK(KP)
  1456. CPT=CCP-CCT
  1457. CC2K=0.D0
  1458. IF(CPT.GE.0.D0)CC2K=CPT
  1459.  
  1460. HPK=2.D0*UPE(KP)/BPE(KP)
  1461. ALFA=UPE(KP)*HPK/COEFE(KP)/2.D0
  1462. AKSI=ALFA/3.D0
  1463. IF(ALFA.GT.3.D0)AKSI=1.D0
  1464. CCP=AKSI/BPE(KP)
  1465. CPT=CCP-CCT
  1466. CC2E=0.D0
  1467. IF(CPT.GE.0.D0)CC2E=CPT
  1468.  
  1469. GXCXT(KP)=(UMI(KP,1)*UMI(KP,1)*CCT+UPIGX(KP,1)*UPIGX(KP,1
  1470. $ )*CC2X)
  1471. GXCYT(KP)=(UMI(KP,2)*UMI(KP,2)*CCT+UPIGX(KP,2)*UPIGX(KP,2
  1472. $ )*CC2X)
  1473. GXCZT(KP)=(UMI(KP,3)*UMI(KP,3)*CCT+UPIGX(KP,3)*UPIGX(KP,3
  1474. $ )*CC2X)
  1475. GXCXY(KP)=(UMI(KP,1)*UMI(KP,2)*CCT+UPIGX(KP,1)*UPIGX(KP,2
  1476. $ )*CC2X)
  1477. GXCXZ(KP)=(UMI(KP,1)*UMI(KP,3)*CCT+UPIGX(KP,1)*UPIGX(KP,3
  1478. $ )*CC2X)
  1479. GXCYZ(KP)=(UMI(KP,2)*UMI(KP,3)*CCT+UPIGX(KP,2)*UPIGX(KP,3
  1480. $ )*CC2X)
  1481.  
  1482. GYCXT(KP)=(UMI(KP,1)*UMI(KP,1)*CCT+UPIGY(KP,1)*UPIGY(KP,1
  1483. $ )*CC2Y)
  1484. GYCYT(KP)=(UMI(KP,2)*UMI(KP,2)*CCT+UPIGY(KP,2)*UPIGY(KP,2
  1485. $ )*CC2Y)
  1486. GYCZT(KP)=(UMI(KP,3)*UMI(KP,3)*CCT+UPIGY(KP,3)*UPIGY(KP,3
  1487. $ )*CC2Y)
  1488. GYCXY(KP)=(UMI(KP,1)*UMI(KP,2)*CCT+UPIGY(KP,1)*UPIGY(KP,2
  1489. $ )*CC2Y)
  1490. GYCXZ(KP)=(UMI(KP,1)*UMI(KP,3)*CCT+UPIGY(KP,1)*UPIGY(KP,3
  1491. $ )*CC2Y)
  1492. GYCYZ(KP)=(UMI(KP,2)*UMI(KP,3)*CCT+UPIGY(KP,2)*UPIGY(KP,3
  1493. $ )*CC2Y)
  1494.  
  1495. GZCXT(KP)=(UMI(KP,1)*UMI(KP,1)*CCT+UPIGZ(KP,1)*UPIGZ(KP,1
  1496. $ )*CC2Z)
  1497. GZCYT(KP)=(UMI(KP,2)*UMI(KP,2)*CCT+UPIGZ(KP,2)*UPIGZ(KP,2
  1498. $ )*CC2Z)
  1499. GZCZT(KP)=(UMI(KP,3)*UMI(KP,3)*CCT+UPIGZ(KP,3)*UPIGZ(KP,3
  1500. $ )*CC2Z)
  1501. GZCXY(KP)=(UMI(KP,1)*UMI(KP,2)*CCT+UPIGZ(KP,1)*UPIGZ(KP,2
  1502. $ )*CC2Z)
  1503. GZCXZ(KP)=(UMI(KP,1)*UMI(KP,3)*CCT+UPIGZ(KP,1)*UPIGZ(KP,3
  1504. $ )*CC2Z)
  1505. GZCYZ(KP)=(UMI(KP,2)*UMI(KP,3)*CCT+UPIGZ(KP,2)*UPIGZ(KP,3
  1506. $ )*CC2Z)
  1507.  
  1508. GKCXT(KP)=(UMI(KP,1)*UMI(KP,1)*CCT+UPIK(KP,1)*UPIK(KP,1)
  1509. $ *CC2K)
  1510. GKCYT(KP)=(UMI(KP,2)*UMI(KP,2)*CCT+UPIK(KP,2)*UPIK(KP,2)
  1511. $ *CC2K)
  1512. GKCZT(KP)=(UMI(KP,3)*UMI(KP,3)*CCT+UPIK(KP,3)*UPIK(KP,3)
  1513. $ *CC2K)
  1514. GKCXY(KP)=(UMI(KP,1)*UMI(KP,2)*CCT+UPIK(KP,1)*UPIK(KP,2)
  1515. $ *CC2K)
  1516. GKCXZ(KP)=(UMI(KP,1)*UMI(KP,3)*CCT+UPIK(KP,1)*UPIK(KP,3)
  1517. $ *CC2K)
  1518. GKCYZ(KP)=(UMI(KP,2)*UMI(KP,3)*CCT+UPIK(KP,2)*UPIK(KP,3)
  1519. $ *CC2K)
  1520.  
  1521. GECXT(KP)=(UMI(KP,1)*UMI(KP,1)*CCT+UPIE(KP,1)*UPIE(KP,1)
  1522. $ *CC2E)
  1523. GECYT(KP)=(UMI(KP,2)*UMI(KP,2)*CCT+UPIE(KP,2)*UPIE(KP,2)
  1524. $ *CC2E)
  1525. GECZT(KP)=(UMI(KP,3)*UMI(KP,3)*CCT+UPIE(KP,3)*UPIE(KP,3)
  1526. $ *CC2E)
  1527. GECXY(KP)=(UMI(KP,1)*UMI(KP,2)*CCT+UPIE(KP,1)*UPIE(KP,2)
  1528. $ *CC2E)
  1529. GECXZ(KP)=(UMI(KP,1)*UMI(KP,3)*CCT+UPIE(KP,1)*UPIE(KP,3)
  1530. $ *CC2E)
  1531. GECYZ(KP)=(UMI(KP,2)*UMI(KP,3)*CCT+UPIE(KP,2)*UPIE(KP,3)
  1532. $ *CC2E)
  1533.  
  1534. 8008 CONTINUE
  1535.  
  1536. ELSEIF(IDCEN.EQ.3)THEN
  1537. DO 8018 K=KDEB,KFIN
  1538. KP=K-KDEB+1
  1539. HMK=2.D0*UM(KP)/BM(KP)
  1540. XMB(KP)=HMK
  1541. ALFA=UM(KP)*HMK/COEFT(KP)/2.D0
  1542. AKSI=ALFA/3.D0
  1543. IF(ALFA.GT.3.D0)AKSI=1.D0
  1544. CCT=AKSI/BM(KP)
  1545.  
  1546. GXCXT(KP)=UMI(KP,1)*UMI(KP,1)*CCT
  1547. GXCYT(KP)=UMI(KP,2)*UMI(KP,2)*CCT
  1548. GXCZT(KP)=UMI(KP,3)*UMI(KP,3)*CCT
  1549. GXCXY(KP)=UMI(KP,1)*UMI(KP,2)*CCT
  1550. GXCXZ(KP)=UMI(KP,1)*UMI(KP,3)*CCT
  1551. GXCYZ(KP)=UMI(KP,2)*UMI(KP,3)*CCT
  1552.  
  1553. GYCXT(KP)=UMI(KP,1)*UMI(KP,1)*CCT
  1554. GYCYT(KP)=UMI(KP,2)*UMI(KP,2)*CCT
  1555. GYCZT(KP)=UMI(KP,3)*UMI(KP,3)*CCT
  1556. GYCXY(KP)=UMI(KP,1)*UMI(KP,2)*CCT
  1557. GYCXZ(KP)=UMI(KP,1)*UMI(KP,3)*CCT
  1558. GYCYZ(KP)=UMI(KP,2)*UMI(KP,3)*CCT
  1559.  
  1560. GZCXT(KP)=UMI(KP,1)*UMI(KP,1)*CCT
  1561. GZCYT(KP)=UMI(KP,2)*UMI(KP,2)*CCT
  1562. GZCZT(KP)=UMI(KP,3)*UMI(KP,3)*CCT
  1563. GZCXY(KP)=UMI(KP,1)*UMI(KP,2)*CCT
  1564. GZCXZ(KP)=UMI(KP,1)*UMI(KP,3)*CCT
  1565. GZCYZ(KP)=UMI(KP,2)*UMI(KP,3)*CCT
  1566.  
  1567. GKCXT(KP)=UMI(KP,1)*UMI(KP,1)*CCT
  1568. GKCYT(KP)=UMI(KP,2)*UMI(KP,2)*CCT
  1569. GKCZT(KP)=UMI(KP,3)*UMI(KP,3)*CCT
  1570. GKCXY(KP)=UMI(KP,1)*UMI(KP,2)*CCT
  1571. GKCXZ(KP)=UMI(KP,1)*UMI(KP,3)*CCT
  1572. GKCYZ(KP)=UMI(KP,2)*UMI(KP,3)*CCT
  1573.  
  1574. GECXT(KP)=UMI(KP,1)*UMI(KP,1)*CCT
  1575. GECYT(KP)=UMI(KP,2)*UMI(KP,2)*CCT
  1576. GECZT(KP)=UMI(KP,3)*UMI(KP,3)*CCT
  1577. GECXY(KP)=UMI(KP,1)*UMI(KP,2)*CCT
  1578. GECXZ(KP)=UMI(KP,1)*UMI(KP,3)*CCT
  1579. GECYZ(KP)=UMI(KP,2)*UMI(KP,3)*CCT
  1580.  
  1581. 8018 CONTINUE
  1582.  
  1583. ELSEIF(IDCEN.EQ.4)THEN
  1584. DT19=DTM1*0.5D0
  1585. DO 8009 K=KDEB,KFIN
  1586. KP=K-KDEB+1
  1587. XMB(KP)=(AL(KP)+AH(KP))/2.D0
  1588.  
  1589. GXCXT(KP)=UMI(KP,1)*UMI(KP,1)*DT19
  1590. GXCYT(KP)=UMI(KP,2)*UMI(KP,2)*DT19
  1591. GXCZT(KP)=UMI(KP,3)*UMI(KP,3)*DT19
  1592. GXCXY(KP)=UMI(KP,1)*UMI(KP,2)*DT19
  1593. GXCXZ(KP)=UMI(KP,1)*UMI(KP,3)*DT19
  1594. GXCYZ(KP)=UMI(KP,2)*UMI(KP,3)*DT19
  1595.  
  1596. GYCXT(KP)=UMI(KP,1)*UMI(KP,1)*DT19
  1597. GYCYT(KP)=UMI(KP,2)*UMI(KP,2)*DT19
  1598. GYCZT(KP)=UMI(KP,3)*UMI(KP,3)*DT19
  1599. GYCXY(KP)=UMI(KP,1)*UMI(KP,2)*DT19
  1600. GYCXZ(KP)=UMI(KP,1)*UMI(KP,3)*DT19
  1601. GYCYZ(KP)=UMI(KP,2)*UMI(KP,3)*DT19
  1602.  
  1603. GZCXT(KP)=UMI(KP,1)*UMI(KP,1)*DT19
  1604. GZCYT(KP)=UMI(KP,2)*UMI(KP,2)*DT19
  1605. GZCZT(KP)=UMI(KP,3)*UMI(KP,3)*DT19
  1606. GZCXY(KP)=UMI(KP,1)*UMI(KP,2)*DT19
  1607. GZCXZ(KP)=UMI(KP,1)*UMI(KP,3)*DT19
  1608. GZCYZ(KP)=UMI(KP,2)*UMI(KP,3)*DT19
  1609.  
  1610. GKCXT(KP)=UMI(KP,1)*UMI(KP,1)*DT19
  1611. GKCYT(KP)=UMI(KP,2)*UMI(KP,2)*DT19
  1612. GKCZT(KP)=UMI(KP,3)*UMI(KP,3)*DT19
  1613. GKCXY(KP)=UMI(KP,1)*UMI(KP,2)*DT19
  1614. GKCXZ(KP)=UMI(KP,1)*UMI(KP,3)*DT19
  1615. GKCYZ(KP)=UMI(KP,2)*UMI(KP,3)*DT19
  1616.  
  1617. GECXT(KP)=UMI(KP,1)*UMI(KP,1)*DT19
  1618. GECYT(KP)=UMI(KP,2)*UMI(KP,2)*DT19
  1619. GECZT(KP)=UMI(KP,3)*UMI(KP,3)*DT19
  1620. GECXY(KP)=UMI(KP,1)*UMI(KP,2)*DT19
  1621. GECXZ(KP)=UMI(KP,1)*UMI(KP,3)*DT19
  1622. GECYZ(KP)=UMI(KP,2)*UMI(KP,3)*DT19
  1623.  
  1624. 8009 CONTINUE
  1625.  
  1626. ENDIF
  1627.  
  1628. C WRITE(IOIMP,*)' Avt Calcul DT'
  1629. C
  1630. C AVANT CALCUL DT
  1631. C
  1632. DO 8010 K=KDEB,KFIN
  1633. KP=K-KDEB+1
  1634. DT0=DT
  1635. DT1X=2.D0/
  1636. & (UMI(KP,1)*UMI(KP,1)/(GXCXT(KP)+COEFT(KP))
  1637. & +UMI(KP,2)*UMI(KP,2)/(GXCYT(KP)+COEFT(KP))
  1638. & +UMI(KP,3)*UMI(KP,3)/(GXCZT(KP)+COEFT(KP)))
  1639. DT1Y=2.D0/
  1640. & (UMI(KP,1)*UMI(KP,1)/(GYCXT(KP)+COEFT(KP))
  1641. & +UMI(KP,2)*UMI(KP,2)/(GYCYT(KP)+COEFT(KP))
  1642. & +UMI(KP,3)*UMI(KP,3)/(GYCZT(KP)+COEFT(KP)))
  1643. DT1Z=2.D0/
  1644. & (UMI(KP,1)*UMI(KP,1)/(GZCXT(KP)+COEFT(KP))
  1645. & +UMI(KP,2)*UMI(KP,2)/(GZCYT(KP)+COEFT(KP))
  1646. & +UMI(KP,3)*UMI(KP,3)/(GZCZT(KP)+COEFT(KP)))
  1647. DT2X=0.5D0/
  1648. & ((GXCXT(KP)+COEFT(KP))*AL2(KP)
  1649. & +(GXCYT(KP)+COEFT(KP))*AH2(KP)
  1650. & +(GXCZT(KP)+COEFT(KP))*AP2(KP))
  1651. DT2Y=0.5D0/
  1652. & ((GYCXT(KP)+COEFT(KP))*AL2(KP)
  1653. & +(GYCYT(KP)+COEFT(KP))*AH2(KP)
  1654. & +(GYCZT(KP)+COEFT(KP))*AP2(KP))
  1655. DT2Z=0.5D0/
  1656. & ((GZCXT(KP)+COEFT(KP))*AL2(KP)
  1657. & +(GZCYT(KP)+COEFT(KP))*AH2(KP)
  1658. & +(GZCZT(KP)+COEFT(KP))*AP2(KP))
  1659. IF(DT1X.LT.DT)DT=DT1X
  1660. IF(DT1Y.LT.DT)DT=DT1Y
  1661. IF(DT1Z.LT.DT)DT=DT1Z
  1662. IF(DT2X.LT.DT)DT=DT2X
  1663. IF(DT2Y.LT.DT)DT=DT2Y
  1664. IF(DT2Z.LT.DT)DT=DT2Z
  1665. C IF(DT3.LT.DT)DT=DT3
  1666. IF(DT.NE.DT0) THEN
  1667. DTT1=MIN(DT1X,DT1Y,DT1Z)
  1668. DTT2=MIN(DT2X,DT2Y,DT2Z)
  1669. C DTT3=DT3
  1670. DIAEL=XMB(KP)
  1671. NUEL=K
  1672. END IF
  1673. 8010 CONTINUE
  1674.  
  1675. C WRITE(IOIMP,*)' le coeur du calcul '
  1676. C Le coeur du calcul ...
  1677.  
  1678. IF(IKOMP.EQ.0)THEN
  1679.  
  1680. DO 8014 I=1,NP
  1681. DO 80141 J=1,NP
  1682. DO 80142 K=KDEB,KFIN
  1683. KP=K-KDEB+1
  1684. C GEO1=(CF1(KP)*Q1(J,I)+CF2(KP)*Q2(J,I)+CF3(KP)*Q3(J,I))*CUB8
  1685. GEO1=CFM(KP)*QGGT(J,I)*CUB8
  1686. ZVGGX=AIRE(KP)*(
  1687. & HR(K,I,1)*HR(K,J,1)*GXCXT(KP)
  1688. & + HR(K,I,2)*HR(K,J,2)*GXCYT(KP)
  1689. & + HR(K,I,3)*HR(K,J,3)*GXCZT(KP)
  1690. & + HR(K,I,1)*HR(K,J,2)*GXCXY(KP)
  1691. & + HR(K,I,2)*HR(K,J,1)*GXCXY(KP)
  1692. & + HR(K,I,1)*HR(K,J,3)*GXCXZ(KP)
  1693. & + HR(K,I,3)*HR(K,J,1)*GXCXZ(KP)
  1694. & + HR(K,I,2)*HR(K,J,3)*GXCYZ(KP)
  1695. & + HR(K,I,3)*HR(K,J,2)*GXCYZ(KP) )
  1696. & + (GXCXT(KP)+GXCYT(KP)+GXCZT(KP))/3.D0*GEO1
  1697. C &+ (GXCXT(KP)+GXCYT(KP)+GXCZT(KP))/3.D0*XMH(KP)*QGGT(J,I)*CUB8
  1698.  
  1699. ZVGGY=AIRE(KP)*(
  1700. & HR(K,I,1)*HR(K,J,1)*GYCXT(KP)
  1701. & + HR(K,I,2)*HR(K,J,2)*GYCYT(KP)
  1702. & + HR(K,I,3)*HR(K,J,3)*GYCZT(KP)
  1703. & + HR(K,I,1)*HR(K,J,2)*GYCXY(KP)
  1704. & + HR(K,I,2)*HR(K,J,1)*GYCXY(KP)
  1705. & + HR(K,I,1)*HR(K,J,3)*GYCXZ(KP)
  1706. & + HR(K,I,3)*HR(K,J,1)*GYCXZ(KP)
  1707. & + HR(K,I,2)*HR(K,J,3)*GYCYZ(KP)
  1708. & + HR(K,I,3)*HR(K,J,2)*GYCYZ(KP) )
  1709. & + (GYCXT(KP)+GYCYT(KP)+GYCZT(KP))/3.D0*GEO1
  1710. C &+ (GYCXT(KP)+GYCYT(KP)+GYCZT(KP))/3.D0*XMH(KP)*QGGT(J,I)*CUB8
  1711.  
  1712. ZVGGZ=AIRE(KP)*(
  1713. & HR(K,I,1)*HR(K,J,1)*GZCXT(KP)
  1714. & + HR(K,I,2)*HR(K,J,2)*GZCYT(KP)
  1715. & + HR(K,I,3)*HR(K,J,3)*GZCZT(KP)
  1716. & + HR(K,I,1)*HR(K,J,2)*GZCXY(KP)
  1717. & + HR(K,I,2)*HR(K,J,1)*GZCXY(KP)
  1718. & + HR(K,I,1)*HR(K,J,3)*GZCXZ(KP)
  1719. & + HR(K,I,3)*HR(K,J,1)*GZCXZ(KP)
  1720. & + HR(K,I,2)*HR(K,J,3)*GZCYZ(KP)
  1721. & + HR(K,I,3)*HR(K,J,2)*GZCYZ(KP) )
  1722. & + (GZCXT(KP)+GZCYT(KP)+GZCZT(KP))/3.D0*GEO1
  1723. C &+ (GZCXT(KP)+GZCYT(KP)+GZCZT(KP))/3.D0*XMH(KP)*QGGT(J,I)*CUB8
  1724.  
  1725. ZVGD=AIRE(KP)*(
  1726. & HR(K,I,1)*HR(K,J,1)*COEFT(KP)
  1727. & + HR(K,I,2)*HR(K,J,2)*COEFT(KP)
  1728. & + HR(K,I,3)*HR(K,J,3)*COEFT(KP) )
  1729. & + COEFT(KP)*XMH(KP)*GEO1
  1730. C &+ COEFT(KP)*XMH(KP)*QGGT(J,I)*CUB8
  1731.  
  1732. ZVGK =AIRE(KP)*(
  1733. & HR(K,I,1)*HR(K,J,1)*GKCXT(KP)
  1734. & + HR(K,I,2)*HR(K,J,2)*GKCYT(KP)
  1735. & + HR(K,I,3)*HR(K,J,3)*GKCZT(KP)
  1736. & + HR(K,I,1)*HR(K,J,2)*GKCXY(KP)
  1737. & + HR(K,I,2)*HR(K,J,1)*GKCXY(KP)
  1738. & + HR(K,I,1)*HR(K,J,3)*GKCXZ(KP)
  1739. & + HR(K,I,3)*HR(K,J,1)*GKCXZ(KP)
  1740. & + HR(K,I,2)*HR(K,J,3)*GKCYZ(KP)
  1741. & + HR(K,I,3)*HR(K,J,2)*GKCYZ(KP) )
  1742. & + (GKCXT(KP)+GKCYT(KP)+GKCZT(KP))/3.D0*GEO1
  1743. C &+ (GKCXT(KP)+GKCYT(KP)+GKCZT(KP))/3.D0*XMH(KP)*QGGT(J,I)*CUB8
  1744.  
  1745. ZVGE =AIRE(KP)*(
  1746. & HR(K,I,1)*HR(K,J,1)*GECXT(KP)
  1747. & + HR(K,I,2)*HR(K,J,2)*GECYT(KP)
  1748. & + HR(K,I,3)*HR(K,J,3)*GECZT(KP)
  1749. & + HR(K,I,1)*HR(K,J,2)*GECXY(KP)
  1750. & + HR(K,I,2)*HR(K,J,1)*GECXY(KP)
  1751. & + HR(K,I,1)*HR(K,J,3)*GECXZ(KP)
  1752. & + HR(K,I,3)*HR(K,J,1)*GECXZ(KP)
  1753. & + HR(K,I,2)*HR(K,J,3)*GECYZ(KP)
  1754. & + HR(K,I,3)*HR(K,J,2)*GECYZ(KP) )
  1755. & + (GECXT(KP)+GECYT(KP)+GECZT(KP))/3.D0*GEO1
  1756. C &+ (GECXT(KP)+GECYT(KP)+GECZT(KP))/3.D0*XMH(KP)*QGGT(J,I)*CUB8
  1757.  
  1758. ZVGDK=AIRE(KP)*(
  1759. & HR(K,I,1)*HR(K,J,1)*COEFK(KP)
  1760. & + HR(K,I,2)*HR(K,J,2)*COEFK(KP)
  1761. & + HR(K,I,3)*HR(K,J,3)*COEFK(KP) )
  1762. & + COEFK(KP)*XMH(KP)*GEO1
  1763. C &+ COEFK(KP)*XMH(KP)*QGGT(J,I)*CUB8
  1764.  
  1765. ZVGDE=AIRE(KP)*(
  1766. & HR(K,I,1)*HR(K,J,1)*COEFE(KP)
  1767. & + HR(K,I,2)*HR(K,J,2)*COEFE(KP)
  1768. & + HR(K,I,3)*HR(K,J,3)*COEFE(KP) )
  1769. & + COEFE(KP)*XMH(KP)*GEO1
  1770. C &+ COEFE(KP)*XMH(KP)*QGGT(J,I)*CUB8
  1771.  
  1772. Cnon V2=(UIX(KP,I)*HR(K,J,1)+UIY(KP,I)*HR(K,J,2)+UIZ(KP,I)*HR(K,J,3))
  1773. C & *DR(KP,I)
  1774.  
  1775. V2=UMI(KP,1)*DR(KP,I)*HR(K,J,1)+UMI(KP,2)*DR(KP,I)
  1776. $ *HR(K,J,2)+UMI(KP,3)*DR(KP,I)*HR(K,J,3)
  1777.  
  1778. SAF1(KP,I)=SAF1(KP,I)+(V2+ZVGGX)*GIX(KP,J)+ZVGD
  1779. $ *UIX(KP,J)
  1780. SAF2(KP,I)=SAF2(KP,I)+(V2+ZVGGY)*GIY(KP,J)+ZVGD
  1781. $ *UIY(KP,J)
  1782. SAF3(KP,I)=SAF3(KP,I)+(V2+ZVGGZ)*GIZ(KP,J)+ZVGD
  1783. $ *UIZ(KP,J)
  1784.  
  1785. SAFK(KP,I)=SAFK(KP,I)+(V2+ZVGK)*AK(KP,J)+ZVGDK
  1786. $ *AK(KP,J)
  1787. SAFE(KP,I)=SAFE(KP,I)+(V2+ZVGE)*AE(KP,J)+ZVGDE
  1788. $ *AE(KP,J)
  1789.  
  1790. 80142 CONTINUE
  1791. 80141 CONTINUE
  1792. 8014 CONTINUE
  1793.  
  1794. ELSEIF(IKOMP.EQ.1)THEN
  1795. C->
  1796.  
  1797. DO 8015 I=1,NP
  1798. DO 80151 J=1,NP
  1799. DO 80152 K=KDEB,KFIN
  1800. KP=K-KDEB+1
  1801. C GEO1=(CF1(KP)*Q1(J,I)+CF2(KP)*Q2(J,I)+CF3(KP)*Q3(J,I))*CUB8
  1802. GEO1=CFM(KP)*QGGT(J,I)*CUB8
  1803. ZVGGX=AIRE(KP)*(
  1804. & HR(K,I,1)*HR(K,J,1)*GXCXT(KP)
  1805. & + HR(K,I,2)*HR(K,J,2)*GXCYT(KP)
  1806. & + HR(K,I,3)*HR(K,J,3)*GXCZT(KP)
  1807. & + HR(K,I,1)*HR(K,J,2)*GXCXY(KP)
  1808. & + HR(K,I,2)*HR(K,J,1)*GXCXY(KP)
  1809. & + HR(K,I,1)*HR(K,J,3)*GXCXZ(KP)
  1810. & + HR(K,I,3)*HR(K,J,1)*GXCXZ(KP)
  1811. & + HR(K,I,2)*HR(K,J,3)*GXCYZ(KP)
  1812. & + HR(K,I,3)*HR(K,J,2)*GXCYZ(KP) )
  1813. & + (GXCXT(KP)+GXCYT(KP)+GXCZT(KP))/3.D0*GEO1
  1814. C &+ (GXCXT(KP)+GXCYT(KP)+GXCZT(KP))/3.D0*XMH(KP)*QGGT(J,I)*CUB8
  1815.  
  1816. ZVGGY=AIRE(KP)*(
  1817. & HR(K,I,1)*HR(K,J,1)*GYCXT(KP)
  1818. & + HR(K,I,2)*HR(K,J,2)*GYCYT(KP)
  1819. & + HR(K,I,3)*HR(K,J,3)*GYCZT(KP)
  1820. & + HR(K,I,1)*HR(K,J,2)*GYCXY(KP)
  1821. & + HR(K,I,2)*HR(K,J,1)*GYCXY(KP)
  1822. & + HR(K,I,1)*HR(K,J,3)*GYCXZ(KP)
  1823. & + HR(K,I,3)*HR(K,J,1)*GYCXZ(KP)
  1824. & + HR(K,I,2)*HR(K,J,3)*GYCYZ(KP)
  1825. & + HR(K,I,3)*HR(K,J,2)*GYCYZ(KP) )
  1826. & + (GYCXT(KP)+GYCYT(KP)+GYCZT(KP))/3.D0*GEO1
  1827. C &+ (GYCXT(KP)+GYCYT(KP)+GYCZT(KP))/3.D0*XMH(KP)*QGGT(J,I)*CUB8
  1828.  
  1829. ZVGGZ=AIRE(KP)*(
  1830. & HR(K,I,1)*HR(K,J,1)*GZCXT(KP)
  1831. & + HR(K,I,2)*HR(K,J,2)*GZCYT(KP)
  1832. & + HR(K,I,3)*HR(K,J,3)*GZCZT(KP)
  1833. & + HR(K,I,1)*HR(K,J,2)*GZCXY(KP)
  1834. & + HR(K,I,2)*HR(K,J,1)*GZCXY(KP)
  1835. & + HR(K,I,1)*HR(K,J,3)*GZCXZ(KP)
  1836. & + HR(K,I,3)*HR(K,J,1)*GZCXZ(KP)
  1837. & + HR(K,I,2)*HR(K,J,3)*GZCYZ(KP)
  1838. & + HR(K,I,3)*HR(K,J,2)*GZCYZ(KP) )
  1839. & + (GZCXT(KP)+GZCYT(KP)+GZCZT(KP))/3.D0*GEO1
  1840. C &+ (GZCXT(KP)+GZCYT(KP)+GZCZT(KP))/3.D0*XMH(KP)*QGGT(J,I)*CUB8
  1841.  
  1842. ZVGD=AIRE(KP)*(
  1843. & HR(K,I,1)*HR(K,J,1)*COEFT(KP)
  1844. & + HR(K,I,2)*HR(K,J,2)*COEFT(KP)
  1845. & + HR(K,I,3)*HR(K,J,3)*COEFT(KP) )
  1846. & + COEFT(KP)*GEO1
  1847. C &+ COEFT(KP)*XMH(KP)*GEO1
  1848. C &+ COEFT(KP)*XMH(KP)*QGGT(J,I)*CUB8
  1849.  
  1850. ZVGK =AIRE(KP)*(
  1851. & HR(K,I,1)*HR(K,J,1)*GKCXT(KP)
  1852. & + HR(K,I,2)*HR(K,J,2)*GKCYT(KP)
  1853. & + HR(K,I,3)*HR(K,J,3)*GKCZT(KP)
  1854. & + HR(K,I,1)*HR(K,J,2)*GKCXY(KP)
  1855. & + HR(K,I,2)*HR(K,J,1)*GKCXY(KP)
  1856. & + HR(K,I,1)*HR(K,J,3)*GKCXZ(KP)
  1857. & + HR(K,I,3)*HR(K,J,1)*GKCXZ(KP)
  1858. & + HR(K,I,2)*HR(K,J,3)*GKCYZ(KP)
  1859. & + HR(K,I,3)*HR(K,J,2)*GKCYZ(KP) )
  1860. & + (GKCXT(KP)+GKCYT(KP)+GKCZT(KP))/3.D0*GEO1
  1861. C &+ (GKCXT(KP)+GKCYT(KP)+GKCZT(KP))/3.D0*XMH(KP)*QGGT(J,I)*CUB8
  1862.  
  1863. ZVGE =AIRE(KP)*(
  1864. & HR(K,I,1)*HR(K,J,1)*GECXT(KP)
  1865. & + HR(K,I,2)*HR(K,J,2)*GECYT(KP)
  1866. & + HR(K,I,3)*HR(K,J,3)*GECZT(KP)
  1867. & + HR(K,I,1)*HR(K,J,2)*GECXY(KP)
  1868. & + HR(K,I,2)*HR(K,J,1)*GECXY(KP)
  1869. & + HR(K,I,1)*HR(K,J,3)*GECXZ(KP)
  1870. & + HR(K,I,3)*HR(K,J,1)*GECXZ(KP)
  1871. & + HR(K,I,2)*HR(K,J,3)*GECYZ(KP)
  1872. & + HR(K,I,3)*HR(K,J,2)*GECYZ(KP) )
  1873. & + (GECXT(KP)+GECYT(KP)+GECZT(KP))/3.D0*GEO1
  1874. C &+ (GECXT(KP)+GECYT(KP)+GECZT(KP))/3.D0*XMH(KP)*QGGT(J,I)*CUB8
  1875.  
  1876. ZVGDK=AIRE(KP)*(
  1877. & HR(K,I,1)*HR(K,J,1)*COEFK(KP)
  1878. & + HR(K,I,2)*HR(K,J,2)*COEFK(KP)
  1879. & + HR(K,I,3)*HR(K,J,3)*COEFK(KP) )
  1880. & + COEFK(KP)*GEO1
  1881.  
  1882. ZVGDE=AIRE(KP)*(
  1883. & HR(K,I,1)*HR(K,J,1)*COEFE(KP)
  1884. & + HR(K,I,2)*HR(K,J,2)*COEFE(KP)
  1885. & + HR(K,I,3)*HR(K,J,3)*COEFE(KP) )
  1886. & + COEFE(KP)*GEO1
  1887. C &+ COEFE(KP)*XMH(KP)*QGGT(J,I)*CUB8
  1888.  
  1889. COEFT3=COEFT(KP)/3.D0
  1890. ZVGUU=(AIRE(KP)*(HR(K,I,1)*HR(K,J,1))+GEO1)*COEFT3
  1891. $ *UIX(KP,J)
  1892. ZVGUV=AIRE(KP)*( HR(K,I,1)*HR(K,J,2))*COEFT3*UIY(KP
  1893. $ ,J)
  1894. ZVGUW=AIRE(KP)*( HR(K,I,1)*HR(K,J,3))*COEFT3*UIZ(KP
  1895. $ ,J)
  1896. ZVGVU=AIRE(KP)*( HR(K,I,2)*HR(K,J,1))*COEFT3*UIX(KP
  1897. $ ,J)
  1898. ZVGVV=(AIRE(KP)*(HR(K,I,2)*HR(K,J,2))+GEO1)*COEFT3
  1899. $ *UIY(KP,J)
  1900. ZVGVW=AIRE(KP)*( HR(K,I,2)*HR(K,J,3))*COEFT3*UIZ(KP
  1901. $ ,J)
  1902. ZVGWU=AIRE(KP)*( HR(K,I,3)*HR(K,J,1))*COEFT3*UIX(KP
  1903. $ ,J)
  1904. ZVGWV=AIRE(KP)*( HR(K,I,3)*HR(K,J,2))*COEFT3*UIY(KP
  1905. $ ,J)
  1906. ZVGWW=(AIRE(KP)*(HR(K,I,3)*HR(K,J,3))+GEO1)*COEFT3
  1907. $ *UIZ(KP,J)
  1908.  
  1909. V2=(UIX(KP,J)*HR(K,J,1)+UIY(KP,J)*HR(K,J,2)+UIZ(KP
  1910. $ ,J)*HR(K,J,3))*DR(KP,I)
  1911.  
  1912. C V2=UMI(KP,1)*DR(KP,I)*HR(K,J,1)+UMI(KP,2)*DR(KP,I)*HR(K,J,2)
  1913.  
  1914. SAF1(KP,I)=SAF1(KP,I)+(V2+ZVGGX)*GIX(KP,J)+ZVGD
  1915. $ *UIX(KP,J)+ ZVGUU + ZVGUV + ZVGUW
  1916. SAF2(KP,I)=SAF2(KP,I)+(V2+ZVGGY)*GIY(KP,J)+ZVGD
  1917. $ *UIY(KP,J)+ ZVGVU + ZVGUV + ZVGVW
  1918. SAF3(KP,I)=SAF3(KP,I)+(V2+ZVGGZ)*GIZ(KP,J)+ZVGD
  1919. $ *UIZ(KP,J)+ ZVGWU + ZVGWV + ZVGWW
  1920.  
  1921. SAFK(KP,I)=SAFK(KP,I)+(V2+ZVGK)*AK(KP,J)+ZVGDK
  1922. $ *AK(KP,J)
  1923. SAFE(KP,I)=SAFE(KP,I)+(V2+ZVGE)*AE(KP,J)+ZVGDE
  1924. $ *AE(KP,J)
  1925.  
  1926. 80152 CONTINUE
  1927. 80151 CONTINUE
  1928. 8015 CONTINUE
  1929.  
  1930. ENDIF
  1931.  
  1932. C
  1933. C --------------------------------------------------------------
  1934. C
  1935. C
  1936. DO 8017 I=1,NP
  1937. DO 80171 K=KDEB,KFIN
  1938. KP=K-KDEB+1
  1939. TSK =(ANUT(KP)*(P(KP)+PG(KP))-AEM(KP))*DR(KP,I)
  1940. SAFK(KP,I)=SAFK(KP,I)-TSK
  1941.  
  1942. TSE =(CNU*(C1P(KP)*P(KP)+C1G(KP)*PG(KP))*AKM(KP))
  1943. $ *DR(KP,I)
  1944. SAFE(KP,I)=SAFE(KP,I)-TSE
  1945.  
  1946. TSE1 =C2*AEM(KP)/AKM(KP)*DR(KP,I)
  1947. BE1(KP,I) =TSE1
  1948. 80171 CONTINUE
  1949. 8017 CONTINUE
  1950.  
  1951. C
  1952. C
  1953. C --- ECRITURE DANS LES TABLEAUX F(1,*),F(2,*),G,GK,GE,GE1 (SCALAIRE)
  1954. DO 80019 I=1,NP
  1955. DO 50019 K=KDEB,KFIN
  1956. KP=K+1-KDEB
  1957. NF=IPADS(LE(I,K))
  1958. F(NF,1)=F(NF,1)-SAF1(KP,I)
  1959. F(NF,2)=F(NF,2)-SAF2(KP,I)
  1960. F(NF,3)=F(NF,3)-SAF3(KP,I)
  1961. GK(NF) =GK(NF) -SAFK(KP,I)
  1962. GE1(NF)=GE1(NF)+BE1(KP,I)
  1963. GE(NF) =GE (NF)-SAFE(KP,I)
  1964. 50019 CONTINUE
  1965. 80019 CONTINUE
  1966. 80001 CONTINUE
  1967. C
  1968. C *** FIN DE LA BOUCLE SUR LES PAQUETS D'ELEMENTS ***
  1969. C
  1970. C WRITE(IOIMP,*)' FIN YCVIT GK='
  1971. C WRITE(IOIMP,1002)(GK(i),i=1,nptd)
  1972.  
  1973. IPAS=1
  1974. RETURN
  1975.  
  1976. 1002 FORMAT(10(1X,1PE11.4))
  1977. END
  1978.  
  1979.  
  1980.  
  1981.  
  1982.  
  1983.  
  1984.  
  1985.  

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