Télécharger konja7.eso

Retour à la liste

Numérotation des lignes :

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

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