Télécharger clim11.eso

Retour à la liste

Numérotation des lignes :

clim11
  1. C CLIM11 SOURCE PV 20/09/26 21:16:09 10724
  2. SUBROUTINE CLIM11(IJAC)
  3. C************************************************************************
  4. C
  5. C PROJET : CASTEM 2000
  6. C
  7. C NOM : CLIM11
  8. C
  9. C DESCRIPTION : Subroutine appellée par CLIM1
  10. C
  11. C Modelisation 2D/3D des equations d'Euler
  12. C Calcul de conditions aux bords
  13. C Inlet; Riemann invariants
  14. C
  15. C LANGAGE : FORTRAN 77 + ESOPE 2000 (avec estensions CISI)
  16. C
  17. C AUTEUR : A. BECCANTINI, DRN/DMT/SEMT/LTMF
  18. C
  19. C************************************************************************
  20. C
  21. C APPELES (Calcul) :
  22. C
  23. C************************************************************************
  24. C
  25. C
  26. C************************************************************************
  27. C
  28. C HISTORIQUE (Anomalies et modifications éventuelles)
  29. C
  30. C HISTORIQUE :
  31. C
  32. C************************************************************************
  33. C
  34. IMPLICIT INTEGER(I-N)
  35.  
  36. -INC PPARAM
  37. -INC CCOPTIO
  38. -INC SMLMOTS
  39. -INC SMELEME
  40. -INC SMLENTI
  41. POINTEUR MLMVIT.MLMOTS
  42. C
  43. C**** Variables de COOPTIO
  44. C
  45. C INTEGER IPLLB, IERPER, IERMAX, IERR, INTERR
  46. C & ,IOTER, IOLEC, IOIMP, IOCAR, IOACQ
  47. C & ,IOPER, IOSGB, IOGRA, IOSAU, IORES
  48. C & ,IECHO, IIMPI, IOSPI
  49. C & ,IDIM, IFICLE, IPREFI
  50. C & ,MCOORD
  51. C & ,IFOMOD, NIFOUR, IFOUR, NSDPGE, IONIVE
  52. C & ,NGMAXY, IZROSF, ISOTYP, IOSCR,LTEXLU
  53. C & ,NORINC,NORVAL,NORIND,NORVAD
  54. C & ,NUCROU, IPSAUV
  55. C
  56. INTEGER IJAC, IJACO
  57. & ,IDOMA, IDBOR, IRET, MELEMC, MELEFE, MELEMF, ICHPVO, INORM
  58. & ,ICHPSU, MELECB, NBCOMP, INDIC, MELEFC, MELRES
  59. & ,JGN, JGM, NBELEM, NBNN, NBSOUS, NBREF, NGF, NLC
  60. & ,I1, ICEN, N1, ILIINP
  61. & ,ILIINC, IROC, IVITC, IPC, IGAMC, ICHLIM, NBOPT, ILIM
  62. & ,ICHRES, ICHRLI
  63. & ,NKID,NKMT,NMATRI,NRIGE,MMODEL,INEFMD
  64. PARAMETER (NBOPT=9)
  65. CHARACTER*8 LOPT(NBOPT)
  66. CHARACTER*4 MOT
  67. CHARACTER*8 TYPE
  68. C
  69. DATA LOPT/'INRI ','OUTRI ','INSS ','OUTSS ','OUTP ',
  70. & 'INSU ','INJE ','INJELM ','INSO '/
  71. C
  72. C*******************************
  73. C**** La table domaine *********
  74. C*******************************
  75. C
  76. CALL LIROBJ('MMODEL ',MMODEL,1,IRET)
  77. CALL ACTOBJ('MMODEL ',MMODEL,1)
  78. IF(IERR.NE.0)GOTO 9999
  79. CALL LEKMOD(MMODEL,IDOMA,INEFMD)
  80. C INEFMD inutilisé
  81. IF(IERR .NE. 0)GOTO 9999
  82. C
  83. CALL LEKTAB(IDOMA,'CENTRE',MELEMC)
  84. IF(IERR .NE. 0) GOTO 9999
  85. C
  86. CALL LEKTAB(IDOMA,'FACE',MELEMF)
  87. IF(IERR .NE. 0) GOTO 9999
  88. C
  89. C**** Lecture du CHPOINT contenant les volumes
  90. C
  91. CALL LEKTAB(IDOMA,'XXVOLUM',ICHPVO)
  92. IF(IERR .NE. 0) GOTO 9999
  93. INDIC = 1
  94. NBCOMP = 1
  95. MOT = 'SCAL'
  96. CALL QUEPOI(ICHPVO, MELEMC, INDIC, NBCOMP, MOT)
  97. IF(IERR .NE. 0) GOTO 9999
  98. C
  99. CALL LEKTAB(IDOMA,'XXSURFAC',ICHPSU)
  100. IF(IERR .NE. 0) GOTO 9999
  101. INDIC = 1
  102. NBCOMP = 1
  103. MOT = 'SCAL'
  104. CALL QUEPOI(ICHPSU, MELEMF, INDIC, NBCOMP, MOT)
  105. IF(IERR .NE. 0) GOTO 9999
  106. C
  107. C**** Les normales aux faces
  108. C
  109. IF(IDIM .EQ. 2)THEN
  110. C Que les normales
  111. CALL LEKTAB(IDOMA,'XXNORMAF',INORM)
  112. IF(IERR .NE. 0) GOTO 9999
  113. JGN = 4
  114. JGM = 2
  115. SEGINI MLMVIT
  116. MLMVIT.MOTS(1) = 'UX '
  117. MLMVIT.MOTS(2) = 'UY '
  118. CALL QUEPO1(INORM, MELEMF, MLMVIT)
  119. SEGSUP MLMVIT
  120. IF(IERR .NE. 0) GOTO 9999
  121. ELSE
  122. C
  123. C**** Les normales ('MX ', ...)
  124. C Les tangentes ('RX ', ...)
  125. C
  126. TYPE = ' '
  127. CALL ACMO(IDOMA,'MATROT',TYPE,INORM)
  128. IF (TYPE .NE. 'CHPOINT ') THEN
  129. CALL MATRAN(IDOMA,INORM)
  130. IF(IERR .NE. 0) GOTO 9999
  131. ENDIF
  132. JGN = 4
  133. JGM = 9
  134. SEGINI MLMVIT
  135. MLMVIT.MOTS(1) = 'MX '
  136. MLMVIT.MOTS(2) = 'MY '
  137. MLMVIT.MOTS(3) = 'MZ '
  138. MLMVIT.MOTS(4) = 'RX '
  139. MLMVIT.MOTS(5) = 'RY '
  140. MLMVIT.MOTS(6) = 'RZ '
  141. MLMVIT.MOTS(7) = 'UX '
  142. MLMVIT.MOTS(8) = 'UY '
  143. MLMVIT.MOTS(9) = 'UZ '
  144. CALL QUEPO1(INORM, MELEMF, MLMVIT)
  145. SEGSUP MLMVIT
  146. ENDIF
  147. C
  148. C**********************************
  149. C**** La table domaine du bord ****
  150. C**********************************
  151. C
  152. CALL LIROBJ('MMODEL ',MMODEL,1,IRET)
  153. CALL ACTOBJ('MMODEL ',MMODEL,1)
  154. IF(IERR.NE.0)GOTO 9999
  155. CALL LEKMOD(MMODEL,IDBOR,INEFMD)
  156. C INEFMD inutilisé
  157. IF(IERR .NE. 0)GOTO 9999
  158. C
  159. CALL LEKTAB(IDBOR,'CENTRE',MELECB)
  160. IF(IERR .NE. 0) GOTO 9999
  161. C
  162. TYPE = ' '
  163. CALL ACMO(IDBOR,'FACCEN',TYPE,MELEFC)
  164. IF (TYPE.NE.'MAILLAGE') THEN
  165. C
  166. CALL LEKTAB(IDOMA,'FACEL',MELEFE)
  167. IF(IERR .NE. 0) GOTO 9999
  168. C
  169. C******* On cree la connectivité face-centre
  170. C
  171. IPT1=MELECB
  172. IPT2=MELEFE
  173. SEGACT IPT1
  174. SEGACT IPT2
  175. CALL KRIPAD(IPT1,MLENTI)
  176. C SEGINI MLENTI
  177. NBELEM=IPT1.NUM(/2)
  178. NBNN=2
  179. NBSOUS=0
  180. NBREF=0
  181. SEGINI IPT3
  182. IPT3.ITYPEL=2
  183. N1=IPT2.NUM(/2)
  184. ICEN=0
  185. DO I1=1,N1,1
  186. NGF=IPT2.NUM(2,I1)
  187. NLC=MLENTI.LECT(NGF)
  188. IF(NLC.NE.0)THEN
  189. ICEN=ICEN+1
  190. IPT3.NUM(1,ICEN)=NGF
  191. IPT3.NUM(2,ICEN)=IPT2.NUM(1,I1)
  192. IF(IPT2.NUM(1,I1) .NE. IPT2.NUM(3,I1))THEN
  193. C Interior point
  194. C Donné incompatible
  195. WRITE(IOIMP,*) 'Internal boundary condition!!!'
  196. CALL ERREUR(21)
  197. ENDIF
  198. ENDIF
  199. ENDDO
  200. C
  201. IF(ICEN .NE. NBELEM)THEN
  202. CALL ERREUR(5)
  203. ENDIF
  204. SEGDES IPT1
  205. SEGDES IPT2
  206. SEGDES IPT3
  207. SEGSUP MLENTI
  208. C
  209. MELEFC=IPT3
  210. CALL ECMO(IDBOR,'FACCEN','MAILLAGE',IPT3)
  211. ENDIF
  212. C
  213. C**** Le SPG du residu
  214. C
  215. IPT1=MELEFC
  216. SEGACT IPT1
  217. NBELEM=IPT1.NUM(/2)
  218. NBNN=1
  219. NBSOUS=0
  220. NBREF=0
  221. SEGINI IPT2
  222. IPT2.ITYPEL=1
  223. DO I1=1,NBELEM,1
  224. IPT2.NUM(1,I1)=IPT1.NUM(2,I1)
  225. ENDDO
  226. MELRES=IPT2
  227. SEGDES IPT1
  228. SEGDES IPT2
  229. C
  230. C**** Noms de variables conservatives
  231. C
  232. TYPE='LISTMOTS'
  233. CALL LIROBJ(TYPE,ILIINC,1,IRET)
  234. IF(IERR .NE. 0) GOTO 9999
  235. MLMOTS = ILIINC
  236. SEGACT MLMOTS
  237. NBCOMP = MLMOTS.MOTS(/2)
  238. SEGDES MLMOTS
  239. IF(NBCOMP .NE. (IDIM+2))THEN
  240. MOTERR(1:40) = 'LISTINCO = ???'
  241. WRITE(IOIMP,*) MOTERR
  242. C
  243. C******* Message d'erreur standard
  244. C 21 2
  245. C Données incompatibles
  246. C
  247. CALL ERREUR(21)
  248. GOTO 9999
  249. ENDIF
  250. C
  251. C**** Noms de variables primitives
  252. C
  253. TYPE='LISTMOTS'
  254. CALL LIROBJ(TYPE,ILIINP,1,IRET)
  255. IF(IERR .NE. 0) GOTO 9999
  256. MLMOTS = ILIINP
  257. SEGACT MLMOTS
  258. NBCOMP = MLMOTS.MOTS(/2)
  259. SEGDES MLMOTS
  260. IF(NBCOMP .NE. (IDIM+2))THEN
  261. MOTERR(1:40) = 'LISTPRIM = ???'
  262. WRITE(IOIMP,*) MOTERR
  263. C
  264. C******* Message d'erreur standard
  265. C 21 2
  266. C Données incompatibles
  267. C
  268. CALL ERREUR(21)
  269. GOTO 9999
  270. ENDIF
  271. C
  272. C**** Lecture du CHPOINT RN
  273. C
  274. TYPE='CHPOINT '
  275. CALL LIROBJ(TYPE,IROC,1,IRET)
  276. CALL ACTOBJ(TYPE,IROC,1)
  277. IF (IERR.NE.0) GOTO 9999
  278. C
  279. C**** Control du CHPOINT: QUEPOI
  280. C
  281. C INDIC = 1 -> on impose le pointeur du support geometrique
  282. C NBCOMP > 0 -> nombre des composantes
  283. C
  284. INDIC = 1
  285. NBCOMP = 1
  286. MOT = 'SCAL'
  287. CALL QUEPOI(IROC, MELEMC, INDIC, NBCOMP, MOT)
  288. IF(IERR .NE. 0)GOTO 9999
  289. C
  290. C**** Lecture du CHPOINT VITC
  291. C
  292. CALL LIROBJ('CHPOINT ',IVITC,1,IRET)
  293. CALL ACTOBJ('CHPOINT ',IVITC,1)
  294. IF (IERR.NE.0) GOTO 9999
  295. C
  296. C**** Control du CHPOINT
  297. C
  298. JGN = 4
  299. JGM = IDIM
  300. SEGINI MLMVIT
  301. MLMVIT.MOTS(1) = 'UX '
  302. MLMVIT.MOTS(2) = 'UY '
  303. IF(IDIM .EQ. 3) MLMVIT.MOTS(3) = 'UZ '
  304. CALL QUEPO1(IVITC, MELEMC, MLMVIT)
  305. SEGSUP MLMVIT
  306. IF(IERR .NE. 0)GOTO 9999
  307. C
  308. C**** Lecture du CHPOINT PC
  309. C
  310. CALL LIROBJ('CHPOINT ',IPC,1,IRET)
  311. CALL ACTOBJ('CHPOINT ',IPC,1)
  312. IF (IERR.NE.0) GOTO 9999
  313. C
  314. C**** Control du CHPOINT
  315. C
  316. INDIC = 1
  317. NBCOMP = 1
  318. MOT = 'SCAL'
  319. CALL QUEPOI(IPC, MELEMC, INDIC, NBCOMP, MOT)
  320. IF(IERR .NE. 0)GOTO 9999
  321. C
  322. C**** Lecture du CHPOINT GAMC
  323. C
  324. CALL LIROBJ('CHPOINT ',IGAMC,1,IRET)
  325. CALL ACTOBJ('CHPOINT ',IGAMC,1)
  326. IF (IERR.NE.0) GOTO 9999
  327. C
  328. C**** Control du CHPOINT
  329. C
  330. INDIC = 1
  331. NBCOMP = 1
  332. MOT = 'SCAL'
  333. CALL QUEPOI(IGAMC, MELEMC, INDIC, NBCOMP, MOT)
  334. IF(IERR .NE. 0)GOTO 9999
  335. C
  336. C**** CHPOINT condition limite
  337. C
  338. CALL LIROBJ('CHPOINT',ICHLIM,1,IRET)
  339. CALL ACTOBJ('CHPOINT',ICHLIM,1)
  340. IF (IERR.NE.0) GOTO 9999
  341. C
  342. C**** Resultats
  343. C
  344. IF(IJAC .EQ.0)THEN
  345. TYPE=' '
  346. CALL KRCHP1(TYPE,MELRES,ICHRES,ILIINC)
  347. C
  348. TYPE=' '
  349. CALL KRCHP1(TYPE,MELECB,ICHRLI,ILIINP)
  350. ELSE
  351. ICHRES=0
  352. ICHRLI=0
  353. ENDIF
  354. C
  355. C**** TYPE DE CONDITION LIMITE
  356. C
  357. CALL LIRMOT(LOPT,NBOPT,ILIM,1)
  358. IF(IERR .NE. 0) GOTO 9999
  359. IF(ILIM .EQ. 1)THEN
  360. C
  361. C******** 'INRI '
  362. C
  363. JGN = 4
  364. JGM = IDIM+2
  365. SEGINI MLMVIT
  366. MLMVIT.MOTS(1) = 'RN '
  367. MLMVIT.MOTS(2) = 'UX '
  368. MLMVIT.MOTS(3) = 'UY '
  369. IF(IDIM .EQ. 3) MLMVIT.MOTS(4) = 'UZ '
  370. MLMVIT.MOTS(2+IDIM)='PN '
  371. CALL QUEPO1(ICHLIM, MELECB, MLMVIT)
  372. SEGSUP MLMVIT
  373. IF (IERR.NE.0) GOTO 9999
  374. C
  375. IF(IJAC.EQ.0)THEN
  376. CALL CLI111(MELEMF,MELEMC,MELECB,MELEFC,INORM,ICHPVO,ICHPSU,
  377. & IROC,IVITC,IPC,IGAMC,ICHLIM,ICHRES,ICHRLI)
  378. IF(IERR.NE.0)GOTO 9999
  379. ELSE
  380. IF(IDIM.EQ.2)THEN
  381. CALL CLI112(MELEMF,MELEMC,MELECB,MELEFC,MELRES,INORM
  382. $ ,ICHPVO,ICHPSU,IROC,IVITC,IPC,IGAMC,ICHLIM,ILIINC
  383. $ ,ILIINP,IJAC,IJACO)
  384. ELSE
  385. CALL CLI113(MELEMF,MELEMC,MELECB,MELEFC,MELRES,INORM
  386. $ ,ICHPVO,ICHPSU,IROC,IVITC,IPC,IGAMC,ICHLIM,ILIINC
  387. $ ,ILIINP,IJAC,IJACO)
  388. ENDIF
  389. IF(IERR.NE.0)GOTO 9999
  390. ENDIF
  391. ELSEIF(ILIM .EQ. 2)THEN
  392. C
  393. C******** 'OUTRI '
  394. C
  395. JGN = 4
  396. JGM = IDIM+2
  397. SEGINI MLMVIT
  398. MLMVIT.MOTS(1) = 'RN '
  399. MLMVIT.MOTS(2) = 'UX '
  400. MLMVIT.MOTS(3) = 'UY '
  401. IF(IDIM .EQ. 3) MLMVIT.MOTS(4) = 'UZ '
  402. MLMVIT.MOTS(2+IDIM)='PN '
  403. CALL QUEPO1(ICHLIM, MELECB, MLMVIT)
  404. SEGSUP MLMVIT
  405. IF (IERR.NE.0) GOTO 9999
  406. C
  407. IF(IJAC.EQ.0)THEN
  408. CALL CLI121(MELEMF,MELEMC,MELECB,MELEFC,INORM,ICHPVO,ICHPSU,
  409. & IROC,IVITC,IPC,IGAMC,ICHLIM,ICHRES,ICHRLI)
  410. IF(IERR.NE.0)GOTO 9999
  411. ELSE
  412. IF(IDIM.EQ.2)THEN
  413. CALL CLI122(MELEMF,MELEMC,MELECB,MELEFC,MELRES,INORM
  414. $ ,ICHPVO,ICHPSU,IROC,IVITC,IPC,IGAMC,ICHLIM,ILIINC
  415. $ ,ILIINP,IJAC,IJACO)
  416. ELSE
  417. CALL CLI123(MELEMF,MELEMC,MELECB,MELEFC,MELRES,INORM
  418. $ ,ICHPVO,ICHPSU,IROC,IVITC,IPC,IGAMC,ICHLIM,ILIINC
  419. $ ,ILIINP,IJAC,IJACO)
  420. ENDIF
  421. IF(IERR.NE.0)GOTO 9999
  422. ENDIF
  423. ELSEIF(ILIM .EQ. 3)THEN
  424. C
  425. C******** 'INSS '
  426. C
  427. JGN = 4
  428. JGM = IDIM+2
  429. SEGINI MLMVIT
  430. MLMVIT.MOTS(1) = 'RN '
  431. MLMVIT.MOTS(2) = 'UX '
  432. MLMVIT.MOTS(3) = 'UY '
  433. IF(IDIM .EQ. 3) MLMVIT.MOTS(4) = 'UZ '
  434. MLMVIT.MOTS(2+IDIM)='PN '
  435. CALL QUEPO1(ICHLIM, MELECB, MLMVIT)
  436. SEGSUP MLMVIT
  437. IF (IERR.NE.0) GOTO 9999
  438. C
  439. IF(IJAC.EQ.0)THEN
  440. CALL CLI131(MELEMF,MELEMC,MELECB,MELEFC,INORM,ICHPVO,ICHPSU,
  441. & IROC,IVITC,IPC,IGAMC,ICHLIM,ICHRES,ICHRLI)
  442. IF(IERR.NE.0)GOTO 9999
  443. ELSE
  444. * Le Jacobien est une matrik vide
  445. NRIGE=7
  446. NMATRI=0
  447. NKID =9
  448. NKMT =7
  449. SEGINI MATRIK
  450. SEGDES MATRIK
  451. IJACO=MATRIK
  452. ENDIF
  453. ELSEIF(ILIM .EQ. 4)THEN
  454. C
  455. C******** 'OUTSS '
  456. C
  457. C ICHLIM est un CHPOINT vide
  458. C Mais on fait pas de controlle
  459. C
  460. IF(IJAC.EQ.0)THEN
  461. CALL CLI141(MELEMF,MELEMC,MELECB,MELEFC,INORM,ICHPVO,ICHPSU,
  462. & IROC,IVITC,IPC,IGAMC,ICHRES,ICHRLI)
  463. IF(IERR.NE.0)GOTO 9999
  464. ELSE
  465. IF(IDIM.EQ.2)THEN
  466. CALL CLI142(MELEMF,MELEMC,MELECB,MELEFC,MELRES,INORM
  467. $ ,ICHPVO,ICHPSU,IROC,IVITC,IPC,IGAMC,ILIINC
  468. $ ,ILIINP,IJAC,IJACO)
  469. ELSE
  470. CALL CLI143(MELEMF,MELEMC,MELECB,MELEFC,MELRES,INORM
  471. $ ,ICHPVO,ICHPSU,IROC,IVITC,IPC,IGAMC,ILIINC
  472. $ ,ILIINP,IJAC,IJACO)
  473. ENDIF
  474. IF(IERR.NE.0)GOTO 9999
  475. ENDIF
  476. ELSEIF(ILIM .EQ. 5)THEN
  477. C
  478. C******** 'OUTP '
  479. C
  480. JGN = 4
  481. JGM = 1
  482. SEGINI MLMVIT
  483. MLMVIT.MOTS(1)='PN '
  484. CALL QUEPO1(ICHLIM, MELECB, MLMVIT)
  485. SEGSUP MLMVIT
  486. IF (IERR.NE.0) GOTO 9999
  487. C
  488. IF(IJAC.EQ.0)THEN
  489. CALL CLI151(MELEMF,MELEMC,MELECB,MELEFC,INORM,ICHPVO,ICHPSU,
  490. & IROC,IVITC,IPC,IGAMC,ICHLIM,ICHRES,ICHRLI)
  491. IF(IERR.NE.0)GOTO 9999
  492. ELSE
  493. IF(IDIM.EQ.2)THEN
  494. CALL CLI152(MELEMF,MELEMC,MELECB,MELEFC,MELRES,INORM
  495. $ ,ICHPVO,ICHPSU,IROC,IVITC,IPC,IGAMC,ICHLIM,ILIINC
  496. $ ,ILIINP,IJAC,IJACO)
  497. ELSE
  498. CALL CLI153(MELEMF,MELEMC,MELECB,MELEFC,MELRES,INORM
  499. $ ,ICHPVO,ICHPSU,IROC,IVITC,IPC,IGAMC,ICHLIM,ILIINC
  500. $ ,ILIINP,IJAC,IJACO)
  501. ENDIF
  502. ENDIF
  503. ELSEIF(ILIM .EQ. 6)THEN
  504. C
  505. C******** 'INSU '
  506. C
  507. JGN = 4
  508. JGM = 2
  509. SEGINI MLMVIT
  510. MLMVIT.MOTS(1) = 'HT '
  511. MLMVIT.MOTS(2) = 'S '
  512. CALL QUEPO1(ICHLIM, MELECB, MLMVIT)
  513. SEGSUP MLMVIT
  514. IF (IERR.NE.0) GOTO 9999
  515. C
  516. IF(IJAC.EQ.0)THEN
  517. CALL CLI161(MELEMF,MELEMC,MELECB,MELEFC,INORM,ICHPVO,ICHPSU,
  518. & IROC,IVITC,IPC,IGAMC,ICHLIM,ICHRES,ICHRLI)
  519. IF(IERR.NE.0)GOTO 9999
  520. ELSE
  521. IF(IDIM.EQ.2)THEN
  522. CALL CLI162(MELEMF,MELEMC,MELECB,MELEFC,MELRES,INORM
  523. & ,ICHPVO,ICHPSU,IROC,IVITC,IPC,IGAMC,ICHLIM,ILIINC
  524. & ,ILIINP,IJAC,IJACO)
  525. ELSE
  526. CALL CLI163(MELEMF,MELEMC,MELECB,MELEFC,MELRES,INORM
  527. $ ,ICHPVO,ICHPSU,IROC,IVITC,IPC,IGAMC,ICHLIM,ILIINC
  528. $ ,ILIINP,IJAC,IJACO)
  529. ENDIF
  530. ENDIF
  531. ELSEIF(ILIM .EQ. 7)THEN
  532. C
  533. C******** 'INJE '
  534. C
  535. JGN = 4
  536. JGM = 2
  537. SEGINI MLMVIT
  538. MLMVIT.MOTS(1) = 'MOME'
  539. MLMVIT.MOTS(2) = 'RT '
  540. CALL QUEPO1(ICHLIM, MELECB, MLMVIT)
  541. SEGSUP MLMVIT
  542. IF (IERR.NE.0) GOTO 9999
  543. C
  544. IF(IJAC.EQ.0)THEN
  545. CALL CLI181(MELEMF,MELEMC,MELECB,MELEFC,INORM,ICHPVO,ICHPSU,
  546. & IROC,IVITC,IPC,IGAMC,ICHLIM,ICHRES,ICHRLI)
  547. IF(IERR.NE.0)GOTO 9999
  548. ELSE
  549. IF(IDIM.EQ.2)THEN
  550. CALL CLI182(MELEMF,MELEMC,MELECB,MELEFC,MELRES,INORM
  551. & ,ICHPVO,ICHPSU,IROC,IVITC,IPC,IGAMC,ICHLIM,ILIINC
  552. & ,ILIINP,IJAC,IJACO)
  553. ELSE
  554. CALL CLI183(MELEMF,MELEMC,MELECB,MELEFC,MELRES,INORM
  555. $ ,ICHPVO,ICHPSU,IROC,IVITC,IPC,IGAMC,ICHLIM,ILIINC
  556. $ ,ILIINP,IJAC,IJACO)
  557. ENDIF
  558. ENDIF
  559. ELSEIF(ILIM .EQ. 8)THEN
  560. C
  561. C******** 'INJELM '
  562. C
  563. JGN = 4
  564. JGM = 2
  565. SEGINI MLMVIT
  566. MLMVIT.MOTS(1) = 'MOME'
  567. MLMVIT.MOTS(2) = 'RT '
  568. CALL QUEPO1(ICHLIM, MELECB, MLMVIT)
  569. SEGSUP MLMVIT
  570. IF (IERR.NE.0) GOTO 9999
  571. C
  572. IF(IJAC.EQ.0)THEN
  573. CALL CLI171(MELEMF,MELEMC,MELECB,MELEFC,INORM,ICHPVO,ICHPSU,
  574. & IROC,IVITC,IPC,IGAMC,ICHLIM,ICHRES,ICHRLI)
  575. IF(IERR.NE.0)GOTO 9999
  576. ELSE
  577. IF(IDIM.EQ.2)THEN
  578. CALL CLI172(MELEMF,MELEMC,MELECB,MELEFC,MELRES,INORM
  579. & ,ICHPVO,ICHPSU,IROC,IVITC,IPC,IGAMC,ICHLIM,ILIINC
  580. & ,ILIINP,IJAC,IJACO)
  581. ELSE
  582. CALL CLI173(MELEMF,MELEMC,MELECB,MELEFC,MELRES,INORM
  583. $ ,ICHPVO,ICHPSU,IROC,IVITC,IPC,IGAMC,ICHLIM,ILIINC
  584. $ ,ILIINP,IJAC,IJACO)
  585. ENDIF
  586. ENDIF
  587. ELSEIF(ILIM .EQ. 9)THEN
  588. C
  589. C******** 'INSO '
  590. C
  591. JGN = 4
  592. JGM = 2
  593. SEGINI MLMVIT
  594. MLMVIT.MOTS(1) = 'PSTA'
  595. MLMVIT.MOTS(2) = 'RSTA'
  596. CALL QUEPO1(ICHLIM, MELECB, MLMVIT)
  597. SEGSUP MLMVIT
  598. IF (IERR.NE.0) GOTO 9999
  599. C
  600. IF(IJAC.EQ.0)THEN
  601. CALL CLI191(MELEMF,MELEMC,MELECB,MELEFC,INORM,ICHPVO,ICHPSU,
  602. & IROC,IVITC,IPC,IGAMC,ICHLIM,ICHRES,ICHRLI)
  603. IF(IERR.NE.0)GOTO 9999
  604. ENDIF
  605. ENDIF
  606. C
  607. IF(IJAC.EQ.0)THEN
  608. CALL ACTOBJ('CHPOINT ',ICHRES,1)
  609. CALL ACTOBJ('CHPOINT ',ICHRLI,1)
  610.  
  611. CALL ECROBJ('CHPOINT ',ICHRES)
  612. CALL ECROBJ('CHPOINT ',ICHRLI)
  613. ELSE
  614. CALL ECROBJ('MATRIK ',IJACO)
  615. ENDIF
  616. C
  617. 9999 CONTINUE
  618. END
  619.  
  620.  
  621.  
  622.  

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