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. -INC CCOPTIO
  144. -INC SMLMOTS
  145. -INC SMCHPOI
  146. -INC SMELEME
  147. POINTEUR MLMVIT.MLMOTS
  148. C
  149. C**** Variables de COOPTIO
  150. C
  151. C INTEGER IPLLB, IERPER, IERMAX, IERR, INTERR
  152. C & ,IOTER, IOLEC, IOIMP, IOCAR, IOACQ
  153. C & ,IOPER, IOSGB, IOGRA, IOSAU, IORES
  154. C & ,IECHO, IIMPI, IOSPI
  155. C & ,IDIM, IFICLE, IPREFI
  156. C & ,MCOORD
  157. C & ,IFOMOD, NIFOUR, IFOUR, NSDPGE, IONIVE
  158. C & ,NGMAXY, IZROSF, ISOTYP, IOSCR,LTEXLU
  159. C & ,NORINC,NORVAL,NORIND,NORVAD
  160. C & ,NUCROU, IPSAUV
  161. C
  162. INTEGER NBJAC, IRET, INDIC, NBCOMP, NESP, NC, JGN, JGM
  163. & ,IIMPL, IIMPL2, IJACO
  164. & ,IDOMA, MELEMC, MELEMF, MELEFE, MELTFA, ICHPSU, ICHPDI
  165. & ,ICHPVO, INORM
  166. & ,IROF, IVITF, IPF, IGAMF, ILIINC
  167. & ,IFLIM, ICACCA, MELLIM
  168. & ,IRN, IVN, IPN, IGAMN
  169. & ,IGRN, IGVN, IGPN, IGLRN, IGLVN, IGLPN, ICRN, ICVN, ICPN
  170. & ,IVLIM, INEFMD, ICOND
  171. C
  172. PARAMETER (NBJAC=2)
  173. CHARACTER*8 TYPE, LJACO(NBJAC)
  174. CHARACTER*4 MOT
  175. C
  176. DATA LJACO/'VLH ','AUSMPLUS'/
  177. C
  178. CALL LIRMOT(LJACO,NBJAC,IIMPL,1)
  179. IF(IERR .NE. 0)GOTO 9999
  180. C
  181. C**********************************
  182. C**** Lecture de l'objet MODELE ***
  183. C**********************************
  184. C
  185. ICOND = 1
  186. CALL QUETYP(TYPE,ICOND,IRET)
  187.  
  188. IF(IRET.EQ.0.AND.TYPE.NE.'MMODEL')THEN
  189. WRITE(6,*)' On attend un objet MMODEL'
  190. RETURN
  191. ENDIF
  192. CALL LIROBJ('MMODEL',MMODEL,ICOND,IRET)
  193. IF(IERR.NE.0)GOTO 9999
  194. CALL LEKMOD(MMODEL,IDOMA,INEFMD)
  195. IF(IERR.NE.0)GOTO 9999
  196. C
  197. C**** Centre, FACE, FACEL, ELTFA
  198. C
  199. CALL LEKTAB(IDOMA,'CENTRE',MELEMC)
  200. IF(IERR .NE. 0) GOTO 9999
  201. C
  202. CALL LEKTAB(IDOMA,'FACE',MELEMF)
  203. IF(IERR .NE. 0) GOTO 9999
  204. C
  205. CALL LEKTAB(IDOMA,'FACEL',MELEFE)
  206. IF(IERR .NE. 0) GOTO 9999
  207. C
  208. CALL LEKTAB(IDOMA,'ELTFA',MELTFA)
  209. IF(IERR .NE. 0) GOTO 9999
  210. C
  211. C**** Lecture du CHPOINT contenant les surfaces des faces.
  212. C
  213. CALL LEKTAB(IDOMA,'XXSURFAC',ICHPSU)
  214. IF(IERR .NE. 0) GOTO 9999
  215. INDIC = 1
  216. NBCOMP = 1
  217. MOT = 'SCAL'
  218. CALL QUEPOI(ICHPSU, MELEMF, INDIC, NBCOMP, MOT)
  219. IF(IERR .NE. 0) GOTO 9999
  220. C
  221. C**** Lecture du CHPOINT contenant les diametres minimums.
  222. C
  223. CALL LEKTAB(IDOMA,'XXDIEMIN',ICHPDI)
  224. IF(IERR .NE. 0) GOTO 9999
  225. INDIC = 1
  226. NBCOMP = 1
  227. MOT = 'SCAL'
  228. CALL QUEPOI(ICHPDI, MELEMC, INDIC, NBCOMP, MOT)
  229. IF(IERR .NE. 0) GOTO 9999
  230.  
  231. C
  232. C**** Lecture du CHPOINT contenant les volumes
  233. C
  234. CALL LEKTAB(IDOMA,'XXVOLUM',ICHPVO)
  235. IF(IERR .NE. 0) GOTO 9999
  236. INDIC = 1
  237. NBCOMP = 1
  238. MOT = 'SCAL'
  239. CALL QUEPOI(ICHPVO, MELEMC, INDIC, NBCOMP, MOT)
  240. IF(IERR .NE. 0) GOTO 9999
  241. C
  242. C**** Les normales aux faces
  243. C
  244. IF(IDIM .EQ. 2)THEN
  245. C Que les normales
  246. CALL LEKTAB(IDOMA,'XXNORMAF',INORM)
  247. IF(IERR .NE. 0) GOTO 9999
  248. JGN = 4
  249. JGM = 2
  250. SEGINI MLMVIT
  251. MLMVIT.MOTS(1) = 'UX '
  252. MLMVIT.MOTS(2) = 'UY '
  253. CALL QUEPO1(INORM, MELEMF, MLMVIT)
  254. SEGSUP MLMVIT
  255. IF(IERR .NE. 0) GOTO 9999
  256. ELSE
  257. C Les normales et les tangentes
  258. TYPE = ' '
  259. CALL ACMO(IDOMA,'MATROT',TYPE,INORM)
  260. IF (TYPE .NE. 'CHPOINT ') THEN
  261. CALL MATRAN(IDOMA,INORM)
  262. IF(IERR .NE. 0) GOTO 9999
  263. ENDIF
  264. JGN = 4
  265. JGM = 9
  266. SEGINI MLMVIT
  267. MLMVIT.MOTS(1) = 'UX '
  268. MLMVIT.MOTS(2) = 'UY '
  269. MLMVIT.MOTS(3) = 'UZ '
  270. MLMVIT.MOTS(4) = 'RX '
  271. MLMVIT.MOTS(5) = 'RY '
  272. MLMVIT.MOTS(6) = 'RZ '
  273. MLMVIT.MOTS(7) = 'MX '
  274. MLMVIT.MOTS(8) = 'MY '
  275. MLMVIT.MOTS(9) = 'MZ '
  276. CALL QUEPO1(INORM, MELEMF, MLMVIT)
  277. SEGSUP MLMVIT
  278. ENDIF
  279. C
  280. C********************************
  281. C**** Fin table domaine *********
  282. C********************************
  283. C
  284. C
  285. C**** On va lire les pointeurs des MCHAMLs
  286. C Lecture du MCHAML 'FACEL' densité
  287. C
  288. TYPE='MCHAML '
  289. CALL LIROBJ(TYPE,IROF,1,IRET)
  290. IF(IERR.NE.0) GOTO 9999
  291. C
  292. C**** Lecture du MCHAML 'FACEL' vitesse
  293. C
  294. TYPE='MCHAML '
  295. CALL LIROBJ(TYPE,IVITF,1,IRET)
  296. IF(IERR .NE. 0) GOTO 9999
  297. C
  298. C**** Lecture du MCHAML 'FACEL' contenant la pression
  299. C
  300. TYPE='MCHAML '
  301. CALL LIROBJ(TYPE,IPF,1,IRET)
  302. IF(IERR .NE. 0) GOTO 9999
  303. C
  304. C**** Lecture du MCHAML 'FACEL' contenant les gamma
  305. C
  306. TYPE='MCHAML '
  307. CALL LIROBJ(TYPE,IGAMF,1,IRET)
  308. IF(IERR .NE. 0) GOTO 9999
  309. C
  310. C**** La list des inconnues
  311. C
  312. NESP=0
  313. TYPE='LISTMOTS'
  314. CALL LIROBJ(TYPE,ILIINC,1,IRET)
  315. IF(IERR .NE. 0) GOTO 9999
  316. MLMOTS = ILIINC
  317. SEGACT MLMOTS
  318. NC = MLMOTS.MOTS(/2)
  319. SEGDES MLMOTS
  320. IF(NC .NE. (IDIM+2+NESP))THEN
  321. MOTERR(1:40) = 'LISTINCO = ???'
  322. WRITE(IOIMP,*) MOTERR
  323. C
  324. C******* Message d'erreur standard
  325. C 21 2
  326. C Données incompatibles
  327. C
  328. CALL ERREUR(21)
  329. GOTO 9999
  330. ENDIF
  331. C
  332. C**** Boundary condition
  333. C
  334. IRET=0
  335. TYPE='MAILLAGE'
  336. CALL LIROBJ(TYPE,IFLIM,0,IRET)
  337. IF(IERR.NE.0)GOTO 9999
  338. IF(IRET .EQ. 0)THEN
  339. MELLIM = 0
  340. ELSE
  341. MELEME=IFLIM
  342. SEGACT MELEME
  343. ICACCA=MELEME.NUM(/2)
  344. IF(ICACCA .EQ. 0)THEN
  345. MELLIM = 0
  346. ELSE
  347. MELLIM = IFLIM
  348. ENDIF
  349. SEGDES MELEME
  350. ENDIF
  351. C
  352. C******* La densité au centre
  353. C
  354. TYPE = 'CHPOINT '
  355. CALL LIROBJ(TYPE,IRN,1,IRET)
  356. IF(IERR .NE. 0) GOTO 9999
  357. C
  358. C**** Control du CHPOINT: QUEPOI
  359. C
  360. C INDIC = 1 -> on impose le pointeur du support geometrique (ICEN)
  361. C N.B. Le CHPOINT peut changer de structure pour
  362. C avoir SPG = ICEN!!!!
  363. C INDIC = 0 -> on ne fait que verifier le support geometrique
  364. C (ICEN). Si le SPG sont differents INDIC = -4 en sortie
  365. C
  366. C NBCOMP > 0 -> numero des composantes
  367. C
  368. C MOT = ' ' obligatoire s'on connais pas les noms des composantes
  369. C
  370. INDIC = 1
  371. NBCOMP = 1
  372. MOT = 'SCAL'
  373. CALL QUEPOI(IRN, MELEMC, INDIC, NBCOMP, MOT)
  374. IF(IERR .NE. 0) GOTO 9999
  375. C
  376. C******* La vitesse au centre
  377. C
  378. TYPE = 'CHPOINT '
  379. CALL LIROBJ(TYPE,IVN,1,IRET)
  380. IF(IERR .NE. 0) GOTO 9999
  381. JGN = 4
  382. JGM = IDIM
  383. SEGINI MLMVIT
  384. MLMVIT.MOTS(1) = 'UX '
  385. MLMVIT.MOTS(2) = 'UY '
  386. IF(IDIM .EQ. 3) MLMVIT.MOTS(3) = 'UZ '
  387. CALL QUEPO1(IVN, MELEMC, MLMVIT)
  388. SEGSUP MLMVIT
  389. IF(IERR .NE. 0) GOTO 9999
  390. C
  391. C******* La pression au centre
  392. C
  393. TYPE = 'CHPOINT '
  394. CALL LIROBJ(TYPE,IPN,1,IRET)
  395. IF(IERR .NE. 0) GOTO 9999
  396. INDIC = 1
  397. NBCOMP = 1
  398. MOT = 'SCAL'
  399. CALL QUEPOI(IPN, MELEMC, INDIC, NBCOMP, MOT)
  400. IF(IERR .NE. 0) GOTO 9999
  401. C
  402. C******* Gamma au centre
  403. C
  404. TYPE = 'CHPOINT '
  405. CALL LIROBJ(TYPE,IGAMN,1,IRET)
  406. IF(IERR .NE. 0) GOTO 9999
  407. INDIC = 1
  408. NBCOMP = 1
  409. MOT = 'SCAL'
  410. CALL QUEPOI(IGAMN, MELEMC, INDIC, NBCOMP, MOT)
  411. IF(IERR .NE. 0) GOTO 9999
  412. C
  413. C
  414. C********** Gradient of density
  415. C
  416. TYPE = 'CHPOINT '
  417. CALL LIROBJ(TYPE,IGRN,1,IRET)
  418. IF(IERR .NE. 0) GOTO 9999
  419. JGN = 4
  420. JGM = IDIM
  421. SEGINI MLMVIT
  422. MLMVIT.MOTS(1) = 'P1DX'
  423. MLMVIT.MOTS(2) = 'P1DY'
  424. IF(IDIM .EQ. 3) MLMVIT.MOTS(3) = 'P1DZ'
  425. CALL QUEPO1(IGRN, MELEMC, MLMVIT)
  426. SEGSUP MLMVIT
  427. IF(IERR .NE. 0) GOTO 9999
  428. C
  429. C********** Gradient of speed
  430. C
  431. TYPE = 'CHPOINT '
  432. CALL LIROBJ(TYPE,IGVN,1,IRET)
  433. IF(IERR .NE. 0) GOTO 9999
  434. JGN = 4
  435. JGM = IDIM*IDIM
  436. SEGINI MLMVIT
  437. MLMVIT.MOTS(1) = 'P1DX'
  438. MLMVIT.MOTS(2) = 'P1DY'
  439. MLMVIT.MOTS(3) = 'P2DX'
  440. MLMVIT.MOTS(4) = 'P2DY'
  441. IF(IDIM .EQ. 3)THEN
  442. MLMVIT.MOTS(1) = 'P1DX'
  443. MLMVIT.MOTS(2) = 'P1DY'
  444. MLMVIT.MOTS(3) = 'P1DZ'
  445. MLMVIT.MOTS(4) = 'P2DX'
  446. MLMVIT.MOTS(5) = 'P2DY'
  447. MLMVIT.MOTS(6) = 'P2DZ'
  448. MLMVIT.MOTS(7) = 'P3DX'
  449. MLMVIT.MOTS(8) = 'P3DY'
  450. MLMVIT.MOTS(9) = 'P3DZ'
  451. ENDIF
  452. CALL QUEPO1(IGVN, MELEMC, MLMVIT)
  453. SEGSUP MLMVIT
  454. IF(IERR .NE. 0) GOTO 9999
  455. C
  456. C********** Gradient of pressure
  457. C
  458. TYPE = 'CHPOINT '
  459. CALL LIROBJ(TYPE,IGPN,1,IRET)
  460. IF(IERR .NE. 0) GOTO 9999
  461. JGN = 4
  462. JGM = IDIM
  463. SEGINI MLMVIT
  464. MLMVIT.MOTS(1) = 'P1DX'
  465. MLMVIT.MOTS(2) = 'P1DY'
  466. IF(IDIM .EQ. 3) MLMVIT.MOTS(3) = 'P1DZ'
  467. CALL QUEPO1(IGPN, MELEMC, MLMVIT)
  468. SEGSUP MLMVIT
  469. IF(IERR .NE. 0) GOTO 9999
  470. C
  471. C********** Limiter of density gradient
  472. C
  473. TYPE = 'CHPOINT '
  474. CALL LIROBJ(TYPE,IGLRN,1,IRET)
  475. IF(IERR .NE. 0) GOTO 9999
  476. INDIC = 1
  477. NBCOMP = 1
  478. MOT = 'P1 '
  479. CALL QUEPOI(IGLRN, MELEMC, INDIC, NBCOMP, MOT)
  480. IF(IERR .NE. 0) GOTO 9999
  481. C
  482. C********** Limiter of velocity gradient
  483. C
  484. TYPE = 'CHPOINT '
  485. CALL LIROBJ(TYPE,IGLVN,1,IRET)
  486. IF(IERR .NE. 0) GOTO 9999
  487. JGN = 4
  488. JGM = IDIM
  489. SEGINI MLMVIT
  490. MLMVIT.MOTS(1) = 'P1 '
  491. MLMVIT.MOTS(2) = 'P2 '
  492. IF(IDIM .EQ. 3) MLMVIT.MOTS(3) = 'P3 '
  493. CALL QUEPO1(IGLVN, MELEMC, MLMVIT)
  494. SEGSUP MLMVIT
  495. IF(IERR .NE. 0) GOTO 9999
  496. C
  497. C********** Limiter of pressure gradient
  498. C
  499. TYPE = 'CHPOINT '
  500. CALL LIROBJ(TYPE,IGLPN,1,IRET)
  501. IF(IERR .NE. 0) GOTO 9999
  502. INDIC = 1
  503. NBCOMP = 1
  504. MOT = 'P1 '
  505. CALL QUEPOI(IGLPN, MELEMC, INDIC, NBCOMP, MOT)
  506. IF(IERR .NE. 0) GOTO 9999
  507. C
  508. C********** On va lire les pointeurs des MCHAMLs pour
  509. C le calcul du gradient
  510. C
  511. C Densité
  512. C
  513. TYPE='MCHAML '
  514. CALL LIROBJ(TYPE,ICRN,1,IRET)
  515. IF(IERR.NE.0) GOTO 9999
  516. C
  517. C********** Vitesse
  518. C
  519. TYPE='MCHAML '
  520. CALL LIROBJ(TYPE,ICVN,1,IRET)
  521. IF(IERR .NE. 0) GOTO 9999
  522. C
  523. C********** Pression
  524. C
  525. TYPE='MCHAML '
  526. CALL LIROBJ(TYPE,ICPN,1,IRET)
  527. IF(IERR .NE. 0) GOTO 9999
  528. C
  529. C********** On va lire le chpoin limite pour la vitesse
  530. C
  531. TYPE='CHPOINT '
  532. CALL LIROBJ(TYPE,IVLIM,1,IRET)
  533. IF(IERR .NE. 0) GOTO 9999
  534. C********** CHPOINT vide?
  535. MCHPOI = IVLIM
  536. SEGACT MCHPOI
  537. ICACCA = MCHPOI.IPCHP(/1)
  538. SEGDES MCHPOI
  539. IF(ICACCA .EQ. 0)THEN
  540. IVLIM=0
  541. ELSE
  542. JGN = 4
  543. JGM = IDIM
  544. SEGINI MLMVIT
  545. MLMVIT.MOTS(1) = 'UX '
  546. MLMVIT.MOTS(2) = 'UY '
  547. IF(IDIM .EQ. 3) MLMVIT.MOTS(3) = 'UZ '
  548. ICACCA=0
  549. CALL QUEPO1(IVLIM, ICACCA, MLMVIT)
  550. IF(IERR .NE. 0) GOTO 9999
  551. SEGSUP MLMVIT
  552. ENDIF
  553. C
  554. C******* Calcul du jacobien
  555. C
  556. IF(IDIM .EQ. 2)THEN
  557. C IIMPL = 4 VLH
  558. C IIMPL = 5 AUSM+
  559. IIMPL2 = IIMPL+3
  560. CALL KONJA5(IIMPL2,ILIINC,IROF,IPF,IVITF,IGAMF,
  561. & IRN,IPN,IVN,IGAMN,
  562. & ICHPVO,ICHPSU, INORM, MELEMC, MELEFE, MELEMF, MELTFA
  563. & ,IGRN, IGVN, IGPN,IGLRN, IGLVN, IGLPN,ICRN, ICVN,
  564. & ICPN, IVLIM, MELLIM, IJACO)
  565. IF(IERR .NE. 0) GOTO 9999
  566. ELSE
  567. C Tentative d'utilisation d'une option non implémentée
  568. CALL ERREUR(251)
  569. GOTO 9999
  570. ENDIF
  571. C
  572. TYPE='MATRIK '
  573. CALL ECROBJ(TYPE,IJACO)
  574. 9999 CONTINUE
  575. RETURN
  576. END
  577.  
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  

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