Télécharger znske.eso

Retour à la liste

Numérotation des lignes :

znske
  1. C ZNSKE SOURCE FANDEUR 22/01/03 21:16:04 11136
  2. SUBROUTINE ZNSKE(MTABX,MTAB1)
  3. IMPLICIT INTEGER(I-N)
  4. IMPLICIT REAL*8 (A-H,O-Z)
  5. C***********************************************************************
  6. C
  7. C CET OPERATEUR DISCRETISE LES EQUATIONS DE NAVIER STOKES COUPLEES
  8. C AUX DEUX EQUATIONS DU MODELE K - EPSILON
  9. C EN 2D SUR LES ELEMENTS QUA4 ET TRI3 PLAN OU AXI
  10. C EN 3D SUR LES ELEMENTS CUB8 ET PRI6
  11. C LES OPERATEURS SONT "SOUS-INTEGRES"
  12. C
  13. C SYNTAXE :
  14. C ---------
  15. C 1/ Cas incompréssible
  16. C
  17. C du/dt + u Grad u = (nu+nut) Lapl u - 1/ro Grad p < + S >
  18. C < + g beta (T-Tref) >
  19. C
  20. C 'OPER' 'NSKE' nu nut 'INCO' UN :
  21. C 'OPER' 'NSKE' nu nut s 'INCO' UN :
  22. C 'OPER' 'NSKE' nu nut gb tn tref 'INCO' UN :
  23. C
  24. C
  25. C 2/ Cas compréssible
  26. C
  27. C dG/dt + u Grad G + G Div u = (mu+mut)(Lapl u + 1/3 Grad Div u)
  28. C - Grad p < + S >
  29. C
  30. C 'OPER' 'NSKE' ro mu mut un 'INCO' GN :
  31. C 'OPER' 'NSKE' ro mu mut un S 'INCO' GN :
  32. C
  33. C ro densité
  34. C FLOTTANT ou CHPOINT SCAL CENTRE
  35. C nu,mu viscosité cinématique (resp. dynamique) moléculaire
  36. C FLOTTANT ou CHPOINT SCAL CENTRE
  37. C nut,mut viscosité cinématique (resp. dynamique) turbulente
  38. C CHPOINT SCAL CENTRE
  39. C s source volumique de qdm
  40. C POINT ou CHPOINT VECT CENTRE
  41. C gb coéfficient de flottabilité (g*beta où g est l'accéllération
  42. C de la pesanteur et beta le coéfficient de dilatabilité)
  43. C POINT ou CHPOINT VECT CENTRE
  44. C tn Champ de température CHPOINT SCAL SOMMET
  45. C tref température de référence
  46. C FLOTTANT ou CHPOINT SCAL SOMMET
  47. C
  48. C Champ de vitesse -> VITESS
  49. C un Champ de vitesse transportant -> UTRANS
  50. C CHPOINT VECT SOMMET
  51. C gn Champ de vitesse massique (transporté) -> IZTU1 (Inconnue)
  52. C CHPOINT VECT SOMMET
  53. C kn Energie cinétique turbulente
  54. C CHPOINT SCAL SOMMET
  55. C en Taux de disparition de k
  56. C CHPOINT SCAL SOMMET
  57. C Constantes du modèle K - Epsilon
  58. C cnu = 0.09 c1 = 1.41 c2 = 1.92
  59. C
  60. C************************************************************************
  61.  
  62.  
  63. -INC PPARAM
  64. -INC CCOPTIO
  65. -INC CCGEOME
  66. -INC SIZFFB
  67. POINTEUR IZF1.IZFFM
  68. -INC SMCHAML
  69. -INC SMCOORD
  70. -INC SMLENTI
  71. POINTEUR IPADI.MLENTI,IPADU.MLENTI,IPADF.MLENTI,IPADS.MLENTI
  72. POINTEUR IPADQ.MLENTI
  73. -INC SMELEME
  74. POINTEUR MELEM1.MELEME,MELEMC.MELEME,MELEMS.MELEME,MELEMI.MELEME
  75. POINTEUR MELEP1.MELEME
  76. -INC SMCHPOI
  77. POINTEUR IZG1.MCHPOI, IZG3.MCHPOI
  78. POINTEUR IZGG1.MPOVAL,IZGG2.MPOVAL,IZGG3.MPOVAL
  79. POINTEUR IZGDD2.MPOVAL,IZGDD3.MPOVAL
  80. POINTEUR IZDD2.MPOVAL,IZDD3.MPOVAL
  81. POINTEUR IZTU1.MPOVAL,IZTU2.MPOVAL,IZTU3.MPOVAL
  82. POINTEUR VITESS.MPOVAL,UTRANS.MPOVAL
  83. POINTEUR MZNU.MPOVAL,MZGB.MPOVAL,MZTN.MPOVAL,MZTR.MPOVAL
  84. POINTEUR MZRO.MPOVAL
  85. POINTEUR MZNT.MPOVAL
  86. POINTEUR IZVOL.MPOVAL,IZTCO.MPOVAL
  87. POINTEUR MCHVOL.MCHPOI,IZG2.MCHPOI,IZGD2.MCHPOI
  88. POINTEUR IZD2.MCHPOI,IZGD3.MCHPOI,IZD3.MCHPOI
  89. POINTEUR IPM.IZAFM
  90.  
  91. SEGMENT IMATRS
  92. INTEGER LIZAFS(NBSOUS,NBME)
  93. ENDSEGMENT
  94. POINTEUR IPMS.IZAFM,IPS1.IZAFM,IPS2.IZAFM,IPS3.IZAFM
  95.  
  96. -INC SMLMOTS
  97. POINTEUR LINCO.MLMOTS
  98. CHARACTER*8 NOMZ,NOMI,NOMA,TYPE,TYPC,NOM,NOM0
  99. PARAMETER (NTB=1)
  100. CHARACTER*8 LTAB(NTB)
  101. DIMENSION KTAB(NTB),IXV(3),RO(1)
  102. SAVE IPAS
  103. DATA LTAB/'KIZX '/,IPAS/0/,RO/1.D0/
  104. C*****************************************************************************
  105. CNSKE
  106. C write(6,*)' DEBUT NSKE '
  107.  
  108. C
  109. C- Récupération de la table INCO (pointeur KINC)
  110. C
  111. CALL LEKTAB(MTAB1,'INCO',KINC)
  112. IF(KINC.EQ.0)THEN
  113. C Indice %m1:8 : Indice %m9:16 non trouvé dans la table %m17:24
  114. MOTERR( 1: 8) = ' INCO '
  115. MOTERR( 9:16) = ' INCO '
  116. MOTERR(17:24) = ' EQEX '
  117. CALL ERREUR(786)
  118. RETURN
  119. ENDIF
  120.  
  121. C*****************************************************************************
  122. C OPTIONS
  123. C KIMPL = 0 -> EXPL 1 -> IMPL 2 -> SEMI
  124. C KFORM = 0 -> SI 1 -> EF 2 -> VF 3 -> EFMC
  125. C IDCEN = 0-> rien 1-> CENTREE 2-> SUPGDC 3-> SUPG 4-> TVISQUEU 5-> CNG
  126.  
  127. IAXI=0
  128. IF(IFOMOD.EQ.0)IAXI=2
  129. C
  130. C- Récupération de la table des options KOPT (pointeur KOPTI)
  131. C
  132. CALL LEKTAB(MTABX,'KOPT',KOPTI)
  133. IF (KOPTI.EQ.0) THEN
  134. C Indice %m1:8 : Indice %m9:16 non trouvé dans la table %m17:24
  135. MOTERR( 1: 8) = ' KOPT '
  136. MOTERR( 9:16) = ' KOPT '
  137. MOTERR(17:24) = ' KIZX '
  138. CALL ERREUR(786)
  139. RETURN
  140. ENDIF
  141.  
  142. CALL ACME(KOPTI,'MTRMASS ',MMPG)
  143. IPG=0
  144. IF(MMPG.EQ.3)IPG=1
  145. CALL ACME(KOPTI,'IDCEN',IDCEN)
  146. CALL ACME(KOPTI,'RNG ',IMODEL)
  147. CALL ACME(KOPTI,'IKOMP',IKOMP)
  148. CALL ACME(KOPTI,'KIMPL',KIMPL)
  149. CALL ACME(KOPTI,'KPOIN',KPRE)
  150. CALL ACME(KOPTI,'KFORM',KFORM)
  151. CALL ACME(KOPTI,'KMACO',KMACO)
  152. CALL ACMF(KOPTI,'AIMPL',AIMPL)
  153.  
  154. IF (IERR.NE.0) RETURN
  155.  
  156. IF(KFORM.NE.0.AND.KFORM.NE.1)THEN
  157. C Option %m1:8 incompatible avec les données
  158. MOTERR( 1: 8) = 'EF/EFM1 '
  159. CALL ERREUR(803)
  160. RETURN
  161. ENDIF
  162.  
  163. IF(KFORM.NE.0.AND.KPRE.NE.2)THEN
  164. C Option %m1:8 incompatible avec les données
  165. MOTERR( 1: 8) = 'EFM1 '
  166. CALL ERREUR(803)
  167. RETURN
  168. ENDIF
  169.  
  170. C write(6,*)' Apres les options '
  171. C*****************************************************************************
  172. C
  173. C- Récupération de la table DOMAINE associée au domaine local
  174. C
  175. CALL ACMM(MTABX,'NOMZONE',NOMZ)
  176. CALL LEKTAB(MTABX,'DOMZ',MTABZ)
  177. IF(MTABZ.EQ.0)THEN
  178. C Indice %m1:8 : Indice %m9:16 non trouvé dans la table %m17:24
  179. MOTERR( 1: 8) = ' DOMZ '
  180. MOTERR( 9:16) = ' DOMZ '
  181. MOTERR(17:24) = ' KIZX '
  182. CALL ERREUR(786)
  183. RETURN
  184. ENDIF
  185.  
  186. CALL LEKTAB(MTABZ,'MAILLAGE',MELEME)
  187. CALL LEKTAB(MTABZ,'CENTRE',MELEMC)
  188. CALL LEKTAB(MTABZ,'SOMMET',MELEMS)
  189. IF (IERR.NE.0) RETURN
  190.  
  191. MELEMQ=MELEMC
  192. MELEP1=MELEMC
  193.  
  194. IF(KPRE.NE.2)THEN
  195. CALL LEKTAB(MTABZ,'MACRO',MACRO)
  196. CALL LEKTAB(MTABZ,'MACRO1',MELEMI)
  197. CALL LEKTAB(MTABZ,'QUADRATI',MQUAD)
  198. IF(KPRE.EQ.3)THEN
  199. CALL LEKTAB(MTABZ,'CENTREP0',MELEMQ)
  200. MELEP1=MELEMQ
  201. ELSEIF(KPRE.EQ.4)THEN
  202. CALL LEKTAB(MTABZ,'CENTREP1',MELEMQ)
  203. CALL LEKTAB(MTABZ,'ELTP1NC ',MELEP1)
  204. ENDIF
  205. ENDIF
  206.  
  207. C*************************************************************************
  208. C VERIFICATIONS SUR LES INCONNUES
  209. C
  210. C- Récupération du nombre d'inconnues et du nom de l'inconnue NOMI
  211. C
  212. TYPE='LISTMOTS'
  213. CALL ACMO(MTABX,'LISTINCO',TYPE,LINCO)
  214. IF (IERR.NE.0) RETURN
  215. SEGACT LINCO
  216. NBINC=LINCO.MOTS(/2)
  217. IF(NBINC.NE.3)THEN
  218. C Indice %m1:8 : contient plus de %i1 %m9:16
  219. MOTERR( 1:8) = 'LISTINCO'
  220. INTERR(1) = 3
  221. MOTERR(9:16) = ' MOTS '
  222. CALL ERREUR(799)
  223. RETURN
  224. ENDIF
  225.  
  226. NOMI=LINCO.MOTS(1)
  227. NOMA=NOMI
  228. C
  229. C- Récupération de l'inconnue
  230. C
  231. TYPE=' '
  232. CALL ACMO(KINC,NOMI,TYPE,MCHPOI)
  233. IF(TYPE.NE.'CHPOINT ')THEN
  234. C Indice %m1:8 : ne contient pas un objet de type %m9:16
  235. MOTERR( 1: 8) = 'INC '//NOMI
  236. MOTERR( 9:16) = 'CHPOINT '
  237. CALL ERREUR(800)
  238. RETURN
  239. ELSE
  240. CALL LICHT(MCHPOI,IZTU1,TYPC,MELEM1)
  241. NINKO = IZTU1.VPOCHA(/2)
  242. IF (NINKO.NE.IDIM) THEN
  243. C Indice %m1:8 : Le %m9:16 n'a pas le bon nombre de composantes
  244. MOTERR( 1: 8) = 'INC '//NOMI
  245. MOTERR( 9:16) = 'CHPOINT '
  246. CALL ERREUR(784)
  247. RETURN
  248. ENDIF
  249. C write(6,*)' MCHPOI,MELEM1=',MCHPOI,MELEM1
  250. C On fait pointer ces deux tableaux sur le champ U inconu (tjs présent) pour
  251. C eviter de les enlever lors de l'appel FORTRAN si les options sont absentes
  252. UTRANS=IZTU1
  253. IKW=0
  254. VITESS=IZTU1
  255. ENDIF
  256.  
  257. C*****************************************************************************
  258. C Le domaine de definition est donne par le SPG de la premiere inconnue
  259. C Les inconnues suivantes devront posseder ce meme pointeur
  260. C On verifie que les points de la zone sont tous inclus dans ce SPG
  261.  
  262. CALL KRIPAD(MELEM1,IPADI)
  263. IPADS=IPADI
  264. IPADD=IPADI
  265. IPADU=IPADI
  266. IF(MELEM1.NE.MELEMS)CALL KRIPAD(MELEMS,IPADS)
  267.  
  268. IF(IPAS.EQ.0)THEN
  269. IPAS=1
  270. CALL VERPAD(IPADI,MELEME,IRET)
  271. IF(IRET.NE.0)THEN
  272. C Indice %m1:8 : L'objet %m9:16 n'a pas le bon support géométrique
  273. MOTERR(1: 8) = 'INC '//NOMI
  274. MOTERR(9:16) = 'CHPOINT '
  275. CALL ERREUR(788)
  276. RETURN
  277. ENDIF
  278. ENDIF
  279.  
  280. C*************************************************************************
  281. C Lecture du coefficient
  282. C Type du coefficient :
  283. C IK1=0 CHPOINT IK1=1 scalaire IK1=2 vecteur
  284.  
  285. C write(6,*)' Opérateur NSKE lecture des coefficients'
  286. CALL ACME(MTABX,'IARG',IARG)
  287. IF(IKOMP.EQ.0)THEN
  288. IF(IARG.NE.2.AND.IARG.NE.3.AND.IARG.NE.5)THEN
  289. WRITE(6,*)' Opérateur NSKE : option incompréssible '
  290. WRITE(6,*)' Nombre d''arguments incorrect : ',IARG
  291. WRITE(6,*)' On attend 2 , 3 ou 5 '
  292. C Indice %m1:8 : nombre d'arguments incorrect
  293. MOTERR(1:8) = 'IARG '
  294. CALL ERREUR(804)
  295. RETURN
  296. ENDIF
  297. ELSEIF(IKOMP.EQ.1)THEN
  298. IF(IARG.NE.4.AND.IARG.NE.5)THEN
  299. WRITE(6,*)' Opérateur NSKE : option compréssible '
  300. WRITE(6,*)' Nombre d''arguments incorrect : ',IARG
  301. WRITE(6,*)' On attend 4 ou 5 '
  302. C Indice %m1:8 : nombre d'arguments incorrect
  303. MOTERR(1:8) = 'IARG '
  304. CALL ERREUR(804)
  305. RETURN
  306. ENDIF
  307. ENDIF
  308.  
  309. C--Cas incompréssible
  310. IF(IKOMP.EQ.0)THEN
  311.  
  312. MZRO=IZTU1
  313.  
  314. C 1er coefficient : nu
  315. IXV(1)=MELEMC
  316. IXV(2)=1
  317. IXV(3)=0
  318. CALL LEKCOF('Opérateur NSKE :',
  319. & MTABX,KINC,1,IXV,MNU,MZNU,NPT1,NC1,IKN,IRET)
  320. IF(IRET.EQ.0)RETURN
  321.  
  322. MZGB=MZNU
  323. MZTN=MZNU
  324. MZTR=MZNU
  325.  
  326. C 2ème coefficient : nut
  327. IXV(1)=MELEMC
  328. IXV(2)=0
  329. IXV(3)=0
  330. CALL LEKCOF('Opérateur NSKE :',
  331. & MTABX,KINC,2,IXV,MNT,MZNT,NPT2,NC2,IKNT,IRET)
  332. IF(IRET.EQ.0)RETURN
  333.  
  334. IF(IARG.GE.3)THEN
  335. C 3ème coefficient : gbeta
  336. IXV(1)=-MELEMC
  337. IXV(2)=0
  338. IXV(3)=1
  339. CALL LEKCOF('Opérateur NSKE :',
  340. & MTABX,KINC,3,IXV,MGB,MZGB,NELG,NC3,IKG,IRET)
  341. IF(IRET.EQ.0)RETURN
  342.  
  343. IF(IKG.EQ.2)IKG=1
  344.  
  345. IF(IARG.EQ.5)THEN
  346.  
  347. C 4ème coefficient : tn
  348. IXV(1)=MELEMS
  349. IXV(2)=1
  350. IXV(3)=0
  351. CALL LEKCOF('Opérateur NSKE :',
  352. & MTABX,KINC,4,IXV,MTN,MZTN,NPT4,NC4,IKTN,IRET)
  353. IF(IRET.EQ.0)RETURN
  354.  
  355. C 5ème coefficient : tref
  356. IXV(1)=MELEMS
  357. IXV(2)=1
  358. IXV(3)=0
  359. CALL LEKCOF('Opérateur NSKE :',
  360. & MTABX,KINC,5,IXV,MTR,MZTR,NPT5,NC5,IKTR,IRET)
  361. IF(IRET.EQ.0)RETURN
  362.  
  363. ENDIF
  364. ENDIF
  365.  
  366. C--Cas compréssible
  367. ELSEIF(IKOMP.EQ.1)THEN
  368. C 1er coefficient : ro
  369. IXV(1)=MELEMC
  370. IXV(2)=1
  371. IXV(3)=0
  372. CALL LEKCOF('Opérateur NSKE :',
  373. & MTABX,KINC,1,IXV,MRO,MZRO,NPT1,NCR,IKR,IRET)
  374. IF(IRET.EQ.0)RETURN
  375.  
  376. MZGB=MZRO
  377. MZTN=MZRO
  378. MZTR=MZRO
  379.  
  380. C 2ème coefficient : mu
  381. IXV(1)=MELEMC
  382. IXV(2)=1
  383. IXV(3)=0
  384. CALL LEKCOF('Opérateur NSKE :',
  385. & MTABX,KINC,2,IXV,MNU,MZNU,NPT2,NC2,IKN,IRET)
  386. IF(IRET.EQ.0)RETURN
  387.  
  388. C 3ème coefficient : mut
  389. IXV(1)=MELEMC
  390. IXV(2)=0
  391. IXV(3)=0
  392. CALL LEKCOF('Opérateur NSKE :',
  393. & MTABX,KINC,3,IXV,MNT,MZNT,NPT3,NC3,IKNT,IRET)
  394. IF(IRET.EQ.0)RETURN
  395.  
  396. C 4ème coefficient : un (en compréssible)
  397. IXV(1)=-MELEMS
  398. IXV(2)=0
  399. IXV(3)=0
  400. CALL LEKCOF('Opérateur NSKE :',
  401. & MTABX,KINC,4,IXV,MUN,UTRANS,NPT4,NC4,IK4,IRET)
  402. IPADU=IPADS
  403. IF(IRET.EQ.0)RETURN
  404.  
  405. IF(IARG.EQ.5)THEN
  406. C 5ème coefficient : s (en compréssible)
  407. IXV(1)=-MELEMC
  408. IXV(2)=0
  409. IXV(3)=1
  410. CALL LEKCOF('Opérateur NSKE :',
  411. & MTABX,KINC,5,IXV,MGB,MZGB,NELG,NC5,IKG,IRET)
  412. IF(IRET.EQ.0)RETURN
  413.  
  414. IF(IKG.EQ.2)IKG=1
  415. ENDIF
  416.  
  417. ENDIF
  418.  
  419. C write(6,*)' Opérateur NSKE : Fin lecture Arguments '
  420. C Fin lecture Arguments ************************************************
  421.  
  422.  
  423. CALL LEKTAB(MTABZ,'XXDXDY',MCHPDX)
  424. IF(IRET.EQ.0)RETURN
  425. CALL LICHT(MCHPDX,IZTCO,TYPC,IGEOM)
  426. NELZ=IZTCO.VPOCHA(/1)
  427.  
  428.  
  429. C write(6,*)' FORMULATION ',kform
  430. C*********** FORMULATIONS **********
  431.  
  432. IF(KFORM.EQ.0)THEN
  433. C Formulation EFM1
  434. IF(KIMPL.NE.0)THEN
  435. WRITE(6,*)' Operateur NSKE'
  436. C Option %m1:8 incompatible avec les données
  437. MOTERR( 1: 8) = ' EFM1 '
  438. CALL ERREUR(803)
  439. RETURN
  440. ENDIF
  441.  
  442. CALL LEKTAB(MTABZ,'MATESI',MATRIK)
  443. IF(MATRIK.EQ.0)GO TO 90
  444. SEGACT MATRIK
  445. IMATRI=IRIGEL(4,1)
  446. SEGACT IMATRI
  447.  
  448. CALL LEKTAB(MTABZ,'XXPSOML',MCHELM)
  449. CALL LEKTAB(MTABZ,'XXVOLUM',MCHVOL)
  450. IF(IRET.EQ.0)RETURN
  451.  
  452. SEGACT MCHELM
  453. CALL LICHT(MCHVOL,IZVOL,TYPC,IGEOM)
  454.  
  455. CALL LEKTAB(MTAB1,'KIZG',KIZG)
  456. IF(KIZG.EQ.0)THEN
  457. CALL CRTABL(KIZG)
  458. CALL ECMM(KIZG,'SOUSTYPE','KIZG')
  459. CALL ECMO(MTAB1,'KIZG','TABLE ',KIZG)
  460. ENDIF
  461.  
  462. CALL LEKTAB(MTAB1,'KIZG1',KIZG1)
  463. IF(KIZG1.EQ.0)THEN
  464. CALL CRTABL(KIZG1)
  465. CALL ECMM(KIZG1,'SOUSTYPE','KIZG1')
  466. CALL ECMO(MTAB1,'KIZG1','TABLE ',KIZG1)
  467. ENDIF
  468.  
  469. CALL LEKTAB(MTAB1,'KIZD',KIZD)
  470. IF(KIZD.EQ.0)THEN
  471. WRITE(6,*)'Il n''y a pas de table KIZD '
  472. GO TO 90
  473. ENDIF
  474.  
  475. C*****************************************************************************
  476.  
  477.  
  478. TYPE=' '
  479. CALL ACMO(KIZG,NOMI,TYPE,IZG1)
  480. IF(TYPE.NE.'CHPOINT ')THEN
  481. NC=IZTU1.VPOCHA(/2)
  482. TYPE='SOMMET'
  483. CALL CRCHPT(TYPE,MELEM1,NC,IZG1)
  484. CALL ECMO(KIZG,NOMI,'CHPOINT ',IZG1)
  485. ENDIF
  486.  
  487. CALL LICHT(IZG1,IZGG1,TYPC,IGEOM)
  488.  
  489. IF(IGEOM.NE.MELEM1)THEN
  490. WRITE(6,*)' Opérateur NSKE'
  491. WRITE(6,*)'Incompatibilite de SPG entre 1eres inconnues '
  492. C Indice %m1:8 : L'objet %m9:16 n'a pas le bon support géométrique
  493. MOTERR(1: 8) = 'INC '//NOMI
  494. MOTERR(9:16) = 'CHPOINT '
  495. CALL ERREUR(788)
  496. RETURN
  497. ENDIF
  498.  
  499.  
  500. NOMI=LINCO.MOTS(2)
  501.  
  502. TYPE=' '
  503. CALL ACMO(KINC,NOMI,TYPE,MCHPOI)
  504. IF(TYPE.NE.'CHPOINT ')THEN
  505. WRITE(6,*)' L objet CHPOINT ',NOMI,' n existe pas dans la table'
  506. C Indice %m1:8 : ne contient pas un objet de type %m9:16
  507. MOTERR( 1: 8) = 'INC '//NOMI
  508. MOTERR( 9:16) = 'CHPOINT '
  509. CALL ERREUR(800)
  510. RETURN
  511. RETURN
  512. ELSE
  513. CALL LICHT(MCHPOI,IZTU2,TYPC,IGEOM0)
  514. IF(IGEOM0.NE.MELEM1)THEN
  515. WRITE(6,*)' Opérateur NSKE '
  516. WRITE(6,*)' Le SPG de l''inconnue 2 n''est pas convenable'
  517. C Indice %m1:8 : L'objet %m9:16 n'a pas le bon support géométrique
  518. MOTERR(1: 8) = 'INC '//NOMI
  519. MOTERR(9:16) = 'CHPOINT '
  520. CALL ERREUR(788)
  521. RETURN
  522. ENDIF
  523. ENDIF
  524.  
  525. TYPE=' '
  526. CALL ACMO(KIZG,NOMI,TYPE,IZG2)
  527. IF(TYPE.NE.'CHPOINT ')THEN
  528. NC=IZTU2.VPOCHA(/2)
  529. TYPE='SOMMET'
  530. CALL CRCHPT(TYPE,MELEM1,NC,IZG2)
  531. CALL ECMO(KIZG,NOMI,'CHPOINT ',IZG2)
  532. ENDIF
  533.  
  534. CALL LICHT(IZG2,IZGG2,TYPC,IGEOM)
  535.  
  536. IF(IGEOM.NE.MELEM1)THEN
  537. WRITE(6,*)' Opérateur NSKE'
  538. WRITE(6,*)'Incompatibilite de SPG entre 2emes inconnues'
  539. C Indice %m1:8 : L'objet %m9:16 n'a pas le bon support géométrique
  540. MOTERR(1: 8) = 'INC '//NOMI
  541. MOTERR(9:16) = 'CHPOINT '
  542. CALL ERREUR(788)
  543. RETURN
  544. ENDIF
  545.  
  546. TYPE=' '
  547. CALL ACMO(KIZG1,NOMI,TYPE,IZGD2)
  548. IF(TYPE.NE.'CHPOINT ')THEN
  549. NC=IZTU2.VPOCHA(/2)
  550. TYPE='SOMMET'
  551. CALL CRCHPT(TYPE,MELEM1,NC,IZGD2)
  552. CALL ECMO(KIZG1,NOMI,'CHPOINT ',IZGD2)
  553. ENDIF
  554.  
  555. CALL LICHT(IZGD2,IZGDD2,TYPC,IGEOM)
  556.  
  557. IF(IGEOM.NE.MELEM1)THEN
  558. WRITE(6,*)' Opérateur NSKE'
  559. WRITE(6,*)'Incompatibilite de SPG entre 2emes inconnues'
  560. C Indice %m1:8 : L'objet %m9:16 n'a pas le bon support géométrique
  561. MOTERR(1: 8) = 'INC '//NOMI
  562. MOTERR(9:16) = 'CHPOINT '
  563. CALL ERREUR(788)
  564. RETURN
  565. ENDIF
  566.  
  567. TYPE=' '
  568. CALL ACMO(KIZD,NOMI,TYPE,IZD2)
  569. IF(TYPE.NE.'CHPOINT ')THEN
  570. WRITE(6,*)' Il n y a pas de diagonale associee a l''inconnue ',
  571. &NOMI
  572. GO TO 90
  573. ENDIF
  574.  
  575. CALL LICHT(IZD2,IZDD2,TYPC,IGEOM)
  576.  
  577. NOMI=LINCO.MOTS(3)
  578.  
  579. TYPE=' '
  580. CALL ACMO(KINC,NOMI,TYPE,MCHPOI)
  581. IF(TYPE.NE.'CHPOINT ')THEN
  582. WRITE(6,*)' L objet CHPOINT ',NOMI,' n existe pas dans la table'
  583. C Indice %m1:8 : ne contient pas un objet de type %m9:16
  584. MOTERR( 1: 8) = 'INC '//NOMI
  585. MOTERR( 9:16) = 'CHPOINT '
  586. CALL ERREUR(800)
  587. RETURN
  588. ELSE
  589. CALL LICHT(MCHPOI,IZTU3,TYPC,IGEOM0)
  590. IF(IGEOM0.NE.MELEM1)THEN
  591. WRITE(6,*)' Opérateur NSKE '
  592. WRITE(6,*)' Le SPG de l''inconnue 3 n''est pas convenable'
  593. C Indice %m1:8 : L'objet %m9:16 n'a pas le bon support géométrique
  594. MOTERR(1: 8) = 'INC '//NOMI
  595. MOTERR(9:16) = 'CHPOINT '
  596. CALL ERREUR(788)
  597. RETURN
  598. ENDIF
  599. ENDIF
  600.  
  601. TYPE=' '
  602. CALL ACMO(KIZG,NOMI,TYPE,IZG3)
  603. IF(TYPE.NE.'CHPOINT ')THEN
  604. SEGACT IZTU3
  605. NC=IZTU3.VPOCHA(/2)
  606. TYPE='SOMMET'
  607. CALL CRCHPT(TYPE,MELEM1,NC,IZG3)
  608. CALL ECMO(KIZG,NOMI,'CHPOINT ',IZG3)
  609. ENDIF
  610.  
  611. CALL LICHT(IZG3,IZGG3,TYPC,IGEOM)
  612.  
  613. IF(IGEOM.NE.MELEM1)THEN
  614. WRITE(6,*)' Opérateur NSKE'
  615. WRITE(6,*)' Incompatibilite de SPG entre 3emes inconnues'
  616. C Indice %m1:8 : L'objet %m9:16 n'a pas le bon support géométrique
  617. MOTERR(1: 8) = 'INC '//NOMI
  618. MOTERR(9:16) = 'CHPOINT '
  619. CALL ERREUR(788)
  620. RETURN
  621. ENDIF
  622.  
  623. TYPE=' '
  624. CALL ACMO(KIZG1,NOMI,TYPE,IZGD3)
  625. IF(TYPE.NE.'CHPOINT ')THEN
  626. NC=IZTU3.VPOCHA(/2)
  627. TYPE='SOMMET'
  628. CALL CRCHPT(TYPE,MELEM1,NC,IZGD3)
  629. CALL ECMO(KIZG1,NOMI,'CHPOINT ',IZGD3)
  630. ENDIF
  631.  
  632. CALL LICHT(IZGD3,IZGDD3,TYPC,IGEOM)
  633.  
  634. IF(IGEOM.NE.MELEM1)THEN
  635. WRITE(6,*)' Opérateur NSKE'
  636. WRITE(6,*)' Incompatibilite de SPG entre 3emes inconnues'
  637. C Indice %m1:8 : L'objet %m9:16 n'a pas le bon support géométrique
  638. MOTERR(1: 8) = 'INC '//NOMI
  639. MOTERR(9:16) = 'CHPOINT '
  640. CALL ERREUR(788)
  641. RETURN
  642. ENDIF
  643.  
  644. TYPE=' '
  645. CALL ACMO(KIZD,NOMI,TYPE,IZD3)
  646. IF(TYPE.NE.'CHPOINT ')THEN
  647. WRITE(6,*)' Il n y a pas de diagonale associee a l''inconnue ',
  648. &NOMI
  649. GO TO 90
  650. ENDIF
  651.  
  652. CALL LICHT(IZD3,IZDD3,TYPC,IGEOM)
  653.  
  654. NPT=IZGG1.VPOCHA(/1)
  655.  
  656. SEGDES LINCO
  657.  
  658.  
  659. C######################################################################
  660.  
  661. SEGACT MELEME
  662. NBSOUS=LISOUS(/1)
  663. IF(NBSOUS.EQ.0)NBSOUS=1
  664. NUTOEL=0
  665. DT=1.D30
  666. IES=IDIM
  667.  
  668. DO 1 L=1,NBSOUS
  669. IPT1=MELEME
  670. IF(NBSOUS.NE.1)IPT1=LISOUS(L)
  671. SEGACT IPT1
  672. IZAFM=LIZAFM(L,1)
  673. IPM1=IZAFM
  674. SEGACT IZAFM
  675. IF(IAXI.NE.0)THEN
  676. IPM1=LIZAFM(L,2)
  677. SEGACT IPM1
  678. ENDIF
  679.  
  680. MCHAML=ICHAML(L)
  681. SEGACT MCHAML
  682. MELVAL=IELVAL(1)
  683. SEGACT MELVAL
  684.  
  685. IF(IMACHE(L).NE.IPT1)THEN
  686. write(*,*)'IPT1,IMACHE ',IPT1,IMACHE(L)
  687. goto 90
  688. ENDIF
  689.  
  690. NP =IPT1.NUM(/1)
  691. NBEL=IPT1.NUM(/2)
  692.  
  693. CALL ZCVIT(AM,IPM1.AM,VELCHE,
  694. & IPT1.NUM,NBEL,NUTOEL,NPT,IES,NP,IAXI,
  695. & IPADI.LECT,IKOMP,IARG,
  696. & MZRO.VPOCHA,IKR,
  697. & MZNU.VPOCHA,IKN,MZGB.VPOCHA,IKG,NELG,MZTN.VPOCHA,IKTN,
  698. & MZTR.VPOCHA,IKTR,MZNT.VPOCHA,
  699. & IZTU1.VPOCHA,UTRANS.VPOCHA,IZTU2.VPOCHA,IZTU3.VPOCHA,
  700. & IZGG1.VPOCHA,IZGG2.VPOCHA,IZGG3.VPOCHA,
  701. & IZGDD2.VPOCHA,IZGDD3.VPOCHA,
  702. & IZDD2.VPOCHA,IZDD3.VPOCHA,
  703. & IZVOL.VPOCHA,IZTCO.VPOCHA,NELZ,IDCEN,IMODEL,
  704. & DT,DTT1,DTT2,NUEL,DIAEL,ECHLM)
  705.  
  706. SEGDES IZAFM,IPT1,MCHAML,MELVAL
  707. NUTOEL=NUTOEL+NBEL
  708.  
  709. 1 CONTINUE
  710. SEGDES MELEME
  711. SEGDES MATRIK,MCHELM
  712.  
  713. SEGDES MZTN
  714. SEGDES IZTU1,IZTU2,IZTU3
  715. SEGDES IZGG1,IZGG2,IZGG3
  716. SEGDES IZGDD2,IZGDD3
  717. SEGDES IZDD2,IZDD3
  718. SEGDES IZVOL,IZTCO
  719.  
  720. CALL LEKTAB(MTAB1,'PASDETPS',MTABT)
  721. IF(MTABT.EQ.0)THEN
  722. CALL CRTABL(MTABT)
  723. CALL ECMM(MTABT,'SOUSTYPE','PASDETPS')
  724. CALL ECMO(MTAB1,'PASDETPS','TABLE ',MTABT)
  725. DTP=1.D30+DT
  726. IPAT=1
  727. CALL ECME(MTABT,'NUPASDT',IPAT)
  728. ELSE
  729. CALL ACMF(MTABT,'DELTAT',DTP)
  730. ENDIF
  731.  
  732. IF(DT.LT.DTP)THEN
  733. CALL ECMF(MTABT,'DELTAT',DT)
  734. CALL ECMM(MTABT,'OPER','NSKE')
  735. CALL ACMM(MTABX,'NOMZONE',NOMZ)
  736. CALL ECMM(MTABT,'ZONE',NOMZ)
  737. CALL ECMF(MTABT,'DTCONV',DTT1)
  738. CALL ECMF(MTABT,'DTDIFU',DTT2)
  739. CALL ECMF(MTABT,'DIAEL',DIAEL)
  740. CALL ECME(MTABT,'NUEL',NUEL)
  741. ENDIF
  742. C*************************************************************************
  743. ELSE IF(KFORM.EQ.1)THEN
  744. C CAS FORMULATION EF
  745.  
  746. IF(KIMPL.EQ.0)THEN
  747. C Option %m1:8 incompatible avec les données
  748. MOTERR( 1: 8) = ' EF '
  749. CALL ERREUR(803)
  750. RETURN
  751. ENDIF
  752.  
  753. DT=0.D0
  754. IF(IDCEN.EQ.4)THEN
  755. TYPE=' '
  756. CALL ACMO(MTABT,'DELTAT',TYPE,IENT)
  757. IF(TYPE.NE.'ENTIER')THEN
  758. WRITE(6,*)' Opérateur NS '
  759. WRITE(6,*)' On reclame un pas de temps'
  760. C Option %m1:8 incompatible avec les données
  761. MOTERR( 1: 8) = ' EF '
  762. CALL ERREUR(803)
  763. RETURN
  764. ELSE
  765. CALL ACMF(MTABT,'DELTAT',DT)
  766. ENDIF
  767. ENDIF
  768.  
  769. IHV=1
  770. NUTOEL=0
  771. NINKO=VITESS.VPOCHA(/2)
  772. SEGACT MELEME
  773. NBSOUS=LISOUS(/1)
  774. IF(NBSOUS.EQ.0)NBSOUS=1
  775.  
  776. TYPE=' '
  777. CALL ACMO(MTABX,'MATELM',TYPE,MATRIK)
  778. IF(TYPE.EQ.'MATRIK'.AND.KMACO.NE.0)THEN
  779. SEGACT MATRIK
  780. NMATRI=IRIGEL(/2)
  781. MELEME=IRIGEL(1,1)
  782. SEGACT MELEME
  783. IMATRI=IRIGEL(4,1)
  784. SEGACT IMATRI
  785. NBME=LIZAFM(/2)
  786. NINKO=NBME
  787. MELEMS=KSPGP
  788.  
  789.  
  790. ELSE
  791.  
  792. NRIGE=7
  793. NKID =9
  794. NKMT =7
  795. NMATRI=1
  796. SEGINI MATRIK
  797. IRIGEL(1,1)=MELEME
  798. IRIGEL(2,1)=MELEME
  799.  
  800. IRIGEL(7,1)=2
  801. NBOP=0
  802. NBME=NINKO
  803. NBELC=0
  804. SEGINI IMATRI,IMATRS
  805. IRIGEL(4,1)=IMATRI
  806. KSPGP=MELEMS
  807. KSPGD=MELEMS
  808.  
  809. IF(NBME.EQ.1)THEN
  810. LISPRI(1)=NOMI(1:4)//' '
  811. LISDUA(1)=NOMA(1:4)//' '
  812. ELSE
  813. DO 102 I=1,NBME
  814. WRITE(NOM,FMT='(I1,A7)')I,NOMI(1:7)
  815. LISPRI(I)=NOM(1:4)//' '
  816. WRITE(NOM,FMT='(I1,A7)')I,NOMA(1:7)
  817. LISDUA(I)=NOM(1:4)//' '
  818. 102 CONTINUE
  819. ENDIF
  820.  
  821. NUTOEL=0
  822. DO 101 L=1,NBSOUS
  823. IPT1=MELEME
  824. IF(NBSOUS.NE.1)IPT1=LISOUS(L)
  825. SEGACT IPT1
  826. WRITE(NOM0,FMT='(A8)')NOMS(IPT1.ITYPEL)//' '
  827. CALL KALPBG(NOM0,'FONFORM ',IZFFM)
  828. SEGACT IZFFM*MOD
  829. IZHR=KZHR(1)
  830. SEGACT IZHR*MOD
  831. NES=GR(/1)
  832. NPG=GR(/3)
  833.  
  834. NP = IPT1.NUM(/1)
  835. MP = NP
  836. NBEL=IPT1.NUM(/2)
  837. SEGINI IPM1,IPS1
  838. LIZAFM(L,1)=IPM1
  839. LIZAFS(L,1)=IPS1
  840. IPM2=IPM1
  841. IPM3=IPM1
  842. IPS2=IPS1
  843. IPS3=IPS1
  844. IF(NBME.GE.2)THEN
  845. SEGINI IPM2,IPS2
  846. LIZAFM(L,2)=IPM2
  847. LIZAFS(L,2)=IPS2
  848. ENDIF
  849. IF(NBME.GE.3)THEN
  850. SEGINI IPM3,IPS3
  851. LIZAFM(L,3)=IPM3
  852. LIZAFS(L,3)=IPS3
  853. ENDIF
  854.  
  855.  
  856. KITT=2
  857. KJTT=IKN
  858. NPT=UTRANS.VPOCHA(/1)
  859. NPTG=IZTU1.VPOCHA(/1)
  860.  
  861. CALL ZCONV(FN,GR,PG,XYZ,HR,PGSQ,RPG,
  862. & NES,IDIM,NP,NPG,IAXI,AIMPL,IKOMP,
  863. & RO,1,UTRANS.VPOCHA,IKW,NPT,IPADU.LECT,MZNU.VPOCHA,IKN,
  864. & IPT1.NUM,NBEL,NUTOEL,XCOOR,
  865. & IPM1.AM,IPM2.AM,IPM3.AM,
  866. & IPS1.AM,IPS2.AM,IPS3.AM,
  867. & NINKO,IDCEN,DT,
  868. & IZTU1.VPOCHA,0,NPTG,IPADI.LECT,IZTCO.VPOCHA,NELZ)
  869.  
  870. CALL XLAPL(FN,GR,PG,XYZ,HR,PGSQ,RPG,NES,IDIM,NP,NPG,IAXI,
  871. & MZNU.VPOCHA,MZNU.VPOCHA,MZNU.VPOCHA,KITT,KJTT,IKN,
  872. & IPT1.NUM,NBEL,NUTOEL,XCOOR,AIMPL,IKOMP,
  873. & IPM1.AM,IPM2.AM,IPM3.AM,
  874. & IPS1.AM,IPS2.AM,IPS3.AM,
  875. & NINKO,IHV,IARG,MZNU.VPOCHA)
  876.  
  877. NUTOEL=NUTOEL+NBEL
  878. 101 CONTINUE
  879.  
  880. ENDIF
  881.  
  882.  
  883. IF(KIMPL.EQ.2.OR.KIMPL.EQ.0.OR.IARG.GT.1)THEN
  884. NAT=2
  885. NSOUPO=1
  886. SEGACT MELEMS
  887. N=MELEMS.NUM(/2)
  888. NC=NINKO
  889. SEGINI MCHPO1,MSOUP1,MPOVA1
  890. MCHPO1.IFOPOI=IFOUR
  891. MCHPO1.MOCHDE=TITREE
  892. MCHPO1.MTYPOI='SMBR'
  893. MCHPO1.JATTRI(1)=2
  894. MCHPO1.IPCHP(1)=MSOUP1
  895. DO 177 N=1,NINKO
  896. MSOUP1.NOCOMP(N)=LISDUA(N)
  897. 177 CONTINUE
  898. MSOUP1.IGEOC=MELEMS
  899. MSOUP1.IPOVAL=MPOVA1
  900. ENDIF
  901.  
  902. IF(IARG.EQ.3.OR.IARG.EQ.5)THEN
  903. CALL KRIPAD(MELEMQ,IPADQ)
  904. IF(IARG.EQ.3)THEN
  905. IKAS=2
  906. ELSEIF(IARG.EQ.5)THEN
  907. IKAS=3
  908. ENDIF
  909.  
  910.  
  911.  
  912. IF(MACRO.NE.0.AND.KPRE.EQ.2)MELEMI=MELEME
  913. SEGACT MELEMI
  914. NBSOUS=MELEMI.LISOUS(/1)
  915. IF(NBSOUS.EQ.0)NBSOUS=1
  916.  
  917. NUTOEL=0
  918. DO 1102 L=1,NBSOUS
  919. IPT1=MELEMI
  920. IF(NBSOUS.NE.1)IPT1=MELEMI.LISOUS(L)
  921. SEGACT IPT1
  922.  
  923. IF(MQUAD.NE.0)THEN
  924. IF(KPRE.EQ.2)WRITE(NOM0,FMT='(A8)')NOMS(IPT1.ITYPEL)//'PRP0'
  925. IF(KPRE.EQ.3)WRITE(NOM0,FMT='(A8)')NOMS(IPT1.ITYPEL)//'PRP0'
  926. IF(KPRE.EQ.4)WRITE(NOM0,FMT='(A8)')NOMS(IPT1.ITYPEL)//'PRP1'
  927. ELSEIF(MACRO.NE.0)THEN
  928. IF(KPRE.EQ.2)WRITE(NOM0,FMT='(A8)')NOMS(IPT1.ITYPEL)//' '
  929. IF(KPRE.EQ.3)WRITE(NOM0,FMT='(A8)')NOMS(IPT1.ITYPEL)//'MCP0'
  930. IF(KPRE.EQ.4)WRITE(NOM0,FMT='(A8)')NOMS(IPT1.ITYPEL)//'MCP1'
  931. ELSE
  932. IF(KPRE.EQ.2)WRITE(NOM0,FMT='(A8)')NOMS(IPT1.ITYPEL)//' '
  933. ENDIF
  934. CALL KALPBG(NOM0,'FONFORM ',IZFFM)
  935.  
  936.  
  937. SEGACT IZFFM*MOD
  938. IZHR=KZHR(1)
  939. SEGACT IZHR*MOD
  940. NES=GR(/1)
  941. NPG=GR(/3)
  942. IZF1=KTP(1)
  943. SEGACT IZF1*MOD
  944. MP1=IZF1.FN(/1)
  945. NP = IPT1.NUM(/1)
  946. MP = NP
  947. NBEL=IPT1.NUM(/2)
  948. NELG=MZGB.VPOCHA(/1)
  949. NPT =MPOVA1.VPOCHA(/1)
  950.  
  951. SEGACT MELEP1
  952.  
  953.  
  954. CALL XSOUR(FN,IZF1.FN,GR,PG,XYZ,HR,PGSQ,RPG,
  955. & NES,IDIM,NP,MP1,NPG,IAXI,IPT1.NUM,IKAS,KPRE,
  956. & MZGB.VPOCHA,IKG,NELG,IPADQ.LECT,MELEP1.NUM,
  957. & MZTN.VPOCHA,IKTN,MZTR.VPOCHA,IKTR,IPADS.LECT,
  958. & NBEL,NUTOEL,XCOOR,MPOVA1.VPOCHA,NPT)
  959.  
  960. NUTOEL=NUTOEL+NBEL
  961. 1102 CONTINUE
  962.  
  963. ENDIF
  964.  
  965. IF(KIMPL.EQ.2.OR.KIMPL.EQ.0)THEN
  966.  
  967. NBSOUS=LISOUS(/1)
  968. IF(NBSOUS.EQ.0)NBSOUS=1
  969.  
  970. DO 1533 L=1,NBSOUS
  971. IPT1=MELEME
  972. IF(NBSOUS.NE.1)IPT1=LISOUS(L)
  973. SEGACT IPT1
  974. NP=IPT1.NUM(/1)
  975. NBEL=IPT1.NUM(/2)
  976. DO 2 N=1,NINKO
  977. IPMS=LIZAFS(L,N)
  978. SEGACT IPMS
  979. DO 12 K=1,NBEL
  980. DO 13 J=1,NP
  981. UU=0.D0
  982. IU=IPADS.LECT(IPT1.NUM(J,K))
  983. DO 14 I=1,NP
  984. IK=IPADI.LECT(IPT1.NUM(I,K))
  985. UU=UU+IPMS.AM(K,I,J)*IZTU1.VPOCHA(IK,N)
  986. 14 CONTINUE
  987. MPOVA1.VPOCHA(IU,N)=MPOVA1.VPOCHA(IU,N)+UU
  988. 13 CONTINUE
  989. 12 CONTINUE
  990.  
  991. 2 CONTINUE
  992.  
  993. 1533 CONTINUE
  994. ENDIF
  995.  
  996. SEGDES IPM1,IPM2,IPM3
  997. IPS=IPS1
  998. SEGSUP IPS1
  999. IF(IPS2.NE.IPS)SEGSUP IPS2
  1000. IF(IPS3.NE.IPS)SEGSUP IPS3
  1001. SEGDES IZTCO
  1002.  
  1003. IF(KIMPL.EQ.2.OR.KIMPL.EQ.0.OR.IARG.GT.1)THEN
  1004.  
  1005. TYPE=' '
  1006. CALL ACMO(MTAB1,'SMBR',TYPE,MCHPO2)
  1007. IF(TYPE.NE.'CHPOINT')THEN
  1008. CALL ECMO(MTAB1,'SMBR','CHPOINT',MCHPO1)
  1009. ELSE
  1010. CALL ECROBJ('CHPOINT',MCHPO2)
  1011. CALL ECROBJ('CHPOINT',MCHPO1)
  1012. C? CALL OPERAD
  1013. CALL PRFUSE
  1014. CALL LIROBJ('CHPOINT',MCHPOI,1,IRET)
  1015. CALL ECMO(MTAB1,'SMBR','CHPOINT',MCHPOI)
  1016. ENDIF
  1017.  
  1018. ENDIF
  1019.  
  1020. SEGDES IMATRI
  1021. SEGDES MELEME,MATRIK
  1022. IF(IKN.EQ.0)THEN
  1023. SEGDES MZNU
  1024. ENDIF
  1025. CALL ECMO(MTABX,'MATELM','MATRIK',MATRIK)
  1026.  
  1027. C*************************************************************************
  1028. ELSE IF(KFORM.EQ.2)THEN
  1029. C CAS FORMULATION VF
  1030. WRITE(6,*)' FORMULATION VF NON DISPONIBLE '
  1031. C Option %m1:8 incompatible avec les données
  1032. MOTERR( 1: 8) = ' EF '
  1033. CALL ERREUR(803)
  1034. RETURN
  1035. ENDIF
  1036. C*************************************************************************
  1037.  
  1038.  
  1039.  
  1040. SEGSUP IPADI
  1041. IPAS=1
  1042. C write(6,*)' FIN NSKE '
  1043. RETURN
  1044.  
  1045. 90 CONTINUE
  1046. WRITE(6,*)' Interuption anormale de NSKE'
  1047. C Option %m1:8 incompatible avec les données
  1048. MOTERR( 1: 8) = ' EF '
  1049. CALL ERREUR(803)
  1050. RETURN
  1051. 1002 FORMAT(10(1X,1PE11.4))
  1052. END
  1053.  
  1054.  
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060.  
  1061.  
  1062.  
  1063.  
  1064.  
  1065.  
  1066.  
  1067.  
  1068.  
  1069.  
  1070.  
  1071.  
  1072.  
  1073.  
  1074.  
  1075.  

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