Télécharger konjp4.eso

Retour à la liste

Numérotation des lignes :

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

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