Télécharger tcnm.eso

Retour à la liste

Numérotation des lignes :

tcnm
  1. C TCNM SOURCE CB215821 20/11/25 13:40:44 10792
  2. SUBROUTINE TCNM
  3. C-----------------------------------------------------------------------
  4. C Mise à jour des CHPOINTs à l'occasion du changement de pas de temps.
  5. C-----------------------------------------------------------------------
  6. C Les tables de sous type KIZX associées à l'opérateur DFDT permettent
  7. C d'effectuer la mise à jour. Pour chaque opérateur DFDT, selon la
  8. C syntaxe ayant été utilisée
  9. C 1) si l'objet pointé à l'indice ARG2 de la table associée à
  10. C l'opérateur DFDT considéré est un CHPOINT on l'update ou
  11. C 2) on récupere à l'indice ARG2 de la table associée à DFDT le nom
  12. C associé à l'inconnue à updater dans la table INCO et on update le
  13. C CHPOINT dans INCO.
  14. C
  15. C---------------------------
  16. C Phrase d'appel (GIBIANE) :
  17. C---------------------------
  18. C
  19. C IRT = TCNM TAB1 ;
  20. C
  21. C------------------------
  22. C Opérandes et résultat :
  23. C------------------------
  24. C
  25. C TAB1 : TABLE de sous type EQEX contenant l'ensemble des données pour
  26. C la modélisation.
  27. C
  28. C IRT : = 1 Temps final atteint = 0 sinon
  29. C
  30. C----------------------------
  31. C Indices de table modifiés :
  32. C----------------------------
  33. C
  34. C Indice ARG2 des tables DFDT si ISYNT=1.
  35. C Indices de la table INCO alias du nom des inconnues à traiter sinon.
  36. C
  37. C----------------------
  38. C Variables principales
  39. C----------------------
  40. C
  41. C ISYNT : Flag indiquant le type de syntaxe utilisé
  42. C MTAB1 : Pointeur vers la table de sous type EQEX
  43. C MTAB2 : Pointeur vers la table INCO
  44. C MTABLE : Pointeur vers une table associée à un opérateur (DFDT...)
  45. C
  46. C-----------------------------------------------------------------------
  47. IMPLICIT INTEGER(I-N)
  48. IMPLICIT REAL*8 (A-H,O-Z)
  49. CHARACTER*8 NOMZ,TYPE,NOMINC,TYP2,NOM,NOMA,NOMA2,TYPE1
  50. CHARACTER*8 NOMIX(10),NOMI1,TYP0
  51. LOGICAL ZHIST2
  52. C
  53.  
  54. -INC PPARAM
  55. -INC CCOPTIO
  56. -INC SMLMOTS
  57. -INC SMCHPOI
  58. POINTEUR IPHI.MPOVAL,IPHH.MPOVAL
  59. -INC SMLCHPO
  60. -INC SMELEME
  61. POINTEUR MAH.MELEME
  62. POINTEUR IGEOM0.MELEME
  63. -INC SMLREEL
  64. -INC SMLENTI
  65. -INC SMEVOLL
  66. C
  67. PARAMETER (NTB=1)
  68. DIMENSION KTAB(NTB)
  69. CHARACTER*8 LTAB(NTB)
  70. DATA LTAB /'EQEX '/
  71. C
  72. C- Lecture de la table de sous type EQEX
  73. C
  74. NTO = 1
  75. CALL LITABS(LTAB,KTAB,NTB,NTO,IRET)
  76. IF (IRET.EQ.0) RETURN
  77. MTAB1 = KTAB(1)
  78. IUPDT=1
  79. CALL LIRCHA(NOM,0,LCHAR)
  80. IF(LCHAR.NE.0.AND.NOM.EQ.'NOUP')THEN
  81. IUPDT=0
  82. ENDIF
  83. C
  84. C- Appel ancien TCNM
  85. C
  86. CALL ACME(MTAB1,'NAVISTOK',NASTOK)
  87. IF(NASTOK.EQ.0)THEN
  88. CALL TCNMA(MTAB1)
  89. RETURN
  90. ENDIF
  91. C
  92. C- Lecture de la table INCO
  93. C
  94. TYPE = 'TABLE '
  95. CALL ACMO(MTAB1,'INCO',TYPE,MTAB2)
  96. IF (IERR.NE.0) RETURN
  97. C
  98. C- Récupération du LISTMOTS à l'indice 'LISTOPER' de la table EQEX
  99. C
  100. TYPE = 'LISTMOTS'
  101. CALL ACMO(MTAB1,'LISTOPER',TYPE,MLMOTS)
  102. IF (IERR.NE.0) RETURN
  103. SEGACT MLMOTS
  104. NBIND = MOTS(/2)
  105. IF (NBIND.GE.1000) THEN
  106. INTERR(1) = 1000
  107. CALL ERREUR(762)
  108. ENDIF
  109. C
  110. C- Initialisation des données temporelles
  111. C --------------------------------------
  112. CALL ACMF(MTAB1,'TFINAL',TFINAL)
  113. CALL ACMF(MTAB1,'ALFA',ALFA)
  114. CALL ACME(MTAB1,'FIDT',IMPR)
  115.  
  116. TYPE=' '
  117. CALL ACMO(MTAB1,'PASDETPS',TYPE,MTABT)
  118.  
  119. IF (MTABT.NE.0) THEN
  120. CALL ACMF(MTABT,'DELTAT',DT)
  121. IF (IERR.NE.0) RETURN
  122. CALL ACMF(MTABT,'TPS',TPS)
  123. IF (IERR.NE.0) RETURN
  124. CALL ACME(MTABT,'NUPASDT',IPT)
  125. IF (IERR.NE.0) RETURN
  126. ELSE
  127. C? DT = 1.D0
  128. C? TPS = 0.D0
  129. C? IPT = 1
  130. ENDIF
  131. DT = DT * ALFA
  132.  
  133. IFINAL=0
  134. TPS1 = TPS + DT
  135. C write(6,*)' TPS=',tps,' TFINAL=',tfinal,' DT=',dt
  136. IF(TPS.GT.TFINAL)THEN
  137. IFINAL=1
  138. GO TO 800
  139. ELSEIF(TPS1.GT.TFINAL)THEN
  140. DT=TFINAL-TPS
  141. IFINAL=1
  142. ENDIF
  143. TPS = TPS + DT
  144. C
  145. C- Doit-on sauvegarder des CHPOINT ?
  146. C ---------------------------------
  147. ZHIST2=.FALSE.
  148. TYPE=' '
  149. CALL ACMO(MTAB2,'HIST',TYPE,KHIS2)
  150. IF (TYPE.EQ.'TABLE'.AND.KHIS2.NE.0) THEN
  151.  
  152. * INDICE DE DEBUT DE SAUVEGARDE ?
  153. TYPE=' '
  154. CALL ACCTAB(KHIS2,'MOT',0,0.D0,'IDEB',.TRUE.,0,
  155. & TYPE,IDEB1,XVAL,BLAN,XLOGI,IRET)
  156. IF (TYPE.EQ.' ') IDEB1=0
  157. IF (IPT.LT.IDEB1) GOTO 51
  158.  
  159. * INDICE DE FIN DE SAUVEGARDE ?
  160. TYPE=' '
  161. CALL ACCTAB(KHIS2,'MOT',0,0.D0,'IFIN',.TRUE.,0,
  162. & TYPE,IFIN1,XVAL,BLAN,XLOGI,IRET)
  163. IF (TYPE.EQ.' ') CALL ACME(MTAB1,'ITMA',IFIN1)
  164. IF (IPT.GT.IFIN1) GOTO 51
  165.  
  166. * PAS DE SAUVEGARDE ?
  167. TYPE=' '
  168. CALL ACCTAB(KHIS2,'MOT',0,0.D0,'IPAS',.TRUE.,0,
  169. & TYPE,IPAS1,XVAL,BLAN,XLOGI,IRET)
  170. IF (TYPE.EQ.' ') IPAS1=1
  171. IF (MOD(IPT-IDEB1,IPAS1).NE.0) GOTO 51
  172.  
  173. ZHIST2=.TRUE.
  174.  
  175. * AJOUT DU TEMPS COURANT A L'INDICE 'TPS'
  176. TYPE = ' '
  177. CALL ACMO(KHIS2,'TPS',TYPE,MLREEL)
  178. IF (TYPE.EQ.'LISTREEL') THEN
  179. SEGACT,MLREEL
  180. * ON AJOUTE AUSSI LE TEMPS INITIAL SI BESOIN
  181. IF (IDEB1.EQ.0.AND.IPT.EQ.1) THEN
  182. JG=PROG(/1)+2
  183. SEGADJ,MLREEL
  184. PROG(JG-1)=TPS-DT
  185. ELSE
  186. JG=PROG(/1)+1
  187. SEGADJ,MLREEL
  188. ENDIF
  189. PROG(JG)=TPS
  190. ENDIF
  191.  
  192. ENDIF
  193. 51 CONTINUE
  194.  
  195.  
  196. C
  197. C- Recherche de l'ensemble des champs à mettre à jour via DFDT
  198. C
  199. DO 10 K=1,NBIND
  200. NOMA = MOTS(K)
  201. IF (NOMA(1:4).EQ.'DFDT') THEN
  202. IF (K.LT.10) THEN
  203. WRITE(NOMA2,FMT='(I1,A7)') K,NOMA(1:7)
  204. ELSE
  205. WRITE(NOMA2,FMT='(I2,A6)') K,NOMA(1:6)
  206. ENDIF
  207. TYPE = ' '
  208. CALL ACMO(MTAB1,NOMA2,TYPE,MTABLE)
  209. IF (TYPE.EQ.'TABLE') THEN
  210. C
  211. C- Caractérisation de la syntaxe de DFDT : le champoint contenant
  212. C- les valeurs de l'inconnue au pas de temps précédant se trouve
  213. C- ISYNT =1 -> Dans la table DFDT MTABLE
  214. C- ISYNT =2 -> Dans la table INCO MTAB2
  215. C
  216. TYPE = ' '
  217. CALL ACMO(MTABLE,'KOPT ',TYPE,KOPT)
  218. CALL ACME(KOPT,'ISCHT',ISCHT)
  219. IF(ISCHT.EQ.1.OR.ISCHT.EQ.2)THEN
  220. C
  221. C- Récupération du nom de l'indice de la table INCO contenant
  222. C- le CHPOINT au temps précédent N.
  223. C
  224. TYPE = ' '
  225. CALL ACMO(MTABLE,'ARG2',TYPE,MCHPI)
  226. IF (IERR.NE.0) RETURN
  227. IF (TYPE.EQ.'CHPOINT ') THEN
  228. ISYNT = 1
  229. ELSEIF (TYPE.EQ.'MOT ') THEN
  230. ISYNT = 2
  231. CALL ACMM(MTABLE,'ARG2',NOM)
  232. IF (IERR.NE.0) RETURN
  233. TYP2 = 'CHPOINT '
  234. CALL ACMO(MTAB2,NOM,TYP2,MCHPI)
  235. IF (IERR.NE.0) RETURN
  236. ELSE
  237. MOTERR( 1: 8) = NOMA
  238. MOTERR( 9:16) = 'ARG2 '
  239. MOTERR(17:30) = 'CHPOINT ou MOT'
  240. CALL ERREUR(763)
  241. RETURN
  242. ENDIF
  243. C
  244. C Récupération du nom de l'indice de la table INCO contenant le
  245. C point au 2eme temps précédent N-1.
  246. C
  247. TYPE = ' '
  248. CALL ACMO(MTABLE,'ARG3',TYPE,MCHPN)
  249. IF (IERR.NE.0) RETURN
  250. IF (TYPE.EQ.'CHPOINT ') THEN
  251. ISYNT = 1
  252. ELSEIF (TYPE.EQ.'MOT ') THEN
  253. ISYNT = 2
  254. CALL ACMM(MTABLE,'ARG3',NOM)
  255. IF (IERR.NE.0) RETURN
  256. TYP2 = 'CHPOINT '
  257. CALL ACMO(MTAB2,NOM,TYP2,MCHPN)
  258. IF (IERR.NE.0) RETURN
  259. ELSE
  260. MOTERR( 1: 8) = NOMA
  261. MOTERR( 9:16) = 'ARG3 '
  262. MOTERR(17:30) = 'CHPOINT ou MOT'
  263. CALL ERREUR(763)
  264. RETURN
  265. ENDIF
  266. C
  267. C- Duplication du CHPOINT contenant l'inconnue au temps N vers N-1
  268. C
  269. IF(IUPDT.EQ.1)THEN
  270. * gounand 07/12/2012 : dans TCRR, on change de stratégie et on crée un
  271. * chpoint tout neuf, cela permet d'éviter les appels à COPIER dans TCNM
  272. * et dans les procédures utilisateurs. On pourra aussi se référer au
  273. * pointeur pour préconditionner.
  274. * CALL ECROBJ('CHPOINT',MCHPI)
  275. * CALL COPIER
  276. * CALL LIROBJ('CHPOINT',MCHPOI,1,IRET)
  277. MCHPOI=MCHPI
  278.  
  279. C
  280. C- Update du CHPOINT contenant l'inconnue au temps précédant
  281. C
  282. IF (ISYNT.EQ.1) THEN
  283. CALL ECMO(MTABLE,'ARG3',TYPE,MCHPOI)
  284. ELSE
  285. CALL ECMO(MTAB2,NOM,TYP2,MCHPOI)
  286. ENDIF
  287.  
  288. ENDIF
  289. ENDIF
  290. C
  291. C- Récupération du nom de l'indice de la table INCO contenant
  292. C- le CHPOINT au temps courant N+1 (donc près calcul).
  293. C
  294. TYPE = 'LISTMOTS'
  295. CALL ACMO(MTABLE,'LISTINCO',TYPE,MLMOT1)
  296. IF (IERR.NE.0) RETURN
  297. SEGACT MLMOT1
  298. NOMINC = MLMOT1.MOTS(1)
  299. C
  300. C- Récupération du pointeur du CHPOINT dans la table INCO à l'instant N.
  301. C
  302. TYPE = 'CHPOINT '
  303. CALL ACMO(MTAB2,NOMINC,TYPE,MCHPI)
  304. IF (IERR.NE.0) RETURN
  305. TYPE = ' '
  306. CALL ACMO(MTABLE,'ARG2',TYPE,MCHPN)
  307. IF (IERR.NE.0) RETURN
  308. IF (TYPE.EQ.'CHPOINT ') THEN
  309. ISYNT = 1
  310. ELSEIF (TYPE.EQ.'MOT ') THEN
  311. ISYNT = 2
  312. CALL ACMM(MTABLE,'ARG2',NOM)
  313. IF (IERR.NE.0) RETURN
  314. TYP2 = 'CHPOINT '
  315. CALL ACMO(MTAB2,NOM,TYP2,MCHPN)
  316. IF (IERR.NE.0) RETURN
  317. ELSE
  318. MOTERR( 1: 8) = NOMA
  319. MOTERR( 9:16) = 'ARG2 '
  320. MOTERR(17:30) = 'CHPOINT ou MOT'
  321. CALL ERREUR(763)
  322. RETURN
  323. ENDIF
  324. C
  325. C- Duplication du CHPOINT contenant l'inconnue au temps courant N+1 vers N
  326. C
  327. IF(IUPDT.EQ.1)THEN
  328. * gounand 07/12/2012 : dans TCRR, on change de stratégie et on crée un
  329. * chpoint tout neuf, cela permet d'éviter les appels à COPIER dans TCNM
  330. * et dans les procédures utilisateurs. On pourra aussi se référer au
  331. * pointeur pour préconditionner.
  332. * CALL ECROBJ('CHPOINT',MCHPI)
  333. * CALL COPIER
  334. * CALL LIROBJ('CHPOINT',MCHPOI,1,IRET)
  335. MCHPOI=MCHPI
  336. C
  337. C- Update du CHPOINT contenant l'inconnue au temps précédant
  338. C
  339. IF (ISYNT.EQ.1) THEN
  340. CALL ECMO(MTABLE,'ARG2',TYPE,MCHPOI)
  341. ELSE
  342. CALL ECMO(MTAB2,NOM,TYP2,MCHPOI)
  343. ENDIF
  344. ENDIF
  345. ENDIF
  346. C
  347. C- Activation du MPOVAL de l'inconnue au temps précédant
  348. C -----------------------------------------------------
  349. CALL LICHT(MCHPI,IPHI,TYP0,IGEOM0)
  350. C
  351. C- Traitement des historiques
  352. C --------------------------
  353. IF (MTABT.NE.0) THEN
  354.  
  355. * SAUVEGARDE D'UNE VALEUR PONCTUELLE
  356. TYPE=' '
  357. CALL ACMO(MTAB1,'HIST',TYPE,KHIS)
  358. IF (KHIS.NE.0)THEN
  359. *
  360. * POUR RETROCOMPATIBILITE, ON TOLERE L'UTILISATION DU
  361. * MOT-CLE 'KFIH' (JAMAIS DOCUMENTE NULLE PART...) A LA
  362. * PLACE DE 'NISTO'
  363. TYPE1=' '
  364. CALL ACMO(KHIS,'KFIH',TYPE1,IRET)
  365. IF (TYPE1.EQ.'ENTIER') THEN
  366. CALL ACME(KHIS,'KFIH',NISTO)
  367. ELSE
  368. TYPE=' '
  369. CALL ACCTAB(MTAB1,'MOT',0,0.D0,'NISTO',.TRUE.,0,
  370. & TYPE,NISTO,XVAL,BLAN,XLOGI,IRET)
  371. ENDIF
  372. IF (IERR.NE.0) RETURN
  373. IF (NISTO.LE.0.OR.MOD(IPT-1,NISTO).NE.0) GOTO 83
  374.  
  375. NUCOMP = IPHI.VPOCHA(/2)
  376. NOMIX(1) = NOMINC
  377. NOMIX(2) = '1'//NOMINC(1:7)
  378. NOMIX(3) = '2'//NOMINC(1:7)
  379. NOMIX(4) = '3'//NOMINC(1:7)
  380. DO 82 NUC=1,NUCOMP+1
  381. NUCR = 1
  382. IF (NUC.GT.1) NUCR=NUC-1
  383. TYPE = ' '
  384. CALL ACMO(KHIS,NOMIX(NUC),TYPE,MEVOLL)
  385. IF (TYPE.EQ.'EVOLUTIO')THEN
  386. TYPE1=' '
  387. NOMI1='$'//NOMIX(NUC)
  388. CALL ACMO(KHIS,NOMI1,TYPE1,MAH)
  389. IF (TYPE1.EQ.'MAILLAGE') THEN
  390. SEGACT MAH
  391. ELSE
  392. CALL ERREUR(503)
  393. RETURN
  394. ENDIF
  395. CALL ECROBJ('CHPOINT',MCHPI)
  396. CALL ECROBJ('MAILLAGE',MAH)
  397. CALL REDU
  398. CALL LIROBJ('CHPOINT',IZH,1,IRET)
  399. CALL LICHT(IZH,IPHH,TYP0,IGEOM)
  400. CALL KRIPAD(IGEOM,MLENTI)
  401.  
  402. SEGACT MEVOLL,MAH
  403. NH=MAH.NUM(/2)
  404. DO 81 IH=1,NH
  405. KEVOLL=IEVOLL(IH)
  406. SEGACT KEVOLL
  407. MLREE1=IPROGX
  408. IF (IH.EQ.1)THEN
  409. SEGACT MLREE1
  410. JG=MLREE1.PROG(/1)+1
  411. SEGADJ MLREE1
  412. MLREE1.PROG(JG)=TPS
  413. ENDIF
  414.  
  415. MLREE2=IPROGY
  416. SEGACT MLREE2
  417. SEGADJ MLREE2
  418. IH1=LECT(MAH.NUM(1,IH))
  419. C write(6,*)' IH,IH1,NUCR=',IH,IH1,NUCR,JG
  420. IF(IH1.EQ.0)THEN
  421. MLREE2.PROG(JG)=0.D0
  422. ELSE
  423. MLREE2.PROG(JG)=IPHH.VPOCHA(IH1,NUCR)
  424. ENDIF
  425. 81 CONTINUE
  426. 80 CONTINUE
  427. SEGSUP MLENTI
  428. ENDIF
  429.  
  430. 82 CONTINUE
  431. ENDIF
  432.  
  433. * SAUVEGARDE DU CHPOINT COMPLET
  434. 83 CONTINUE
  435. IF (ZHIST2) THEN
  436. IF (MOD(IPT-IDEB1,IPAS1).NE.0) GOTO 84
  437. TYPE = ' '
  438. CALL ACMO(KHIS2,NOMINC,TYPE,MLCHPO)
  439. IF (TYPE.EQ.'LISTCHPO') THEN
  440. SEGACT,MLCHPO
  441. * ON AJOUTE AUSSI LE CHPOINT INITIAL SI BESOIN
  442. IF (IDEB1.EQ.0.AND.IPT.EQ.1) THEN
  443. N1=ICHPOI(/1)+2
  444. SEGADJ,MLCHPO
  445. ICHPOI(N1-1)=MCHPN
  446. ELSE
  447. N1=ICHPOI(/1)+1
  448. SEGADJ,MLCHPO
  449. ENDIF
  450. * ON AJOUTE LE CHPOINT COURANT
  451. ICHPOI(N1)=MCHPI
  452. ENDIF
  453. ENDIF
  454.  
  455. ELSE
  456. WRITE(IOIMP,*)' Pour des historiques il faut une table PASDETPS'
  457. ENDIF
  458. C
  459. 84 CONTINUE
  460. C
  461. ENDIF
  462. 10 CONTINUE
  463. C
  464. C
  465. C- Impressions de controle
  466. C -----------------------
  467. IF (IMPR.NE.0) THEN
  468. KFIDT = IMPR
  469. IF (MTABT.NE.0) THEN
  470. CALL ACMM(MTABT,'OPER',NOMINC)
  471. CALL ACMM(MTABT,'ZONE',NOMZ)
  472. CALL ACMF(MTABT,'DTCONV',DTT1)
  473. CALL ACMF(MTABT,'DTDIFU',DTT2)
  474. CALL ACMF(MTABT,'DIAEL',DIAEL)
  475. CALL ACME(MTABT,'NUEL',NUEL)
  476. CALL ACME(MTABT,'NUPASDT',IPT)
  477. ELSE
  478. IPT=1
  479. ENDIF
  480. IND = IPT - IPT/KFIDT * KFIDT
  481.  
  482. C write(6,*)' TCNM NOMZ=',NOMZ
  483. IF(NOMZ(1:4).NE.'EQEX')THEN
  484. IF (IPT.EQ.1) THEN
  485. WRITE(IOIMP,*)
  486. & ' IPT : NUMERO DU PAS DE TEMPS , NUEL : NUMERO DE L ELEMENT , '
  487. &,' DIAEL : DIAMETRE MOYEN DE L ELEMENT '
  488. WRITE(IOIMP,*)
  489. &' ALFA : TOLERANCE SUR LE PAS DE TEMPS , DTMAX : PAS DE TEMPS MAX'
  490. &,' DTT1 : PAS DE TEMPS DE CONVECTION , DTT2 : PAS DE TEMPS DE'
  491. &,' DIFFUSION '
  492. WRITE(IOIMP,*) ' TPS : TEMPS CUMULE'
  493. ENDIF
  494. IF (IND.EQ.0)THEN
  495. WRITE(IOIMP,1011)NOMZ,NOMINC
  496. WRITE(IOIMP,1010)IPT,NUEL,DIAEL,ALFA,DT,DTT1,DTT2,TPS
  497. ENDIF
  498. ELSE
  499.  
  500. IF (IPT.EQ.1) THEN
  501. WRITE(IOIMP,*) ' PAS DE TEMPS IMPOSE : DT , ',
  502. & ' IPT : NUMERO DU PAS DE TEMPS , TPS : TEMPS CUMULE'
  503. ENDIF
  504. IF (IND.EQ.0)THEN
  505. WRITE(IOIMP,1012)IPT,DT,TPS
  506. ENDIF
  507. ENDIF
  508.  
  509. ENDIF
  510. C
  511. C- Mise à jour de la table PASDETPS
  512. C --------------------------------
  513. 800 CONTINUE
  514. C??? IF (KIZD.NE.0.AND.KIZG.NE.0) THEN
  515. IF (MTABT.NE.0) THEN
  516. IF(IUPDT.EQ.1)THEN
  517. CALL ECMF(MTABT,'DELTAT-1',DT)
  518. CALL ECMF(MTABT,'TPS',TPS)
  519. DT=1.D30
  520. CALL ECMF(MTABT,'DELTAT',DT)
  521. IPT = IPT + 1
  522. CALL ECME(MTABT,'NUPASDT',IPT)
  523. ENDIF
  524. ENDIF
  525. C??? ENDIF
  526.  
  527. CALL ECRENT(IFINAL)
  528.  
  529. C
  530. C- Désactivation et ménage
  531. C
  532. RETURN
  533. C
  534. C- Formats associés aux impression de controle
  535. C -------------------------------------------
  536. 1010 FORMAT(2X,'N.DT',I5,' NU.EL',I5,' DIAEL=',1PE11.4,' ALFA=',
  537. & 1PE11.4,' DTMAX=',1PE11.4,
  538. & ' DT1=',1PE11.4,' DT2=',1PE11.4,' TPS=',1PE11.4)
  539. 1011 FORMAT(2X,' ZONE :',A8,' OPERATEUR :',A8)
  540. 1012 FORMAT(2X,'N.DT',I5,' DT=',1PE11.4,' TPS=',1PE11.4)
  541. END
  542.  
  543.  
  544.  
  545.  

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