Télécharger konjp4.eso

Retour à la liste

Numérotation des lignes :

konjp4
  1. C KONJP4 SOURCE OF166741 24/12/13 21:16:40 12097
  2. SUBROUTINE KONJP4(ILINC,ILINP,IRN,IUN,IPN,IGAMN,INORM,ICHPVO
  3. $ ,ICHPSU,MELEMC,MELEFE,MELLIM,IMAT)
  4. C
  5. C************************************************************************
  6. C
  7. C PROJET : CASTEM 2000
  8. C
  9. C NOM : KONJP4
  10. C
  11. C DESCRIPTION : Voir KON14
  12. C Calcul du jacobien du résidu pour la méthode
  13. C AUSM+ par rapport aux variables primitives
  14. C
  15. C Cas 3D, gaz "calorically perfect"
  16. C
  17. C LANGAGE : FORTRAN 77 + ESOPE 2000 (avec estensions CISI)
  18. C
  19. C AUTEUR : S. KUDRIAKOV, SFME/LTMF
  20. C
  21. C************************************************************************
  22. C
  23. C ENTREES
  24. C
  25. C ILINC : liste des inconnues (pointeur d'un objet de type LISTMOTS)
  26. C
  27. C 1) Pointeurs des CHPOINT
  28. C
  29. C IRN : CHPOINT CENTRE contenant la masse volumique ;
  30. C
  31. C IUN : CHPOINT CENTRE contenant la vitesse ;
  32. C
  33. C IPN : CHPOINT CENTRE contenant la pression ;
  34. C
  35. C IGAMN : CHPOINT CENTRE contenant le gamma ;
  36. C
  37. C INORM : CHPOINT FACE contenant les normales aux faces ;
  38. C
  39. C ICHPOVO : CHPOINT VOLUME contenant le volume
  40. C
  41. C ICHPOSU : CHPOINT FACE contenant la surface des faces
  42. C
  43. C
  44. C 2) Pointeurs de MELEME de la table DOMAINE
  45. C
  46. C MELEMC : MELEME 'CENTRE' du SPG des CENTRES
  47. C
  48. C MELEFE : MELEME 'FACEL' du connectivité Faces -> Elts
  49. C
  50. C MELLIM : MELEME SPG des conditions aux bords
  51. C
  52. C SORTIES
  53. C
  54. C IMAT : pointeur de la MATRIK du jacobien du residu
  55. C
  56. C************************************************************************
  57. C
  58. C HISTORIQUE (Anomalies et modifications éventuelles)
  59. C
  60. C HISTORIQUE :
  61. C
  62. C************************************************************************
  63. C
  64. C
  65. C N.B.: On suppose qu'on a déjà controllé RO, P > 0
  66. C GAMMA \in (1,3)
  67. C Si non il faut le faire!!!
  68. C
  69. C************************************************************************
  70. C
  71. IMPLICIT INTEGER(I-N)
  72. INTEGER ILINC, ILINP, IRN,IUN,IPN,IGAMN,INORM,ICHPVO,ICHPSU
  73. & , IMAT, IGEOMC, IGEOMF
  74. & , NFAC, NBSOUS, NBREF, NBELEM, NBNN, NRIGE, NMATRI, NKID
  75. & , NKMT, NBME, NBEL, MP, NP
  76. & , IFAC, NGCF, NLCF, NGCG, NGCD, NLCG, NLCD, NLFL
  77. REAL*8 ROG, PG, UXG, UYG, UZG, GAMG, VOLG
  78. & , ROD, PD, UXD, UYD, UZD, GAMD, VOLD
  79. & , SURF, FUNCEL
  80. REAL*8 WVEC_L(5), WVEC_R(5), NVECT(3), TVECT1(3),TVECT2(3)
  81. REAL*8 JTL(5,5), JTR(5,5)
  82. REAL*8 C11,C12,C13,C21,C22,C23,C31,C32,C33,DET
  83. REAL*8 ZC11,ZC12,ZC13,ZC21,ZC22,ZC23,ZC31,ZC32,ZC33
  84. CHARACTER*8 TYPE
  85. C
  86. C**** LES INCLUDES
  87. C
  88.  
  89. -INC PPARAM
  90. -INC CCOPTIO
  91. -INC SMCHPOI
  92. -INC SMELEME
  93. -INC SMLMOTS
  94. -INC SMLENTI
  95. POINTEUR MPRN.MPOVAL, MPUN.MPOVAL, MPPN.MPOVAL, MPGAMN.MPOVAL,
  96. & MPNORM.MPOVAL, MPVOLU.MPOVAL, MPOVSU.MPOVAL
  97. POINTEUR MELEMC.MELEME, MELEMF.MELEME, MELEFE.MELEME,
  98. & MELEDU.MELEME, MELLIM.MELEME
  99. POINTEUR MLENTC.MLENTI, MLENTF.MLENTI, MLELIM.MLENTI
  100. POINTEUR RR.IZAFM, RUX.IZAFM, RUY.IZAFM, RUZ.IZAFM,RRET.IZAFM,
  101. & UXR.IZAFM, UXUX.IZAFM, UXUY.IZAFM, UXUZ.IZAFM,
  102. & UXRET.IZAFM,
  103. & UYR.IZAFM, UYUX.IZAFM, UYUY.IZAFM, UYUZ.IZAFM,
  104. & UYRET.IZAFM,
  105. & UZR.IZAFM, UZUX.IZAFM, UZUY.IZAFM, UZUZ.IZAFM,
  106. & UZRET.IZAFM,
  107. & RETR.IZAFM, RETUX.IZAFM, RETUY.IZAFM, RETUZ.IZAFM,
  108. & RETRET.IZAFM
  109. POINTEUR MLMINC.MLMOTS
  110. C
  111. C**** KRIPAD pour la correspondance global/local des conditions limits
  112. C
  113. CALL KRIPAD(MELLIM,MLELIM)
  114. c SEGACT MELLIM
  115. C
  116. C**** KRIPAD pour la correspondance global/local des centres
  117. C
  118. CALL KRIPAD(MELEMC,MLENTC)
  119. C
  120. C SEGACT MLENTC
  121. SEGACT MELEMC
  122. C
  123. SEGACT MELEFE
  124. C
  125. CALL LICHT(ICHPSU,MPOVSU,TYPE,IGEOMF)
  126. CALL LICHT(INORM,MPNORM,TYPE,IGEOMF)
  127. CALL LICHT(ICHPVO,MPVOLU,TYPE,IGEOMC)
  128. C
  129. C**** LICHT active les MPOVALs en *MOD
  130. C
  131. C i.e.
  132. C
  133. C SEGACT MPOVSU*MOD
  134. C SEGACT MPOVNO*MOD
  135. C SEGACT MPVOLU*MOD
  136. C
  137. MELEMF = IGEOMF
  138. CALL KRIPAD(MELEMF,MLENTF)
  139. C
  140. C SEGACT MLENTF
  141. SEGACT MELEMF
  142. C
  143. CALL LICHT(IRN,MPRN,TYPE,IGEOMC)
  144. CALL LICHT(IPN,MPPN,TYPE,IGEOMC)
  145. CALL LICHT(IUN,MPUN,TYPE,IGEOMC)
  146. CALL LICHT(IGAMN,MPGAMN,TYPE,IGEOMC)
  147. C
  148. C SEGACT MPRN*MOD
  149. C SEGACT MPPN*MOD
  150. C SEGACT MPUN*MOD
  151. C SEGACT MPGAMN*MOD
  152. C
  153. NFAC = MELEFE.NUM(/2)
  154. C
  155. C**** Maillage des inconnues primales
  156. C
  157. NBSOUS = 0
  158. NBREF = 0
  159. NBELEM = NFAC
  160. NBNN = 2
  161. C
  162. SEGINI MELEDU
  163. C MELEPR = MELEDU
  164. C
  165. C**** MELEDU = 'SEG2'
  166. C
  167. MELEDU.ITYPEL = 2
  168. C
  169. NRIGE = 7
  170. NMATRI = 1
  171. NKID = 9
  172. NKMT = 7
  173. C
  174. SEGINI MATRIK
  175. IMAT = MATRIK
  176. MATRIK.IRIGEL(1,1) = MELEDU
  177. MATRIK.IRIGEL(2,1) = MELEDU
  178. C
  179. C**** Matrice non symetrique
  180. C
  181. MATRIK.IRIGEL(7,1) = 2
  182. C
  183. NBME = 25
  184. NBSOUS = 1
  185. SEGINI IMATRI
  186. MATRIK.IRIGEL(4,1) = IMATRI
  187. C Primal variables
  188. MLMINC = ILINP
  189. SEGACT MLMINC
  190. C-----------------------------------------------
  191. IMATRI.LISPRI(1) = MLMINC.MOTS(1)
  192. IMATRI.LISPRI(2) = MLMINC.MOTS(2)
  193. IMATRI.LISPRI(3) = MLMINC.MOTS(3)
  194. IMATRI.LISPRI(4) = MLMINC.MOTS(4)
  195. IMATRI.LISPRI(5) = MLMINC.MOTS(5)
  196. C-----------------------------------------------
  197. IMATRI.LISPRI(6) = MLMINC.MOTS(1)
  198. IMATRI.LISPRI(7) = MLMINC.MOTS(2)
  199. IMATRI.LISPRI(8) = MLMINC.MOTS(3)
  200. IMATRI.LISPRI(9) = MLMINC.MOTS(4)
  201. IMATRI.LISPRI(10) = MLMINC.MOTS(5)
  202. C-----------------------------------------------
  203. IMATRI.LISPRI(11) = MLMINC.MOTS(1)
  204. IMATRI.LISPRI(12) = MLMINC.MOTS(2)
  205. IMATRI.LISPRI(13) = MLMINC.MOTS(3)
  206. IMATRI.LISPRI(14) = MLMINC.MOTS(4)
  207. IMATRI.LISPRI(15) = MLMINC.MOTS(5)
  208. C-----------------------------------------------
  209. IMATRI.LISPRI(16) = MLMINC.MOTS(1)
  210. IMATRI.LISPRI(17) = MLMINC.MOTS(2)
  211. IMATRI.LISPRI(18) = MLMINC.MOTS(3)
  212. IMATRI.LISPRI(19) = MLMINC.MOTS(4)
  213. IMATRI.LISPRI(20) = MLMINC.MOTS(5)
  214. C-----------------------------------------------
  215. IMATRI.LISPRI(21) = MLMINC.MOTS(1)
  216. IMATRI.LISPRI(22) = MLMINC.MOTS(2)
  217. IMATRI.LISPRI(23) = MLMINC.MOTS(3)
  218. IMATRI.LISPRI(24) = MLMINC.MOTS(4)
  219. IMATRI.LISPRI(25) = MLMINC.MOTS(5)
  220. C-----------------------------------------------
  221. SEGDES MLMINC
  222. C Dual variables
  223. MLMINC = ILINC
  224. SEGACT MLMINC
  225. C-----------------------------------------------
  226. IMATRI.LISDUA(1) = MLMINC.MOTS(1)
  227. IMATRI.LISDUA(2) = MLMINC.MOTS(1)
  228. IMATRI.LISDUA(3) = MLMINC.MOTS(1)
  229. IMATRI.LISDUA(4) = MLMINC.MOTS(1)
  230. IMATRI.LISDUA(5) = MLMINC.MOTS(1)
  231. C-----------------------------------------------
  232. IMATRI.LISDUA(6) = MLMINC.MOTS(2)
  233. IMATRI.LISDUA(7) = MLMINC.MOTS(2)
  234. IMATRI.LISDUA(8) = MLMINC.MOTS(2)
  235. IMATRI.LISDUA(9) = MLMINC.MOTS(2)
  236. IMATRI.LISDUA(10) = MLMINC.MOTS(2)
  237. C----------------------------------------------
  238. IMATRI.LISDUA(11) = MLMINC.MOTS(3)
  239. IMATRI.LISDUA(12) = MLMINC.MOTS(3)
  240. IMATRI.LISDUA(13) = MLMINC.MOTS(3)
  241. IMATRI.LISDUA(14) = MLMINC.MOTS(3)
  242. IMATRI.LISDUA(15) = MLMINC.MOTS(3)
  243. C----------------------------------------------
  244. IMATRI.LISDUA(16) = MLMINC.MOTS(4)
  245. IMATRI.LISDUA(17) = MLMINC.MOTS(4)
  246. IMATRI.LISDUA(18) = MLMINC.MOTS(4)
  247. IMATRI.LISDUA(19) = MLMINC.MOTS(4)
  248. IMATRI.LISDUA(20) = MLMINC.MOTS(4)
  249. C----------------------------------------------
  250. IMATRI.LISDUA(21) = MLMINC.MOTS(5)
  251. IMATRI.LISDUA(22) = MLMINC.MOTS(5)
  252. IMATRI.LISDUA(23) = MLMINC.MOTS(5)
  253. IMATRI.LISDUA(24) = MLMINC.MOTS(5)
  254. IMATRI.LISDUA(25) = MLMINC.MOTS(5)
  255. C----------------------------------------------
  256. C----------------------------------------------
  257. SEGDES MLMINC
  258. NBEL = NBELEM
  259. NBSOUS = 1
  260. NP = 2
  261. MP = 2
  262. SEGINI RR , RUX , RUY , RUZ, RRET ,
  263. & UXR , UXUX , UXUY , UXUZ, UXRET ,
  264. & UYR , UYUX , UYUY , UYUZ, UYRET ,
  265. & UZR , UZUX , UZUY , UZUZ, UZRET ,
  266. & RETR , RETUX , RETUY , RETUZ, RETRET
  267. C-----------------------------------------------
  268. C**** Duale = IMATRI.LISDUA(1) = 'RN'
  269. C Primale = IMATRI.LISPRI(1) = 'RN'
  270. C -> IMATRI.LIZAFM(1,1) = RR
  271. C
  272. C Duale = IMATRI.LISDUA(2) = 'RN'
  273. C Primale = IMATRI.LISPRI(1) = 'RUXN'
  274. C -> IMATRI.LIZAFM(1,2) = RUX
  275. C ...
  276. C-----------------------------------------------
  277. IMATRI.LIZAFM(1,1) = RR
  278. IMATRI.LIZAFM(1,2) = RUX
  279. IMATRI.LIZAFM(1,3) = RUY
  280. IMATRI.LIZAFM(1,4) = RUZ
  281. IMATRI.LIZAFM(1,5) = RRET
  282. C-----------------------------------------------
  283. IMATRI.LIZAFM(1,6) = UXR
  284. IMATRI.LIZAFM(1,7) = UXUX
  285. IMATRI.LIZAFM(1,8) = UXUY
  286. IMATRI.LIZAFM(1,9) = UXUZ
  287. IMATRI.LIZAFM(1,10) = UXRET
  288. C-----------------------------------------------
  289. IMATRI.LIZAFM(1,11) = UYR
  290. IMATRI.LIZAFM(1,12) = UYUX
  291. IMATRI.LIZAFM(1,13) = UYUY
  292. IMATRI.LIZAFM(1,14) = UYUZ
  293. IMATRI.LIZAFM(1,15) = UYRET
  294. C------------------------------------------------
  295. IMATRI.LIZAFM(1,16) = UZR
  296. IMATRI.LIZAFM(1,17) = UZUX
  297. IMATRI.LIZAFM(1,18) = UZUY
  298. IMATRI.LIZAFM(1,19) = UZUZ
  299. IMATRI.LIZAFM(1,20) = UZRET
  300. C-----------------------------------------------
  301. IMATRI.LIZAFM(1,21) = RETR
  302. IMATRI.LIZAFM(1,22) = RETUX
  303. IMATRI.LIZAFM(1,23) = RETUY
  304. IMATRI.LIZAFM(1,24) = RETUZ
  305. IMATRI.LIZAFM(1,25) = RETRET
  306. C-----------------------------------------------
  307. DO IFAC = 1, NFAC, 1
  308. NGCF = MELEFE.NUM(2,IFAC)
  309. NLCF = MLENTF.LECT(NGCF)
  310. IF(NLCF .NE. IFAC)THEN
  311. WRITE(IOIMP,*) 'Il ne faut pas jouer avec la table domaine'
  312. CALL ERREUR(5)
  313. GOTO 9999
  314. ENDIF
  315. NGCG = MELEFE.NUM(1,IFAC)
  316. NGCD = MELEFE.NUM(3,IFAC)
  317. NLFL = MLELIM.LECT(NGCF)
  318. IF(NLFL .NE. 0)THEN
  319. C
  320. C********** The point belongs on BC -> No contribution to jacobian!
  321. C
  322. MELEDU.NUM(1,IFAC) = NGCG
  323. MELEDU.NUM(2,IFAC) = NGCD
  324. ELSEIF(NGCG .NE. NGCD)THEN
  325. C-------------------------------------------------
  326. C********** Les MELEMEs
  327. C-------------------------------------------------
  328. MELEDU.NUM(1,IFAC) = NGCG
  329. MELEDU.NUM(2,IFAC) = NGCD
  330. C-------------------------------------------------
  331. C********** Les etats G et D
  332. C-------------------------------------------------
  333. NLCG = MLENTC.LECT(NGCG)
  334. NLCD = MLENTC.LECT(NGCD)
  335. C-------------------------------------------------
  336. ROG = MPRN.VPOCHA(NLCG,1)
  337. PG = MPPN.VPOCHA(NLCG,1)
  338. UXG = MPUN.VPOCHA(NLCG,1)
  339. UYG = MPUN.VPOCHA(NLCG,2)
  340. UZG = MPUN.VPOCHA(NLCG,3)
  341. GAMG = MPGAMN.VPOCHA(NLCG,1)
  342. VOLG = MPVOLU.VPOCHA(NLCG,1)
  343. C-------------------------------------------------
  344. WVEC_L(1)=ROG
  345. WVEC_L(2)=UXG
  346. WVEC_L(3)=UYG
  347. WVEC_L(4)=UZG
  348. WVEC_L(5)=PG
  349. C-------------------------------------------------
  350. ROD = MPRN.VPOCHA(NLCD,1)
  351. PD = MPPN.VPOCHA(NLCD,1)
  352. UXD = MPUN.VPOCHA(NLCD,1)
  353. UYD = MPUN.VPOCHA(NLCD,2)
  354. UZD = MPUN.VPOCHA(NLCD,3)
  355. GAMD = MPGAMN.VPOCHA(NLCD,1)
  356. VOLD = MPVOLU.VPOCHA(NLCD,1)
  357. C------------------------------------------------
  358. WVEC_R(1)=ROD
  359. WVEC_R(2)=UXD
  360. WVEC_R(3)=UYD
  361. WVEC_R(4)=UZD
  362. WVEC_R(5)=PD
  363. C------------------------------------------------
  364. C
  365. C********** La normale G->D
  366. C La tangente
  367. C-----------------------------------------------
  368. SURF = MPOVSU.VPOCHA(NLCF,1)
  369. NVECT(1) = MPNORM.VPOCHA(NLCF,7)
  370. NVECT(2) = MPNORM.VPOCHA(NLCF,8)
  371. NVECT(3) = MPNORM.VPOCHA(NLCF,9)
  372. c-----------------------------------------------
  373. TVECT1(1) = MPNORM.VPOCHA(NLCF,1)
  374. TVECT1(2) = MPNORM.VPOCHA(NLCF,2)
  375. TVECT1(3) = MPNORM.VPOCHA(NLCF,3)
  376. c----------------------------------------------
  377. TVECT2(1) = MPNORM.VPOCHA(NLCF,4)
  378. TVECT2(2) = MPNORM.VPOCHA(NLCF,5)
  379. TVECT2(3) = MPNORM.VPOCHA(NLCF,6)
  380. C-----------------------------------------------
  381. C********** La contribution de Gauche
  382. C-----------------------------------------------
  383. CALL CONJP4(JTL,JTR,WVEC_L,WVEC_R,
  384. & NVECT,TVECT1,TVECT2,GAMG)
  385. C----------------------------------------------------------
  386. C
  387. C********** AB.AM(IFAC,IPRIM,IDUAL)
  388. C A = nom de l'inconnu duale (Ro,rUX,rUY,RET)
  389. C B = nom de l'inconnu primale (Ro,rUX,rUY,RET)
  390. C IPRIM = 1, 2 -> G, D
  391. C IDUAL = 1, 2 -> G, D
  392. C i.e.
  393. C A_IDUAL = AB.AM(IFAC,IPRIM,IDUAL) * B_IPRIM + ...
  394. C
  395. C
  396. C********** Dual RN
  397. C----------------------------------------------------------
  398. FUNCEL = SURF * JTL(1,1)
  399. RR.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG
  400. RR.AM(IFAC,1,2) = FUNCEL / VOLD
  401. C----------------------------------------------------
  402. FUNCEL = SURF * JTL(1,2)
  403. RUX.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG
  404. RUX.AM(IFAC,1,2) = FUNCEL / VOLD
  405. C----------------------------------------------------
  406. FUNCEL = SURF * JTL(1,3)
  407. RUY.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG
  408. RUY.AM(IFAC,1,2) = FUNCEL / VOLD
  409. C----------------------------------------------------
  410. FUNCEL = SURF * JTL(1,4)
  411. RUZ.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG
  412. RUZ.AM(IFAC,1,2) = FUNCEL / VOLD
  413. C----------------------------------------------------
  414. FUNCEL = SURF * JTL(1,5)
  415. RRET.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG
  416. RRET.AM(IFAC,1,2) = FUNCEL / VOLD
  417. C------------------------------------------------------------
  418. C********** Dual RUXN
  419. C------------------------------------------------------------
  420. FUNCEL = SURF * JTL(2,1)
  421. UXR.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG
  422. UXR.AM(IFAC,1,2) = FUNCEL / VOLD
  423. C----------------------------------------------------
  424. FUNCEL = SURF * JTL(2,2)
  425. UXUX.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG
  426. UXUX.AM(IFAC,1,2) = FUNCEL / VOLD
  427. C----------------------------------------------------
  428. FUNCEL = SURF * JTL(2,3)
  429. UXUY.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG
  430. UXUY.AM(IFAC,1,2) = FUNCEL / VOLD
  431. C----------------------------------------------------
  432. FUNCEL = SURF * JTL(2,4)
  433. UXUZ.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG
  434. UXUZ.AM(IFAC,1,2) = FUNCEL / VOLD
  435. C----------------------------------------------------
  436. FUNCEL = SURF * JTL(2,5)
  437. UXRET.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG
  438. UXRET.AM(IFAC,1,2) = FUNCEL / VOLD
  439. C-------------------------------------------------------------
  440. C********** Dual RUYN
  441. C-------------------------------------------------------------
  442. FUNCEL = SURF * JTL(3,1)
  443. UYR.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG
  444. UYR.AM(IFAC,1,2) = FUNCEL / VOLD
  445. C----------------------------------------------------
  446. FUNCEL = SURF * JTL(3,2)
  447. UYUX.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG
  448. UYUX.AM(IFAC,1,2) = FUNCEL / VOLD
  449. C----------------------------------------------------
  450. FUNCEL = SURF * JTL(3,3)
  451. UYUY.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG
  452. UYUY.AM(IFAC,1,2) = FUNCEL / VOLD
  453. C----------------------------------------------------
  454. FUNCEL = SURF * JTL(3,4)
  455. UYUZ.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG
  456. UYUZ.AM(IFAC,1,2) = FUNCEL / VOLD
  457. C----------------------------------------------------
  458. FUNCEL = SURF * JTL(3,5)
  459. UYRET.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG
  460. UYRET.AM(IFAC,1,2) = FUNCEL / VOLD
  461. C-------------------------------------------------------------
  462. C********** Dual RUZN
  463. C-------------------------------------------------------------
  464. FUNCEL = SURF * JTL(4,1)
  465. UZR.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG
  466. UZR.AM(IFAC,1,2) = FUNCEL / VOLD
  467. C----------------------------------------------------
  468. FUNCEL = SURF * JTL(4,2)
  469. UZUX.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG
  470. UZUX.AM(IFAC,1,2) = FUNCEL / VOLD
  471. C----------------------------------------------------
  472. FUNCEL = SURF * JTL(4,3)
  473. UZUY.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG
  474. UZUY.AM(IFAC,1,2) = FUNCEL / VOLD
  475. C----------------------------------------------------
  476. FUNCEL = SURF * JTL(4,4)
  477. UZUZ.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG
  478. UZUZ.AM(IFAC,1,2) = FUNCEL / VOLD
  479. C----------------------------------------------------
  480. FUNCEL = SURF * JTL(4,5)
  481. UZRET.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG
  482. UZRET.AM(IFAC,1,2) = FUNCEL / VOLD
  483. C-------------------------------------------------------------
  484. C********** Dual RETN
  485. C-------------------------------------------------------------
  486. FUNCEL = SURF * JTL(5,1)
  487. RETR.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG
  488. RETR.AM(IFAC,1,2) = FUNCEL / VOLD
  489. C-----------------------------------------------------
  490. FUNCEL = SURF * JTL(5,2)
  491. RETUX.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG
  492. RETUX.AM(IFAC,1,2) = FUNCEL / VOLD
  493. C-----------------------------------------------------
  494. FUNCEL = SURF * JTL(5,3)
  495. RETUY.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG
  496. RETUY.AM(IFAC,1,2) = FUNCEL / VOLD
  497. C-----------------------------------------------------
  498. FUNCEL = SURF * JTL(5,4)
  499. RETUZ.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG
  500. RETUZ.AM(IFAC,1,2) = FUNCEL / VOLD
  501. C-----------------------------------------------------
  502. FUNCEL = SURF * JTL(5,5)
  503. RETRET.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG
  504. RETRET.AM(IFAC,1,2) = FUNCEL / VOLD
  505. C-------------------------------------------------------------
  506. C
  507. C********** La contribution de D
  508. C
  509. c NVECT(1) = -1.0D0 * NVECT(1)
  510. c NVECT(2) = -1.0D0 * NVECT(2)
  511. c TVECT(1) = -1.0D0 * TVECT(1)
  512. c TVECT(2) = -1.0D0 * TVECT(2)
  513. c
  514. c CALL CONJAK(JTL,JTR,WVEC_L,WVEC_R,
  515. c & NVECT,TVECT,GAMD)
  516. C
  517. C
  518. C********** Dual RN
  519. C------------------------------------------------------------
  520. FUNCEL = SURF * JTR(1,1)
  521. RR.AM(IFAC,2,2) = FUNCEL / VOLD
  522. RR.AM(IFAC,2,1) = -FUNCEL / VOLG
  523. C--------------------------------------------
  524. FUNCEL = SURF * JTR(1,2)
  525. RUX.AM(IFAC,2,2) = FUNCEL / VOLD
  526. RUX.AM(IFAC,2,1) = -FUNCEL / VOLG
  527. C--------------------------------------------
  528. FUNCEL = SURF * JTR(1,3)
  529. RUY.AM(IFAC,2,2) = FUNCEL / VOLD
  530. RUY.AM(IFAC,2,1) = -FUNCEL / VOLG
  531. C--------------------------------------------
  532. FUNCEL = SURF * JTR(1,4)
  533. RUZ.AM(IFAC,2,2) = FUNCEL / VOLD
  534. RUZ.AM(IFAC,2,1) = -FUNCEL / VOLG
  535. C--------------------------------------------
  536. FUNCEL = SURF * JTR(1,5)
  537. RRET.AM(IFAC,2,2) = FUNCEL / VOLD
  538. RRET.AM(IFAC,2,1) = -FUNCEL / VOLG
  539. C-------------------------------------------------------------
  540. C********** Dual RUXN
  541. C-------------------------------------------------------------
  542. FUNCEL = SURF * JTR(2,1)
  543. UXR.AM(IFAC,2,2) = FUNCEL / VOLD
  544. UXR.AM(IFAC,2,1) = -FUNCEL / VOLG
  545. C--------------------------------------------
  546. FUNCEL = SURF * JTR(2,2)
  547. UXUX.AM(IFAC,2,2) = FUNCEL / VOLD
  548. UXUX.AM(IFAC,2,1) = -FUNCEL / VOLG
  549. C--------------------------------------------
  550. FUNCEL = SURF * JTR(2,3)
  551. UXUY.AM(IFAC,2,2) = FUNCEL / VOLD
  552. UXUY.AM(IFAC,2,1) = -FUNCEL / VOLG
  553. C--------------------------------------------
  554. FUNCEL = SURF * JTR(2,4)
  555. UXUZ.AM(IFAC,2,2) = FUNCEL / VOLD
  556. UXUZ.AM(IFAC,2,1) = -FUNCEL / VOLG
  557. C--------------------------------------------
  558. FUNCEL = SURF * JTR(2,5)
  559. UXRET.AM(IFAC,2,2) = FUNCEL / VOLD
  560. UXRET.AM(IFAC,2,1) = -FUNCEL / VOLG
  561. C-------------------------------------------------------------
  562. C********** Dual RUYN
  563. C-------------------------------------------------------------
  564. FUNCEL = SURF * JTR(3,1)
  565. UYR.AM(IFAC,2,2) = FUNCEL / VOLD
  566. UYR.AM(IFAC,2,1) = -FUNCEL / VOLG
  567. C--------------------------------------------
  568. FUNCEL = SURF * JTR(3,2)
  569. UYUX.AM(IFAC,2,2) = FUNCEL / VOLD
  570. UYUX.AM(IFAC,2,1) = -FUNCEL / VOLG
  571. C--------------------------------------------
  572. FUNCEL = SURF * JTR(3,3)
  573. UYUY.AM(IFAC,2,2) = FUNCEL / VOLD
  574. UYUY.AM(IFAC,2,1) = -FUNCEL / VOLG
  575. C--------------------------------------------
  576. FUNCEL = SURF * JTR(3,4)
  577. UYUZ.AM(IFAC,2,2) = FUNCEL / VOLD
  578. UYUZ.AM(IFAC,2,1) = -FUNCEL / VOLG
  579. C--------------------------------------------
  580. FUNCEL = SURF * JTR(3,5)
  581. UYRET.AM(IFAC,2,2) = FUNCEL / VOLD
  582. UYRET.AM(IFAC,2,1) = -FUNCEL / VOLG
  583. C-------------------------------------------------------------
  584. C********** Dual RUZN
  585. C-------------------------------------------------------------
  586. FUNCEL = SURF * JTR(4,1)
  587. UZR.AM(IFAC,2,2) = FUNCEL / VOLD
  588. UZR.AM(IFAC,2,1) = -FUNCEL / VOLG
  589. C--------------------------------------------
  590. FUNCEL = SURF * JTR(4,2)
  591. UZUX.AM(IFAC,2,2) = FUNCEL / VOLD
  592. UZUX.AM(IFAC,2,1) = -FUNCEL / VOLG
  593. C--------------------------------------------
  594. FUNCEL = SURF * JTR(4,3)
  595. UZUY.AM(IFAC,2,2) = FUNCEL / VOLD
  596. UZUY.AM(IFAC,2,1) = -FUNCEL / VOLG
  597. C--------------------------------------------
  598. FUNCEL = SURF * JTR(4,4)
  599. UZUZ.AM(IFAC,2,2) = FUNCEL / VOLD
  600. UZUZ.AM(IFAC,2,1) = -FUNCEL / VOLG
  601. C--------------------------------------------
  602. FUNCEL = SURF * JTR(4,5)
  603. UZRET.AM(IFAC,2,2) = FUNCEL / VOLD
  604. UZRET.AM(IFAC,2,1) = -FUNCEL / VOLG
  605. C------------------------------------------------------------
  606. C********** Dual RETN
  607. C------------------------------------------------------------
  608. FUNCEL = SURF * JTR(5,1)
  609. RETR.AM(IFAC,2,2) = FUNCEL / VOLD
  610. RETR.AM(IFAC,2,1) = -FUNCEL / VOLG
  611. C---------------------------------------------
  612. FUNCEL = SURF * JTR(5,2)
  613. RETUX.AM(IFAC,2,2) = FUNCEL / VOLD
  614. RETUX.AM(IFAC,2,1) = -FUNCEL / VOLG
  615. C---------------------------------------------
  616. FUNCEL = SURF * JTR(5,3)
  617. RETUY.AM(IFAC,2,2) = FUNCEL / VOLD
  618. RETUY.AM(IFAC,2,1) = -FUNCEL / VOLG
  619. C---------------------------------------------
  620. FUNCEL = SURF * JTR(5,4)
  621. RETUZ.AM(IFAC,2,2) = FUNCEL / VOLD
  622. RETUZ.AM(IFAC,2,1) = -FUNCEL / VOLG
  623. C---------------------------------------------
  624. FUNCEL = SURF * JTR(5,5)
  625. RETRET.AM(IFAC,2,2) = FUNCEL / VOLD
  626. RETRET.AM(IFAC,2,1) = -FUNCEL / VOLG
  627. C---------------------------------------------
  628. ELSE
  629. C------------------------------------------------------------
  630. C********** Murs (NGCG = NGCD)
  631. C
  632. C
  633. C********** Les MELEMEs
  634. C-----------------------------------------------------------
  635. MELEDU.NUM(1,IFAC) = NGCG
  636. MELEDU.NUM(2,IFAC) = NGCD
  637. NLCG = MLENTC.LECT(NGCG)
  638. C-------------------------------------
  639. ROG = MPRN.VPOCHA(NLCG,1)
  640. PG = MPPN.VPOCHA(NLCG,1)
  641. UXG = MPUN.VPOCHA(NLCG,1)
  642. UYG = MPUN.VPOCHA(NLCG,2)
  643. UZG = MPUN.VPOCHA(NLCG,3)
  644. GAMG = MPGAMN.VPOCHA(NLCG,1)
  645. VOLG = MPVOLU.VPOCHA(NLCG,1)
  646. C-------------------------------------------
  647. WVEC_L(1)=ROG
  648. WVEC_L(2)=UXG
  649. WVEC_L(3)=UYG
  650. WVEC_L(4)=UZG
  651. WVEC_L(5)=PG
  652. C-------------------------------------------------
  653. SURF = MPOVSU.VPOCHA(NLCF,1)
  654. NVECT(1) = MPNORM.VPOCHA(NLCF,7)
  655. NVECT(2) = MPNORM.VPOCHA(NLCF,8)
  656. NVECT(3) = MPNORM.VPOCHA(NLCF,9)
  657. c--------------------------------------------
  658. TVECT1(1) = MPNORM.VPOCHA(NLCF,1)
  659. TVECT1(2) = MPNORM.VPOCHA(NLCF,2)
  660. TVECT1(3) = MPNORM.VPOCHA(NLCF,3)
  661. c----------------------------------------------
  662. TVECT2(1) = MPNORM.VPOCHA(NLCF,4)
  663. TVECT2(2) = MPNORM.VPOCHA(NLCF,5)
  664. TVECT2(3) = MPNORM.VPOCHA(NLCF,6)
  665. C------- COEFFICIENTS ----------------------------
  666. C11=TVECT1(2)*TVECT2(3)-TVECT1(3)*TVECT2(2)
  667. C12=NVECT(2)*TVECT2(3)-TVECT2(2)*NVECT(3)
  668. C13=NVECT(2)*TVECT1(3)-TVECT1(2)*NVECT(3)
  669. C---------------------------------
  670. C21=TVECT1(1)*TVECT2(3)-TVECT1(3)*TVECT2(1)
  671. C22=NVECT(1)*TVECT2(3)-TVECT2(1)*NVECT(3)
  672. C23=NVECT(1)*TVECT1(3)-TVECT1(1)*NVECT(3)
  673. C---------------------------------
  674. C31=TVECT1(1)*TVECT2(2)-TVECT1(2)*TVECT2(1)
  675. C32=NVECT(1)*TVECT2(2)-TVECT2(1)*NVECT(2)
  676. C33=NVECT(1)*TVECT1(2)-TVECT1(1)*NVECT(2)
  677. DET=NVECT(1)*C11-NVECT(2)*C21+NVECT(3)*C31
  678. C---------------------------------
  679. ZC11=-NVECT(1)*C11-TVECT1(1)*C12+TVECT2(1)*C13
  680. ZC12=-NVECT(2)*C11-TVECT1(2)*C12+TVECT2(2)*C13
  681. ZC13=-NVECT(3)*C11-TVECT1(3)*C12+TVECT2(3)*C13
  682. C---------------------------------
  683. ZC21=NVECT(1)*C21+TVECT1(1)*C22-TVECT2(1)*C23
  684. ZC22=NVECT(2)*C21+TVECT1(2)*C22-TVECT2(2)*C23
  685. ZC23=NVECT(3)*C21+TVECT1(3)*C22-TVECT2(3)*C23
  686. C---------------------------------
  687. ZC31=-NVECT(1)*C31-TVECT1(1)*C32+TVECT2(1)*C33
  688. ZC32=-NVECT(2)*C31-TVECT1(2)*C32+TVECT2(2)*C33
  689. ZC33=-NVECT(3)*C31-TVECT1(3)*C32+TVECT2(3)*C33
  690. C-------------------------------------------------
  691. ROD = ROG
  692. PD = PG
  693. UXD = (ZC11*UXG+ZC12*UYG+ZC13*UZG)/DET
  694. UYD = (ZC21*UXG+ZC22*UYG+ZC23*UZG)/DET
  695. UZD = (ZC31*UXG+ZC32*UYG+ZC33*UZG)/DET
  696. GAMD = GAMG
  697. VOLD = VOLG
  698. C------------------------------------------------
  699. WVEC_R(1)=ROD
  700. WVEC_R(2)=UXD
  701. WVEC_R(3)=UYD
  702. WVEC_R(4)=UZD
  703. WVEC_R(5)=PD
  704. C-------------------------------------------
  705. C********** La normale sortante
  706. C-------------------------------------------
  707. CALL CONJP5(JTL,JTR,WVEC_L,WVEC_R,
  708. & NVECT,TVECT1,TVECT2,GAMG)
  709. C--------------------------------------------------
  710. C********** Dual RN
  711. C--------------------------------------------------
  712. RR.AM(IFAC,1,1) = 0.0D0
  713. RR.AM(IFAC,1,2) = 0.0D0
  714. C-----------------------------------
  715. RUX.AM(IFAC,1,1) = 0.0D0
  716. RUX.AM(IFAC,1,2) = 0.0D0
  717. C-----------------------------------
  718. RUY.AM(IFAC,1,1) = 0.0D0
  719. RUY.AM(IFAC,1,2) = 0.0D0
  720. C-----------------------------------
  721. RUZ.AM(IFAC,1,1) = 0.0D0
  722. RUZ.AM(IFAC,1,2) = 0.0D0
  723. C-----------------------------------
  724. RRET.AM(IFAC,1,1) = 0.0D0
  725. RRET.AM(IFAC,1,2) = 0.0D0
  726. C---------------------------------------------------
  727. C********** Dual RUXN
  728. C---------------------------------------------------
  729. FUNCEL = SURF * JTL(2,1)
  730. UXR.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG
  731. UXR.AM(IFAC,1,2) = 0.0D0
  732. C----------------------------------------------------
  733. FUNCEL = SURF * JTL(2,2)
  734. UXUX.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG
  735. UXUX.AM(IFAC,1,2) = 0.0D0
  736. C----------------------------------------------------
  737. FUNCEL = SURF * JTL(2,3)
  738. UXUY.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG
  739. UXUY.AM(IFAC,1,2) = 0.0D0
  740. C----------------------------------------------------
  741. FUNCEL = SURF * JTL(2,4)
  742. UXUZ.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG
  743. UXUZ.AM(IFAC,1,2) = 0.0D0
  744. C----------------------------------------------------
  745. FUNCEL = SURF * JTL(2,5)
  746. UXRET.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG
  747. UXRET.AM(IFAC,1,2) = 0.0D0
  748. C--------------------------------------------------------
  749. C********** Dual RUYN
  750. C--------------------------------------------------------
  751. FUNCEL = SURF * JTL(3,1)
  752. UYR.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG
  753. UYR.AM(IFAC,1,2) = 0.0D0
  754. C----------------------------------------------------
  755. FUNCEL = SURF * JTL(3,2)
  756. UYUX.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG
  757. UYUX.AM(IFAC,1,2) = 0.0D0
  758. C----------------------------------------------------
  759. FUNCEL = SURF * JTL(3,3)
  760. UYUY.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG
  761. UYUY.AM(IFAC,1,2) = 0.0D0
  762. C----------------------------------------------------
  763. FUNCEL = SURF * JTL(3,4)
  764. UYUZ.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG
  765. UYUZ.AM(IFAC,1,2) = 0.0D0
  766. C----------------------------------------------------
  767. FUNCEL = SURF * JTL(3,5)
  768. UYRET.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG
  769. UYRET.AM(IFAC,1,2) = 0.0D0
  770. C--------------------------------------------------------
  771. C********** Dual RUZN
  772. C--------------------------------------------------------
  773. FUNCEL = SURF * JTL(4,1)
  774. UZR.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG
  775. UZR.AM(IFAC,1,2) = 0.0D0
  776. C----------------------------------------------------
  777. FUNCEL = SURF * JTL(4,2)
  778. UZUX.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG
  779. UZUX.AM(IFAC,1,2) = 0.0D0
  780. C----------------------------------------------------
  781. FUNCEL = SURF * JTL(4,3)
  782. UZUY.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG
  783. UZUY.AM(IFAC,1,2) = 0.0D0
  784. C----------------------------------------------------
  785. FUNCEL = SURF * JTL(4,4)
  786. UZUZ.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG
  787. UZUZ.AM(IFAC,1,2) = 0.0D0
  788. C----------------------------------------------------
  789. FUNCEL = SURF * JTL(4,5)
  790. UZRET.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG
  791. UZRET.AM(IFAC,1,2) = 0.0D0
  792. C---------------------------------------------------------
  793. C********** Dual RETN
  794. C---------------------------------------------------------
  795. RETR.AM(IFAC,1,1) = 0.0D0
  796. RETR.AM(IFAC,1,2) = 0.0D0
  797. C--------------------------------------
  798. RETUX.AM(IFAC,1,1) = 0.0D0
  799. RETUX.AM(IFAC,1,2) = 0.0D0
  800. C--------------------------------------
  801. RETUY.AM(IFAC,1,1) = 0.0D0
  802. RETUY.AM(IFAC,1,2) = 0.0D0
  803. C--------------------------------------
  804. RETUZ.AM(IFAC,1,1) = 0.0D0
  805. RETUZ.AM(IFAC,1,2) = 0.0D0
  806. C--------------------------------------
  807. RETRET.AM(IFAC,1,1) = 0.0D0
  808. RETRET.AM(IFAC,1,2) = 0.0D0
  809. C----------------------------------------------------------
  810. C********** Dual RN
  811. C----------------------------------------------------------
  812. RR.AM(IFAC,2,2) = 0.0D0
  813. RR.AM(IFAC,2,1) = 0.0D0
  814. C-----------------------------------
  815. RUX.AM(IFAC,2,2) = 0.0D0
  816. RUX.AM(IFAC,2,1) = 0.0D0
  817. C-----------------------------------
  818. RUY.AM(IFAC,2,2) = 0.0D0
  819. RUY.AM(IFAC,2,1) = 0.0D0
  820. C-----------------------------------
  821. RUZ.AM(IFAC,2,2) = 0.0D0
  822. RUZ.AM(IFAC,2,1) = 0.0D0
  823. C-----------------------------------
  824. RRET.AM(IFAC,2,2) = 0.0D0
  825. RRET.AM(IFAC,2,1) = 0.0D0
  826. C----------------------------------------------------------
  827. C********** Dual RUXN
  828. C----------------------------------------------------------
  829. UXR.AM(IFAC,2,2) = 0.0D0
  830. UXR.AM(IFAC,2,1) = 0.0D0
  831. C------------------------------------
  832. UXUX.AM(IFAC,2,2) = 0.0D0
  833. UXUX.AM(IFAC,2,1) = 0.0D0
  834. C------------------------------------
  835. UXUY.AM(IFAC,2,2) = 0.0D0
  836. UXUY.AM(IFAC,2,1) = 0.0D0
  837. C------------------------------------
  838. UXUZ.AM(IFAC,2,2) = 0.0D0
  839. UXUZ.AM(IFAC,2,1) = 0.0D0
  840. C------------------------------------
  841. UXRET.AM(IFAC,2,2) = 0.0D0
  842. UXRET.AM(IFAC,2,1) = 0.0D0
  843. C----------------------------------------------------------
  844. C********** Dual RUYN
  845. C----------------------------------------------------------
  846. UYR.AM(IFAC,2,2) = 0.0D0
  847. UYR.AM(IFAC,2,1) = 0.0D0
  848. C------------------------------------
  849. UYUX.AM(IFAC,2,2) = 0.0D0
  850. UYUX.AM(IFAC,2,1) = 0.0D0
  851. C------------------------------------
  852. UYUY.AM(IFAC,2,2) = 0.0D0
  853. UYUY.AM(IFAC,2,1) = 0.0D0
  854. C------------------------------------
  855. UYUZ.AM(IFAC,2,2) = 0.0D0
  856. UYUZ.AM(IFAC,2,1) = 0.0D0
  857. C------------------------------------
  858. UYRET.AM(IFAC,2,2) = 0.0D0
  859. UYRET.AM(IFAC,2,1) = 0.0D0
  860. C----------------------------------------------------------
  861. C********** Dual RUZN
  862. C----------------------------------------------------------
  863. UZR.AM(IFAC,2,2) = 0.0D0
  864. UZR.AM(IFAC,2,1) = 0.0D0
  865. C------------------------------------
  866. UZUX.AM(IFAC,2,2) = 0.0D0
  867. UZUX.AM(IFAC,2,1) = 0.0D0
  868. C------------------------------------
  869. UZUY.AM(IFAC,2,2) = 0.0D0
  870. UZUY.AM(IFAC,2,1) = 0.0D0
  871. C------------------------------------
  872. UZUZ.AM(IFAC,2,2) = 0.0D0
  873. UZUZ.AM(IFAC,2,1) = 0.0D0
  874. C------------------------------------
  875. UZRET.AM(IFAC,2,2) = 0.0D0
  876. UZRET.AM(IFAC,2,1) = 0.0D0
  877. C---------------------------------------------------------
  878. C********** Dual RETN
  879. C---------------------------------------------------------
  880. RETR.AM(IFAC,2,2) = 0.0D0
  881. RETR.AM(IFAC,2,1) = 0.0D0
  882. C-------------------------------------
  883. RETUX.AM(IFAC,2,2) = 0.0D0
  884. RETUX.AM(IFAC,2,1) = 0.0D0
  885. C-------------------------------------
  886. RETUY.AM(IFAC,2,2) = 0.0D0
  887. RETUY.AM(IFAC,2,1) = 0.0D0
  888. C-------------------------------------
  889. RETUZ.AM(IFAC,2,2) = 0.0D0
  890. RETUZ.AM(IFAC,2,1) = 0.0D0
  891. C-------------------------------------
  892. RETRET.AM(IFAC,2,2) = 0.0D0
  893. RETRET.AM(IFAC,2,1) = 0.0D0
  894. C--------------------------------------
  895. ENDIF
  896. ENDDO
  897. C------------------
  898. SEGDES MELEMC
  899. SEGDES MELEFE
  900. SEGDES MELEMF
  901. C------------------
  902. SEGDES MPOVSU
  903. SEGDES MPVOLU
  904. SEGDES MPNORM
  905. C------------------
  906. SEGDES MPRN
  907. SEGDES MPPN
  908. SEGDES MPUN
  909. SEGDES MPGAMN
  910. C------------------
  911. SEGDES MELEDU
  912. SEGDES MATRIK
  913. SEGDES IMATRI
  914. C------------------
  915. SEGDES RR , RUX , RUY , RUZ , RRET ,
  916. & UXR , UXUX , UXUY , UXUZ , UXRET ,
  917. & UYR , UYUX , UYUY , UYUZ , UYRET ,
  918. & UZR , UZUX , UZUY , UZUZ , UZRET ,
  919. & RETR , RETUX , RETUY , RETUZ , RETRET
  920.  
  921. SEGSUP MLENTC
  922. SEGSUP MLENTF
  923. SEGSUP MLELIM
  924. C
  925. 9999 CONTINUE
  926. RETURN
  927. END
  928.  
  929.  
  930.  
  931.  
  932.  
  933.  
  934.  
  935.  
  936.  
  937.  
  938.  
  939.  
  940.  
  941.  
  942.  
  943.  
  944.  
  945.  
  946.  
  947.  
  948.  

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