Télécharger konjp4.eso

Retour à la liste

Numérotation des lignes :

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

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