Télécharger konja4.eso

Retour à la liste

Numérotation des lignes :

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

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