Télécharger konja7.eso

Retour à la liste

Numérotation des lignes :

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

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