Télécharger kon13.eso

Retour à la liste

Numérotation des lignes :

  1. C KON13 SOURCE CHAT 06/08/24 21:47:46 5529
  2. SUBROUTINE KON13
  3. C************************************************************************
  4. C
  5. C PROJET : CASTEM 2000
  6. C
  7. C NOM : KON13
  8. C
  9. C DESCRIPTION : Subroutine appellée par KON1
  10. C
  11. C Modelisation 2D/3D des equations d'Euler
  12. C Calcul du jacobien (2eme ordre)
  13. C Option non documentée dans la notice!!!
  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) : KONJA5 (calcul du jacobien, gaz "calorically
  22. C perfect", monoespece, 2D, 2eme ordre,
  23. C AUSMplus, VLH)
  24. C
  25. C************************************************************************
  26. C
  27. C*** SYNTAXE
  28. C
  29. C Discrétisation en VF "cell-centered" des équations d'Euler pour
  30. C un gaz parfait mono-constituent polytropique
  31. C Inconnues: densité, quantité de mouvement, énergie totale par
  32. C unité de volumes (variables conservatives)
  33. C Calcul du jacobien 2eme ordre en espace
  34. C Cas 2D
  35. C
  36. C RMAT1 = 'KONV' 'VF' 'PERFMONO' 'JACOCON2' LMOT1
  37. C MOD1 MOT1
  38. C MCHAM1 MCHAM2 MCHAM3 MCHAM4
  39. C (MAILIM) CHPO1 CHPO2 CHPO3 CHPO5
  40. C CHPO6 CHPO7 CHPO8 CHPO9 CHPO10 CHPO11
  41. C MCHAM5 MCHAM6 MCHAM7 CHPO12 ;
  42. C
  43. C ENTREES
  44. C
  45. C MOT1 : objet de type MOT
  46. C 'VLH' : jacobien du residu pour la methode VLH
  47. C 'AUSMPLUS' : jacobien du residu pour la methode AUSM+
  48. C
  49. C LMOT1 : objet de type LISTMOTS
  50. C Noms de composantes des variable primales et duales de RMAT1.
  51. C Il contient dans l'ordre suivant: le noms de la densité,
  52. C du momentum, de l'énergie totale par unité de volume
  53. C
  54. C MOD1 : objet modele de type Navier_Stokes
  55. C
  56. C MCHAM1 : MCHAML contenant la masse volumique, qui a comme
  57. C SPG (support géométrique) l'indice 'FACEL' de
  58. C MOD1 (une composante, 'SCAL')
  59. C
  60. C MCHAM2 : MCHAML contenant la vitesse et les cosinus
  61. C directeurs du repère locale (n,t) dans le repère
  62. C global (x,y) (dans le cas 2D 6 composantes:
  63. C * 'UN' = vitesse normale (SPG =(DOMA MOD1 'FACEL'))
  64. C * 'UT' = vitesse tangentielle (SPG =(DOMA MOD1 'FACEL'))
  65. C * 'NX' = n.x (SPG = 'FACE')
  66. C * 'NY' = n.y (SPG = 'FACE')
  67. C * 'TX' = t.x (SPG = 'FACE')
  68. C * 'TY' = t.y (SPG = 'FACE')).
  69. C
  70. C MCHAM3 : MCHAML (SPG =(DOMA MOD1 'FACEL')) contenant la pression du
  71. C gaz (une seule composante, 'SCAL').
  72. C
  73. C MCHAM4 : MCHAML (SPG =(DOMA MOD1 'FACEL')) contenant le "gamma" du
  74. C gaz (une seule composante, 'SCAL').
  75. C (MAILIM): MAIILAGE de POI1 ou on ne veut pas calculer le FLUX convective
  76. C
  77. C CHPO1 : CHPOINT contenant la masse volumique
  78. C (SPG =(DOMA MOD1 'CENTRE'), une seule composante,
  79. C 'SCAL').
  80. C
  81. C CHPO2 : CHPOINT contenant la vitesse
  82. C (SPG =(DOMA MOD1 'CENTRE'), deux/trois composantes
  83. C 'UX', 'UY', 'UZ')
  84. C
  85. C CHPO3 : CHPOINT contenant la pression du gaz
  86. C (SPG =(DOMA MOD1 'CENTRE'), une seule composante,
  87. C 'SCAL').
  88. C
  89. C CHPO5 : CHPOINT contenant le "gamma" du gaz
  90. C (SPG =(DOMA MOD1 'CENTRE'), une seule composante,
  91. C 'SCAL').
  92. C
  93. C CHPO6 : CHPOINT contenant le gradient de la densité
  94. C CHPO1 (voir operatéur PENT)
  95. C
  96. C CHPO7 : CHPOINT contenant le gradient de la vitesse
  97. C CHPO2 (voir operatéur PENT)
  98. C
  99. C CHPO8 : CHPOINT contenant le gradient de la pression
  100. C CHPO3 (voir operatéur PENT)
  101. C
  102. C CHPO9 : CHPOINT contenant le limiteur de la densité
  103. C CHPO1 (voir operatéur PENT)
  104. C
  105. C CHPO10 : CHPOINT contenant le limiteur de la vitesse
  106. C CHPO2 (voir operatéur PENT)
  107. C
  108. C CHPO11 : CHPOINT contenant le limiteur de la pression
  109. C CHPO3 (voir operatéur PENT)
  110. C
  111. C MCHAM5 : CHAMELEM contenant le coefficient pour le calcul
  112. C du gradient de la densité
  113. C CHPO1 (voir operatéur PENT)
  114. C
  115. C MCHAM6 : CHAMELEM contenant le coefficient pour le calcul
  116. C du gradient de la vitesse
  117. C CHPO2 (voir operatéur PENT)
  118. C
  119. C MCHAM7 : CHAMELEM contenant le coefficient pour le calcul
  120. C du gradient de la pression
  121. C CHPO3 (voir operatéur PENT)
  122. C
  123. C CHPO12 : CHPOINT contenant la condition limite sur la vitesse
  124. C aux bords
  125. C
  126. C SORTIES
  127. C
  128. C
  129. C RMAT1 : objet de type MATRIK
  130. C (SPG =(DOMA MOD1 'CENTRE'))
  131. C (inconnues primales = inconnues duales = LMOT1)
  132. C***********************************************************************
  133. C
  134. C************************************************************************
  135. C
  136. C HISTORIQUE (Anomalies et modifications éventuelles)
  137. C
  138. C HISTORIQUE :
  139. C
  140. C************************************************************************
  141. C
  142. IMPLICIT INTEGER(I-N)
  143.  
  144. -INC PPARAM
  145. -INC CCOPTIO
  146. -INC SMLMOTS
  147. -INC SMCHPOI
  148. -INC SMELEME
  149. POINTEUR MLMVIT.MLMOTS
  150. C
  151. C**** Variables de COOPTIO
  152. C
  153. C INTEGER IPLLB, IERPER, IERMAX, IERR, INTERR
  154. C & ,IOTER, IOLEC, IOIMP, IOCAR, IOACQ
  155. C & ,IOPER, IOSGB, IOGRA, IOSAU, IORES
  156. C & ,IECHO, IIMPI, IOSPI
  157. C & ,IDIM, IFICLE, IPREFI
  158. C & ,MCOORD
  159. C & ,IFOMOD, NIFOUR, IFOUR, NSDPGE, IONIVE
  160. C & ,NGMAXY, IZROSF, ISOTYP, IOSCR,LTEXLU
  161. C & ,NORINC,NORVAL,NORIND,NORVAD
  162. C & ,NUCROU, IPSAUV
  163. C
  164. INTEGER NBJAC, IRET, INDIC, NBCOMP, NESP, NC, JGN, JGM
  165. & ,IIMPL, IIMPL2, IJACO
  166. & ,IDOMA, MELEMC, MELEMF, MELEFE, MELTFA, ICHPSU, ICHPDI
  167. & ,ICHPVO, INORM
  168. & ,IROF, IVITF, IPF, IGAMF, ILIINC
  169. & ,IFLIM, ICACCA, MELLIM
  170. & ,IRN, IVN, IPN, IGAMN
  171. & ,IGRN, IGVN, IGPN, IGLRN, IGLVN, IGLPN, ICRN, ICVN, ICPN
  172. & ,IVLIM, INEFMD, ICOND
  173. C
  174. PARAMETER (NBJAC=2)
  175. CHARACTER*8 TYPE, LJACO(NBJAC)
  176. CHARACTER*4 MOT
  177. C
  178. DATA LJACO/'VLH ','AUSMPLUS'/
  179. C
  180. CALL LIRMOT(LJACO,NBJAC,IIMPL,1)
  181. IF(IERR .NE. 0)GOTO 9999
  182. C
  183. C**********************************
  184. C**** Lecture de l'objet MODELE ***
  185. C**********************************
  186. C
  187. ICOND = 1
  188. CALL QUETYP(TYPE,ICOND,IRET)
  189.  
  190. IF(IRET.EQ.0.AND.TYPE.NE.'MMODEL')THEN
  191. WRITE(6,*)' On attend un objet MMODEL'
  192. RETURN
  193. ENDIF
  194. CALL LIROBJ('MMODEL',MMODEL,ICOND,IRET)
  195. IF(IERR.NE.0)GOTO 9999
  196. CALL LEKMOD(MMODEL,IDOMA,INEFMD)
  197. IF(IERR.NE.0)GOTO 9999
  198. C
  199. C**** Centre, FACE, FACEL, ELTFA
  200. C
  201. CALL LEKTAB(IDOMA,'CENTRE',MELEMC)
  202. IF(IERR .NE. 0) GOTO 9999
  203. C
  204. CALL LEKTAB(IDOMA,'FACE',MELEMF)
  205. IF(IERR .NE. 0) GOTO 9999
  206. C
  207. CALL LEKTAB(IDOMA,'FACEL',MELEFE)
  208. IF(IERR .NE. 0) GOTO 9999
  209. C
  210. CALL LEKTAB(IDOMA,'ELTFA',MELTFA)
  211. IF(IERR .NE. 0) GOTO 9999
  212. C
  213. C**** Lecture du CHPOINT contenant les surfaces des faces.
  214. C
  215. CALL LEKTAB(IDOMA,'XXSURFAC',ICHPSU)
  216. IF(IERR .NE. 0) GOTO 9999
  217. INDIC = 1
  218. NBCOMP = 1
  219. MOT = 'SCAL'
  220. CALL QUEPOI(ICHPSU, MELEMF, INDIC, NBCOMP, MOT)
  221. IF(IERR .NE. 0) GOTO 9999
  222. C
  223. C**** Lecture du CHPOINT contenant les diametres minimums.
  224. C
  225. CALL LEKTAB(IDOMA,'XXDIEMIN',ICHPDI)
  226. IF(IERR .NE. 0) GOTO 9999
  227. INDIC = 1
  228. NBCOMP = 1
  229. MOT = 'SCAL'
  230. CALL QUEPOI(ICHPDI, MELEMC, INDIC, NBCOMP, MOT)
  231. IF(IERR .NE. 0) GOTO 9999
  232.  
  233. C
  234. C**** Lecture du CHPOINT contenant les volumes
  235. C
  236. CALL LEKTAB(IDOMA,'XXVOLUM',ICHPVO)
  237. IF(IERR .NE. 0) GOTO 9999
  238. INDIC = 1
  239. NBCOMP = 1
  240. MOT = 'SCAL'
  241. CALL QUEPOI(ICHPVO, MELEMC, INDIC, NBCOMP, MOT)
  242. IF(IERR .NE. 0) GOTO 9999
  243. C
  244. C**** Les normales aux faces
  245. C
  246. IF(IDIM .EQ. 2)THEN
  247. C Que les normales
  248. CALL LEKTAB(IDOMA,'XXNORMAF',INORM)
  249. IF(IERR .NE. 0) GOTO 9999
  250. JGN = 4
  251. JGM = 2
  252. SEGINI MLMVIT
  253. MLMVIT.MOTS(1) = 'UX '
  254. MLMVIT.MOTS(2) = 'UY '
  255. CALL QUEPO1(INORM, MELEMF, MLMVIT)
  256. SEGSUP MLMVIT
  257. IF(IERR .NE. 0) GOTO 9999
  258. ELSE
  259. C Les normales et les tangentes
  260. TYPE = ' '
  261. CALL ACMO(IDOMA,'MATROT',TYPE,INORM)
  262. IF (TYPE .NE. 'CHPOINT ') THEN
  263. CALL MATRAN(IDOMA,INORM)
  264. IF(IERR .NE. 0) GOTO 9999
  265. ENDIF
  266. JGN = 4
  267. JGM = 9
  268. SEGINI MLMVIT
  269. MLMVIT.MOTS(1) = 'UX '
  270. MLMVIT.MOTS(2) = 'UY '
  271. MLMVIT.MOTS(3) = 'UZ '
  272. MLMVIT.MOTS(4) = 'RX '
  273. MLMVIT.MOTS(5) = 'RY '
  274. MLMVIT.MOTS(6) = 'RZ '
  275. MLMVIT.MOTS(7) = 'MX '
  276. MLMVIT.MOTS(8) = 'MY '
  277. MLMVIT.MOTS(9) = 'MZ '
  278. CALL QUEPO1(INORM, MELEMF, MLMVIT)
  279. SEGSUP MLMVIT
  280. ENDIF
  281. C
  282. C********************************
  283. C**** Fin table domaine *********
  284. C********************************
  285. C
  286. C
  287. C**** On va lire les pointeurs des MCHAMLs
  288. C Lecture du MCHAML 'FACEL' densité
  289. C
  290. TYPE='MCHAML '
  291. CALL LIROBJ(TYPE,IROF,1,IRET)
  292. IF(IERR.NE.0) GOTO 9999
  293. C
  294. C**** Lecture du MCHAML 'FACEL' vitesse
  295. C
  296. TYPE='MCHAML '
  297. CALL LIROBJ(TYPE,IVITF,1,IRET)
  298. IF(IERR .NE. 0) GOTO 9999
  299. C
  300. C**** Lecture du MCHAML 'FACEL' contenant la pression
  301. C
  302. TYPE='MCHAML '
  303. CALL LIROBJ(TYPE,IPF,1,IRET)
  304. IF(IERR .NE. 0) GOTO 9999
  305. C
  306. C**** Lecture du MCHAML 'FACEL' contenant les gamma
  307. C
  308. TYPE='MCHAML '
  309. CALL LIROBJ(TYPE,IGAMF,1,IRET)
  310. IF(IERR .NE. 0) GOTO 9999
  311. C
  312. C**** La list des inconnues
  313. C
  314. NESP=0
  315. TYPE='LISTMOTS'
  316. CALL LIROBJ(TYPE,ILIINC,1,IRET)
  317. IF(IERR .NE. 0) GOTO 9999
  318. MLMOTS = ILIINC
  319. SEGACT MLMOTS
  320. NC = MLMOTS.MOTS(/2)
  321. SEGDES MLMOTS
  322. IF(NC .NE. (IDIM+2+NESP))THEN
  323. MOTERR(1:40) = 'LISTINCO = ???'
  324. WRITE(IOIMP,*) MOTERR
  325. C
  326. C******* Message d'erreur standard
  327. C 21 2
  328. C Données incompatibles
  329. C
  330. CALL ERREUR(21)
  331. GOTO 9999
  332. ENDIF
  333. C
  334. C**** Boundary condition
  335. C
  336. IRET=0
  337. TYPE='MAILLAGE'
  338. CALL LIROBJ(TYPE,IFLIM,0,IRET)
  339. IF(IERR.NE.0)GOTO 9999
  340. IF(IRET .EQ. 0)THEN
  341. MELLIM = 0
  342. ELSE
  343. MELEME=IFLIM
  344. SEGACT MELEME
  345. ICACCA=MELEME.NUM(/2)
  346. IF(ICACCA .EQ. 0)THEN
  347. MELLIM = 0
  348. ELSE
  349. MELLIM = IFLIM
  350. ENDIF
  351. SEGDES MELEME
  352. ENDIF
  353. C
  354. C******* La densité au centre
  355. C
  356. TYPE = 'CHPOINT '
  357. CALL LIROBJ(TYPE,IRN,1,IRET)
  358. IF(IERR .NE. 0) GOTO 9999
  359. C
  360. C**** Control du CHPOINT: QUEPOI
  361. C
  362. C INDIC = 1 -> on impose le pointeur du support geometrique (ICEN)
  363. C N.B. Le CHPOINT peut changer de structure pour
  364. C avoir SPG = ICEN!!!!
  365. C INDIC = 0 -> on ne fait que verifier le support geometrique
  366. C (ICEN). Si le SPG sont differents INDIC = -4 en sortie
  367. C
  368. C NBCOMP > 0 -> numero des composantes
  369. C
  370. C MOT = ' ' obligatoire s'on connais pas les noms des composantes
  371. C
  372. INDIC = 1
  373. NBCOMP = 1
  374. MOT = 'SCAL'
  375. CALL QUEPOI(IRN, MELEMC, INDIC, NBCOMP, MOT)
  376. IF(IERR .NE. 0) GOTO 9999
  377. C
  378. C******* La vitesse au centre
  379. C
  380. TYPE = 'CHPOINT '
  381. CALL LIROBJ(TYPE,IVN,1,IRET)
  382. IF(IERR .NE. 0) GOTO 9999
  383. JGN = 4
  384. JGM = IDIM
  385. SEGINI MLMVIT
  386. MLMVIT.MOTS(1) = 'UX '
  387. MLMVIT.MOTS(2) = 'UY '
  388. IF(IDIM .EQ. 3) MLMVIT.MOTS(3) = 'UZ '
  389. CALL QUEPO1(IVN, MELEMC, MLMVIT)
  390. SEGSUP MLMVIT
  391. IF(IERR .NE. 0) GOTO 9999
  392. C
  393. C******* La pression au centre
  394. C
  395. TYPE = 'CHPOINT '
  396. CALL LIROBJ(TYPE,IPN,1,IRET)
  397. IF(IERR .NE. 0) GOTO 9999
  398. INDIC = 1
  399. NBCOMP = 1
  400. MOT = 'SCAL'
  401. CALL QUEPOI(IPN, MELEMC, INDIC, NBCOMP, MOT)
  402. IF(IERR .NE. 0) GOTO 9999
  403. C
  404. C******* Gamma au centre
  405. C
  406. TYPE = 'CHPOINT '
  407. CALL LIROBJ(TYPE,IGAMN,1,IRET)
  408. IF(IERR .NE. 0) GOTO 9999
  409. INDIC = 1
  410. NBCOMP = 1
  411. MOT = 'SCAL'
  412. CALL QUEPOI(IGAMN, MELEMC, INDIC, NBCOMP, MOT)
  413. IF(IERR .NE. 0) GOTO 9999
  414. C
  415. C
  416. C********** Gradient of density
  417. C
  418. TYPE = 'CHPOINT '
  419. CALL LIROBJ(TYPE,IGRN,1,IRET)
  420. IF(IERR .NE. 0) GOTO 9999
  421. JGN = 4
  422. JGM = IDIM
  423. SEGINI MLMVIT
  424. MLMVIT.MOTS(1) = 'P1DX'
  425. MLMVIT.MOTS(2) = 'P1DY'
  426. IF(IDIM .EQ. 3) MLMVIT.MOTS(3) = 'P1DZ'
  427. CALL QUEPO1(IGRN, MELEMC, MLMVIT)
  428. SEGSUP MLMVIT
  429. IF(IERR .NE. 0) GOTO 9999
  430. C
  431. C********** Gradient of speed
  432. C
  433. TYPE = 'CHPOINT '
  434. CALL LIROBJ(TYPE,IGVN,1,IRET)
  435. IF(IERR .NE. 0) GOTO 9999
  436. JGN = 4
  437. JGM = IDIM*IDIM
  438. SEGINI MLMVIT
  439. MLMVIT.MOTS(1) = 'P1DX'
  440. MLMVIT.MOTS(2) = 'P1DY'
  441. MLMVIT.MOTS(3) = 'P2DX'
  442. MLMVIT.MOTS(4) = 'P2DY'
  443. IF(IDIM .EQ. 3)THEN
  444. MLMVIT.MOTS(1) = 'P1DX'
  445. MLMVIT.MOTS(2) = 'P1DY'
  446. MLMVIT.MOTS(3) = 'P1DZ'
  447. MLMVIT.MOTS(4) = 'P2DX'
  448. MLMVIT.MOTS(5) = 'P2DY'
  449. MLMVIT.MOTS(6) = 'P2DZ'
  450. MLMVIT.MOTS(7) = 'P3DX'
  451. MLMVIT.MOTS(8) = 'P3DY'
  452. MLMVIT.MOTS(9) = 'P3DZ'
  453. ENDIF
  454. CALL QUEPO1(IGVN, MELEMC, MLMVIT)
  455. SEGSUP MLMVIT
  456. IF(IERR .NE. 0) GOTO 9999
  457. C
  458. C********** Gradient of pressure
  459. C
  460. TYPE = 'CHPOINT '
  461. CALL LIROBJ(TYPE,IGPN,1,IRET)
  462. IF(IERR .NE. 0) GOTO 9999
  463. JGN = 4
  464. JGM = IDIM
  465. SEGINI MLMVIT
  466. MLMVIT.MOTS(1) = 'P1DX'
  467. MLMVIT.MOTS(2) = 'P1DY'
  468. IF(IDIM .EQ. 3) MLMVIT.MOTS(3) = 'P1DZ'
  469. CALL QUEPO1(IGPN, MELEMC, MLMVIT)
  470. SEGSUP MLMVIT
  471. IF(IERR .NE. 0) GOTO 9999
  472. C
  473. C********** Limiter of density gradient
  474. C
  475. TYPE = 'CHPOINT '
  476. CALL LIROBJ(TYPE,IGLRN,1,IRET)
  477. IF(IERR .NE. 0) GOTO 9999
  478. INDIC = 1
  479. NBCOMP = 1
  480. MOT = 'P1 '
  481. CALL QUEPOI(IGLRN, MELEMC, INDIC, NBCOMP, MOT)
  482. IF(IERR .NE. 0) GOTO 9999
  483. C
  484. C********** Limiter of velocity gradient
  485. C
  486. TYPE = 'CHPOINT '
  487. CALL LIROBJ(TYPE,IGLVN,1,IRET)
  488. IF(IERR .NE. 0) GOTO 9999
  489. JGN = 4
  490. JGM = IDIM
  491. SEGINI MLMVIT
  492. MLMVIT.MOTS(1) = 'P1 '
  493. MLMVIT.MOTS(2) = 'P2 '
  494. IF(IDIM .EQ. 3) MLMVIT.MOTS(3) = 'P3 '
  495. CALL QUEPO1(IGLVN, MELEMC, MLMVIT)
  496. SEGSUP MLMVIT
  497. IF(IERR .NE. 0) GOTO 9999
  498. C
  499. C********** Limiter of pressure gradient
  500. C
  501. TYPE = 'CHPOINT '
  502. CALL LIROBJ(TYPE,IGLPN,1,IRET)
  503. IF(IERR .NE. 0) GOTO 9999
  504. INDIC = 1
  505. NBCOMP = 1
  506. MOT = 'P1 '
  507. CALL QUEPOI(IGLPN, MELEMC, INDIC, NBCOMP, MOT)
  508. IF(IERR .NE. 0) GOTO 9999
  509. C
  510. C********** On va lire les pointeurs des MCHAMLs pour
  511. C le calcul du gradient
  512. C
  513. C Densité
  514. C
  515. TYPE='MCHAML '
  516. CALL LIROBJ(TYPE,ICRN,1,IRET)
  517. IF(IERR.NE.0) GOTO 9999
  518. C
  519. C********** Vitesse
  520. C
  521. TYPE='MCHAML '
  522. CALL LIROBJ(TYPE,ICVN,1,IRET)
  523. IF(IERR .NE. 0) GOTO 9999
  524. C
  525. C********** Pression
  526. C
  527. TYPE='MCHAML '
  528. CALL LIROBJ(TYPE,ICPN,1,IRET)
  529. IF(IERR .NE. 0) GOTO 9999
  530. C
  531. C********** On va lire le chpoin limite pour la vitesse
  532. C
  533. TYPE='CHPOINT '
  534. CALL LIROBJ(TYPE,IVLIM,1,IRET)
  535. IF(IERR .NE. 0) GOTO 9999
  536. C********** CHPOINT vide?
  537. MCHPOI = IVLIM
  538. SEGACT MCHPOI
  539. ICACCA = MCHPOI.IPCHP(/1)
  540. SEGDES MCHPOI
  541. IF(ICACCA .EQ. 0)THEN
  542. IVLIM=0
  543. ELSE
  544. JGN = 4
  545. JGM = IDIM
  546. SEGINI MLMVIT
  547. MLMVIT.MOTS(1) = 'UX '
  548. MLMVIT.MOTS(2) = 'UY '
  549. IF(IDIM .EQ. 3) MLMVIT.MOTS(3) = 'UZ '
  550. ICACCA=0
  551. CALL QUEPO1(IVLIM, ICACCA, MLMVIT)
  552. IF(IERR .NE. 0) GOTO 9999
  553. SEGSUP MLMVIT
  554. ENDIF
  555. C
  556. C******* Calcul du jacobien
  557. C
  558. IF(IDIM .EQ. 2)THEN
  559. C IIMPL = 4 VLH
  560. C IIMPL = 5 AUSM+
  561. IIMPL2 = IIMPL+3
  562. CALL KONJA5(IIMPL2,ILIINC,IROF,IPF,IVITF,IGAMF,
  563. & IRN,IPN,IVN,IGAMN,
  564. & ICHPVO,ICHPSU, INORM, MELEMC, MELEFE, MELEMF, MELTFA
  565. & ,IGRN, IGVN, IGPN,IGLRN, IGLVN, IGLPN,ICRN, ICVN,
  566. & ICPN, IVLIM, MELLIM, IJACO)
  567. IF(IERR .NE. 0) GOTO 9999
  568. ELSE
  569. C Tentative d'utilisation d'une option non implémentée
  570. CALL ERREUR(251)
  571. GOTO 9999
  572. ENDIF
  573. C
  574. TYPE='MATRIK '
  575. CALL ECROBJ(TYPE,IJACO)
  576. 9999 CONTINUE
  577. RETURN
  578. END
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  

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