Télécharger pre311.eso

Retour à la liste

Numérotation des lignes :

pre311
  1. C PRE311 SOURCE OF166741 24/10/03 21:15:33 12022
  2. SUBROUTINE PRE311(ICEN,IFACE,IFACEL,INORM,IROC,IVITC,IPC,
  3. & IYC,ISCAC,
  4. & IROF,IVITF,IPF,IYF,ISCAF,
  5. & LOGAN,LOGNEG,LOGBOR,MESERR,VALER,VAL1,VAL2)
  6. C************************************************************************
  7. C
  8. C PROJET : CASTEM 2000
  9. C
  10. C NOM : PRE311
  11. C
  12. C DESCRIPTION : Voir PRE31
  13. C
  14. C Cas Deux Dimensions
  15. C
  16. C Mono/MultiEspeces
  17. C
  18. C 1er ordre en espace, 1re ordre en temps
  19. C
  20. C Creations des objets MCHAML IROF, IVITF, IPF,IYF
  21. C
  22. C
  23. C LANGAGE : FORTRAN 77 + ESOPE 2000 (avec extensions CISI)
  24. C
  25. C AUTEUR : A. BECCANTINI, DRN/DMT/SEMT/TTMF
  26. C
  27. C************************************************************************
  28. C
  29. C
  30. C APPELES (Outils) : KRIPAD, LICHT
  31. C
  32. C APPELES (Calcul) : AUCUN
  33. C
  34. C
  35. C************************************************************************
  36. C
  37. C ENTREES
  38. C
  39. C 1) Pointeurs de MELEMEs et de CHPOINTs de la table DOMAINE
  40. C
  41. C ICEN : MELEME de 'POI1' SPG des CENTRES
  42. C
  43. C IFACE : MELEME de 'POI1' SPG des FACES
  44. C
  45. C IFACEL : MELEME de 'SEG3' avec
  46. C CENTRE d'Elt "gauche"
  47. C CENTRE de Face
  48. C CENTRE d'Elt "droite"
  49. C
  50. C N.B. = IFACE.NUM(i,1) = IFACEL.NUM(i,2)
  51. C
  52. C INORM : CHPOINT des cosinus directeurs de normales aux faces
  53. C
  54. C 2) Pointeurs des CHPOINTs
  55. C
  56. C IROC : CHPOINT "CENTRE" contenant la masse volumique RHO
  57. C
  58. C IVITC : CHPOINT "CENTRE" contenant la vitesse UX, UY ;
  59. C
  60. C IPC : CHPOINT "CENTRE" contenat la pression P;
  61. C
  62. C IYC : CHPOINT "CENTRE" contenat les fractions massiques
  63. C (ou 0 dans le cas monoespece);
  64. C
  65. C ISCAC : CHPOINT "CENTRE" contenat les scalaires passifs
  66. C (ou 0);
  67. C
  68. C SORTIES
  69. C
  70. C
  71. C IROF : MCHAML defini sur le MELEME de pointeur IFACEL,
  72. C contenant la masse volumique RHO
  73. C
  74. C IVITF : MCHAML defini sur le MELEME de pointeur IFACEL,
  75. C contenant la vitesse UN, UT dans le repaire local
  76. C (n,t) et defini sur le MELEME de pointeur IFACE,
  77. C contenant les cosinus directeurs du repere local
  78. C
  79. C IPF : MCHAML defini sur le MELEME de pointeur IFACEL,
  80. C contenant la pression P
  81. C
  82. C IYF : MCHAML defini sur le MELEME de pointeur IFACEL,
  83. C contenant les fractions massiques (ou 0 dans le cas
  84. C monoespece);
  85. C
  86. C ISCAF : MCHAML defini sur le MELEME de pointeur IFACEL,
  87. C contenant les scalaire passifs (ou 0)
  88. C
  89. C LOGAN : anomalie detectee (changement de la convention dans
  90. C la table domaine)
  91. C
  92. C LOGNEG : (LOGICAL): si .TRUE. une pression ou une densité
  93. C negative a été detectée -> en interactif le
  94. C programme s'arrete en GIBIANE
  95. C (erreur stocké en MESERR et VALER)
  96. C
  97. C LOGBOR : (LOGICAL): si .TRUE. un Y a ete detecte
  98. C dehor 1 et 3 (sa valeur stockée en MESERR et VALER;
  99. C en VAL1 et en VAL2 on stocke 1.0 et 3.0)
  100. C
  101. C MESERR
  102. C VALER
  103. C VAL1,
  104. C VAL2 : pour les messages d'erreur
  105. C
  106. C************************************************************************
  107. C
  108. C HISTORIQUE (Anomalies et modifications éventuelles)
  109. C
  110. C HISTORIQUE : Créée le 18.12.98.
  111. C
  112. C
  113. C 17.02.2000: transport des scalaires passifs
  114. C
  115. C************************************************************************
  116. C
  117. C
  118. C ATTENTION: Cet programme marche si le MAILLAGE est convex;
  119. C si non il faut changer l'argoritme de calcul de
  120. C l'orientation des normales aux faces.
  121. C
  122. C
  123. C************************************************************************
  124. C
  125. C**** Les variables
  126. C
  127. IMPLICIT INTEGER(I-N)
  128. INTEGER ICEN, IFACE, IFACEL, IROC, IVITC, IPC ,IYC, ISCAC, INORM
  129. & , IROF, IVITF, IPF, IYF, NESP, ISCAF, NSCA
  130. & , IGEOM, NFAC
  131. & , N1PTEL, N1EL, N2PTEL, N2EL, N2, N1, N3, L1
  132. & , NLCF, NGCF, NGCEG, NLCEG, NGCED, NLCED, NGCF1, I1, NMA
  133. REAL*8 VALER, VAL1, VAL2, XG, YG, XC, YC, DXG, DYG
  134. & , CNX, CNY, CTX, CTY, ORIENT
  135. & , ROG, PG, UXG, UYG, UNG, UTG
  136. & , ROD, PD, UXD, UYD, UND, UTD
  137. CHARACTER*(40) MESERR
  138. CHARACTER*(8) TYPE
  139. LOGICAL LOGAN,LOGNEG, LOGBOR
  140. C
  141. C**** Les Includes
  142. C
  143. -INC SMCOORD
  144.  
  145. -INC PPARAM
  146. -INC CCOPTIO
  147. -INC SMCHPOI
  148. POINTEUR MPROC.MPOVAL, MPVITC.MPOVAL, MPPC.MPOVAL,
  149. & MPNORM.MPOVAL, MPYC.MPOVAL, MPSC.MPOVAL
  150. -INC SMCHAML
  151. POINTEUR MELVNX.MELVAL, MELVNY.MELVAL,
  152. & MELT1X.MELVAL, MELT1Y.MELVAL
  153. POINTEUR MELVUN.MELVAL, MELVUT.MELVAL
  154. POINTEUR MELRO.MELVAL, MELP.MELVAL
  155. POINTEUR MCHAMY.MCHAML, MCHAMS.MCHAML
  156. -INC SMLENTI
  157. -INC SMELEME
  158. C
  159. C**** Segments des fractions massiques gauche et droit
  160. C
  161. SEGMENT FRAMAS
  162. REAL*8 FRAMG(NMA), FRAMD(NMA)
  163. ENDSEGMENT
  164. POINTEUR SCALPA.FRAMAS
  165. C
  166. C**** Initialisation des parametres d'erreur déjà faite, i.e.
  167. C
  168. C LOGNEG = .FALSE.
  169. C LOGBOR = .FALSE.
  170. C MESERR = ' '
  171. C MOTERR(1:40) = MESERR(1:40)
  172. C VALER = 0.0D0
  173. C VAL1 = 0.0D0
  174. C VAL2 = 0.0D0
  175. C
  176. C
  177. C**** KRIPAD pour la correspondance global/local de centre
  178. C
  179. CALL KRIPAD(ICEN,MLENT1)
  180. C
  181. C**** MLENTI1 a MCORD.XCOORD(/1)/(IDIM+1) elements
  182. C
  183. C Si i est le numero global d'un noeud de ICEN,
  184. C MLENT1.LECT(i) contient sa position, i.e.
  185. C
  186. C I = numero global du noeud centre
  187. C MLENT1.LECT(i) = numero local du noeud centre
  188. C
  189. C MLENT1 déjà activé, i.e.
  190. C
  191. C SEGACT MLENT1
  192. C
  193. C**** Activation de CHPOINTs
  194. C
  195. C densité
  196. C vitesse
  197. C pression
  198. C cosinus directeurs des normales aux surface
  199. C
  200. CALL LICHT(IROC ,MPROC ,TYPE,IGEOM)
  201. CALL LICHT(IVITC,MPVITC,TYPE,IGEOM)
  202. CALL LICHT(IPC ,MPPC ,TYPE,IGEOM)
  203. CALL LICHT(INORM,MPNORM,TYPE,IGEOM)
  204. C
  205. C**** MPOVA1 - MPOVA5 sont déjà activés i.e.:
  206. C
  207. C SEGACT MPROC
  208. C SEGACT MPVITC
  209. C SEGACT MPPC
  210. C SEGACT MPNORM
  211. C
  212. C
  213. C**** Le MELEME FACEL
  214. C
  215. IPT1 = IFACEL
  216. IPT2 = IFACE
  217. SEGACT IPT1
  218. SEGACT IPT2
  219. NFAC = IPT1.NUM(/2)
  220. C
  221. C**** Creation de MCHAMLs contenant les etats gauche et droite,
  222. C
  223. C i.e.:
  224. C
  225. C vitesse + cosinus directors du repere local
  226. C densité
  227. C pression
  228. C fractions massiques
  229. C
  230. C**** Cosinus directors du repere local et vitesse
  231. C
  232. C Les cosinus directeurs
  233. C
  234. N1 = 2
  235. N3 = 6
  236. L1 = 28
  237. SEGINI MCHEL1
  238. IVITF = MCHEL1
  239. MCHEL1.TITCHE = 'U '
  240. MCHEL1.IMACHE(1) = IFACE
  241. MCHEL1.IMACHE(2) = IFACEL
  242. MCHEL1.CONCHE(1) = ' (n,t) in (x,y) '
  243. MCHEL1.CONCHE(2) = ' U in (n,t) '
  244. C
  245. C**** Valeurs des cosinus definies par respect au repair global, i.e.
  246. C
  247. MCHEL1.INFCHE(1,1) = 2
  248. MCHEL1.INFCHE(1,3) = NIFOUR
  249. MCHEL1.INFCHE(1,4) = 0
  250. MCHEL1.INFCHE(1,5) = 0
  251. MCHEL1.INFCHE(1,6) = 1
  252. MCHEL1.IFOCHE = IFOUR
  253. C
  254. C**** Valeurs de vitesse definies par respect au repair local, i.e.
  255. C
  256. MCHEL1.INFCHE(2,1) = 1
  257. MCHEL1.INFCHE(2,3) = NIFOUR
  258. MCHEL1.INFCHE(2,4) = 0
  259. MCHEL1.INFCHE(2,5) = 0
  260. MCHEL1.INFCHE(2,6) = 1
  261. C
  262. C**** Le cosinus directeurs
  263. C
  264. N1PTEL = 1
  265. N1EL = NFAC
  266. N2PTEL = 0
  267. N2EL = 0
  268. C
  269. C**** MCHAML a N2 composantes:
  270. C
  271. C cosinus directeurs du repere local (n,t1)
  272. C
  273. C IDIM = 2 -> 4 composantes
  274. C
  275. N2 = 4
  276. SEGINI MCHAM1
  277. MCHEL1.ICHAML(1) = MCHAM1
  278. MCHAM1.NOMCHE(1) = 'NX '
  279. MCHAM1.NOMCHE(2) = 'NY '
  280. MCHAM1.NOMCHE(3) = 'TX '
  281. MCHAM1.NOMCHE(4) = 'TY '
  282. MCHAM1.TYPCHE(1) = 'REAL*8 '
  283. MCHAM1.TYPCHE(2) = 'REAL*8 '
  284. MCHAM1.TYPCHE(3) = 'REAL*8 '
  285. MCHAM1.TYPCHE(4) = 'REAL*8 '
  286. SEGINI MELVNX
  287. SEGINI MELVNY
  288. SEGINI MELT1X
  289. SEGINI MELT1Y
  290. MCHAM1.IELVAL(1) = MELVNX
  291. MCHAM1.IELVAL(2) = MELVNY
  292. MCHAM1.IELVAL(3) = MELT1X
  293. MCHAM1.IELVAL(4) = MELT1Y
  294. SEGDES MCHAM1
  295. C
  296. C**** Vitesse
  297. C
  298. N1EL = NFAC
  299. N1PTEL = 3
  300. N2EL = 0
  301. N2PTEL = 0
  302. C
  303. C**** MCHAML a N2 composantes:
  304. C
  305. C IDIM = 2 -> 2 composantes
  306. C
  307. N2 = 2
  308. SEGINI MCHAM1
  309. MCHEL1.ICHAML(2) = MCHAM1
  310. SEGDES MCHEL1
  311. MCHAM1.NOMCHE(1) = 'UN '
  312. MCHAM1.NOMCHE(2) = 'UT '
  313. MCHAM1.TYPCHE(1) = 'REAL*8 '
  314. MCHAM1.TYPCHE(2) = 'REAL*8 '
  315. SEGINI MELVUN
  316. SEGINI MELVUT
  317. MCHAM1.IELVAL(1) = MELVUN
  318. MCHAM1.IELVAL(2) = MELVUT
  319. SEGDES MCHAM1
  320. C
  321. C**** Densite
  322. C
  323. N1 = 1
  324. N3 = 6
  325. L1 = 15
  326. SEGINI MCHEL2
  327. IROF = MCHEL2
  328. MCHEL2.IMACHE(1) = IFACEL
  329. MCHEL2.TITCHE = 'RO '
  330. MCHEL2.CONCHE(1) = ' '
  331. C
  332. C**** Valeurs independente du repére, i.e.
  333. C
  334. MCHEL2.INFCHE(1,1) = 0
  335. MCHEL2.INFCHE(1,3) = NIFOUR
  336. MCHEL2.INFCHE(1,4) = 0
  337. MCHEL2.INFCHE(1,5) = 0
  338. MCHEL2.INFCHE(1,6) = 1
  339. MCHEL2.IFOCHE = IFOUR
  340. N2 = 1
  341. SEGINI MCHAM1
  342. MCHEL2.ICHAML(1) = MCHAM1
  343. SEGDES MCHEL2
  344. MCHAM1.NOMCHE(1) = 'SCAL '
  345. MCHAM1.TYPCHE(1) = 'REAL*8 '
  346. SEGINI MELRO
  347. MCHAM1.IELVAL(1) = MELRO
  348. SEGDES MCHAM1
  349. C
  350. C**** Pression
  351. C
  352. MCHEL1 = IROF
  353. SEGINI, MCHEL2 = MCHEL1
  354. IPF = MCHEL2
  355. MCHEL2.TITCHE = 'P '
  356. C
  357. C**** MCHAM1 = MCHAML de la densite
  358. C
  359. SEGINI, MCHAM2 = MCHAM1
  360. MCHEL2.ICHAML(1) = MCHAM2
  361. SEGDES MCHEL2
  362. SEGINI MELP
  363. MCHAM2.IELVAL(1) = MELP
  364. SEGDES MCHAM2
  365. C
  366. C**** Les fractions massiques: le CHPOINT et le relative CHAMELEM
  367. C
  368. IF(IYC .NE. 0)THEN
  369. MCHPO1 = IYC
  370. SEGACT MCHPO1
  371. MSOUP1 = MCHPO1.IPCHP(1)
  372. SEGDES MCHPO1
  373. SEGACT MSOUP1
  374. NESP = MSOUP1.NOCOMP(/2)
  375. MPYC = MSOUP1.IPOVAL
  376. SEGACT MPYC
  377. C
  378. MCHEL1 = IROF
  379. SEGINI, MCHEL2 = MCHEL1
  380. IYF = MCHEL2
  381. MCHEL2.TITCHE = 'Y '
  382. N2 = NESP
  383. SEGINI MCHAMY
  384. MCHEL2.ICHAML(1) = MCHAMY
  385. SEGDES MCHEL2
  386. N1EL = NFAC
  387. N1PTEL = 3
  388. N2EL = 0
  389. N2PTEL = 0
  390. DO I1 = 1, NESP
  391. SEGINI MELVA1
  392. MCHAMY.IELVAL(I1) = MELVA1
  393. MCHAMY.NOMCHE(I1) = MSOUP1.NOCOMP(I1)
  394. MCHAMY.TYPCHE(I1) = 'REAL*8 '
  395. ENDDO
  396. C
  397. SEGDES MSOUP1
  398. NMA = NESP
  399. SEGINI FRAMAS
  400. ELSE
  401. IYF = 0
  402. NESP = 0
  403. ENDIF
  404. C
  405. C**** Les scalaires passifs: le CHPOINT et le relative CHAMELEM
  406. C
  407. IF(ISCAC .NE. 0)THEN
  408. MCHPO1 = ISCAC
  409. SEGACT MCHPO1
  410. MSOUP1 = MCHPO1.IPCHP(1)
  411. SEGDES MCHPO1
  412. SEGACT MSOUP1
  413. NSCA = MSOUP1.NOCOMP(/2)
  414. MPSC = MSOUP1.IPOVAL
  415. SEGACT MPSC
  416. C
  417. MCHEL1 = IROF
  418. SEGINI, MCHEL2 = MCHEL1
  419. ISCAF = MCHEL2
  420. MCHEL2.TITCHE = 'SCALPASS '
  421. N2 = NSCA
  422. SEGINI MCHAMS
  423. MCHEL2.ICHAML(1) = MCHAMS
  424. SEGDES MCHEL2
  425. N1EL = NFAC
  426. N1PTEL = 3
  427. N2EL = 0
  428. N2PTEL = 0
  429. DO I1 = 1, NSCA
  430. SEGINI MELVA1
  431. MCHAMS.IELVAL(I1) = MELVA1
  432. MCHAMS.NOMCHE(I1) = MSOUP1.NOCOMP(I1)
  433. MCHAMS.TYPCHE(I1) = 'REAL*8 '
  434. ENDDO
  435. C
  436. SEGDES MSOUP1
  437. NMA = NSCA
  438. SEGINI SCALPA
  439. C
  440. C**** On laisse actives les segments pointes par
  441. C MPYC, MCHAMY,FRAMAS, et le MELVALs relatifs aux
  442. C fractions massiques
  443. C
  444. C
  445. ELSE
  446. ISCAF = 0
  447. NSCA = 0
  448. ENDIF
  449. C
  450. C**** Recapitulatif
  451. C
  452. C MELVNX, MELVNY
  453. C MELT1X, MELT1Y -> normales et tangentes aux faces
  454. C
  455. C MELVUN, MELVUT -> vitesse
  456. C
  457. C MELRO -> densite
  458. C
  459. C MELP -> pression
  460. C
  461. C MPROC -> densite
  462. C
  463. C MPVITC -> vitesse
  464. C
  465. C MPPC -> pression
  466. C
  467. C MPNORM -> normales aux faces
  468. C
  469. C**** Boucle sur le faces
  470. C
  471. DO NLCF = 1, NFAC
  472. C
  473. C******* NLCF = numero local du centre de face
  474. C NGCF = numero global du centre de face
  475. C NGCEG = numero global du centre ELT "gauche"
  476. C NLCEG = numero local du centre ELT "gauche"
  477. C NGCED = numero global du centre ELT "droite"
  478. C NLCED = numero local du centre ELT "droite"
  479. C
  480. NGCEG = IPT1.NUM(1,NLCF)
  481. NGCF = IPT1.NUM(2,NLCF)
  482. NGCED = IPT1.NUM(3,NLCF)
  483. NLCEG = MLENT1.LECT(NGCEG)
  484. NLCED = MLENT1.LECT(NGCED)
  485. C
  486. C******* TEST: IPT2.NUM(1,NLCF) = IPT1.NUM(2,NLCF)
  487. C
  488. NGCF1 = IPT2.NUM(1,NLCF)
  489. IF( NGCF1 .NE. NGCF) THEN
  490. LOGAN = .TRUE.
  491. MESERR(1:40) = 'PRET, subroutine pre311.eso '
  492. GOTO 9999
  493. ENDIF
  494. C
  495. C******* Cosinus directeurs des NORMALES aux faces
  496. C
  497. C On impose que les normales sont direct "Gauche" -> "Centre"
  498. C
  499. XG = XCOOR((NGCEG-1)*(IDIM+1)+1)
  500. YG = XCOOR((NGCEG-1)*(IDIM+1)+2)
  501. XC = XCOOR((NGCF-1)*(IDIM+1)+1)
  502. YC = XCOOR((NGCF-1)*(IDIM+1)+2)
  503. DXG = XC - XG
  504. DYG = YC - YG
  505.  
  506. C
  507. C******* On calcule le sign du pruduit scalare
  508. C (Normales de Castem) * (vecteur "gauche" -> "centre")
  509. C
  510. CNX = MPNORM.VPOCHA(NLCF,1)
  511. CNY = MPNORM.VPOCHA(NLCF,2)
  512. ORIENT = CNX * DXG + CNY * DYG
  513. ORIENT = SIGN(1.0D0,ORIENT)
  514. IF(ORIENT .NE. 1.0D0)THEN
  515. LOGAN = .TRUE.
  516. MESERR(1:30)=
  517. & 'PRET , subroutine pre311.eso. '
  518. GOTO 9999
  519. ENDIF
  520. CNX = CNX * ORIENT
  521. CNY = CNY * ORIENT
  522. C
  523. C********** Cosinus directeurs de tangent 2D
  524. C
  525. CTX = -1.0D0 * CNY
  526. CTY = CNX
  527. C
  528. C
  529. C******* Les autres MELVALs
  530. C
  531. C
  532. C******* N.B.: On suppose qu'on a déjà controlle RO, P, > 0
  533. C Y \in (1,3)
  534. C
  535. C******* NGCEG = NGCED -> Mur
  536. C
  537. IF( NGCEG .EQ. NGCED)THEN
  538. ROG = MPROC.VPOCHA(NLCEG , 1)
  539. PG = MPPC.VPOCHA(NLCEG, 1)
  540. UXG = MPVITC.VPOCHA(NLCEG , 1)
  541. UYG = MPVITC.VPOCHA(NLCEG , 2)
  542. UNG = UXG * CNX + UYG * CNY
  543. UTG = UXG * CTX + UYG * CTY
  544. C
  545. C********** Son etat droite
  546. C
  547. ROD = ROG
  548. PD = PG
  549. UND = -1.0D0 * UNG
  550. UTD = UTG
  551. C
  552. C********** Les fractiones massiques
  553. C
  554. DO I1 = 1, NESP, 1
  555. FRAMAS.FRAMG(I1) = MPYC.VPOCHA(NLCEG,I1)
  556. FRAMAS.FRAMD(I1) = FRAMAS.FRAMG(I1)
  557. ENDDO
  558. C
  559. C********** Les scalaires passifs
  560. C
  561. DO I1 = 1, NSCA, 1
  562. SCALPA.FRAMG(I1) = MPSC.VPOCHA(NLCEG,I1)
  563. SCALPA.FRAMD(I1) = SCALPA.FRAMG(I1)
  564. ENDDO
  565. C
  566. C************* Fin cas mur
  567. C
  568. ELSE
  569. C
  570. C************* Etat gauche
  571. C
  572. ROG = MPROC.VPOCHA(NLCEG, 1)
  573. PG = MPPC.VPOCHA(NLCEG, 1)
  574. UXG = MPVITC.VPOCHA(NLCEG , 1)
  575. UYG = MPVITC.VPOCHA(NLCEG , 2)
  576. UNG = UXG * CNX + UYG * CNY
  577. UTG = UXG * CTX + UYG * CTY
  578. C
  579. C********** Etat droit
  580. C
  581. ROD = MPROC.VPOCHA(NLCED,1)
  582. PD = MPPC.VPOCHA(NLCED,1)
  583. C
  584. C************* On suppose qu'on a déjà controlle ROG, PG > 0
  585. C Si non il faut le faire!!!
  586. C
  587. UXD = MPVITC.VPOCHA(NLCED,1)
  588. UYD = MPVITC.VPOCHA(NLCED,2)
  589. UND = UXD * CNX + UYD * CNY
  590. UTD = UXD * CTX + UYD * CTY
  591. C
  592. C********** Les fractions massiques
  593. C
  594. DO I1 = 1, NESP, 1
  595. FRAMAS.FRAMG(I1) = MPYC.VPOCHA(NLCEG,I1)
  596. FRAMAS.FRAMD(I1) = MPYC.VPOCHA(NLCED,I1)
  597. ENDDO
  598. C
  599. C********** Les scalaires passifs
  600. C
  601. DO I1 = 1, NSCA, 1
  602. SCALPA.FRAMG(I1) = MPSC.VPOCHA(NLCEG,I1)
  603. SCALPA.FRAMD(I1) = MPSC.VPOCHA(NLCED,I1)
  604. ENDDO
  605. ENDIF
  606. C
  607. C************* Les MELVALs
  608. C
  609. MELRO.VELCHE(1,NLCF) = ROG
  610. MELRO.VELCHE(3,NLCF) = ROD
  611. MELP.VELCHE(1,NLCF) = PG
  612. MELP.VELCHE(3,NLCF) = PD
  613. MELVUN.VELCHE(1,NLCF) = UNG
  614. MELVUN.VELCHE(3,NLCF) = UND
  615. MELVUT.VELCHE(1,NLCF) = UTG
  616. MELVUT.VELCHE(3,NLCF) = UTD
  617. MELVNX.VELCHE(1,NLCF) = CNX
  618. MELVNY.VELCHE(1,NLCF) = CNY
  619. MELT1X.VELCHE(1,NLCF) = CTX
  620. MELT1Y.VELCHE(1,NLCF) = CTY
  621. DO I1 = 1, NESP, 1
  622. MELVA1 = MCHAMY.IELVAL(I1)
  623. MELVA1.VELCHE(1,NLCF) = FRAMAS.FRAMG(I1)
  624. MELVA1.VELCHE(3,NLCF) = FRAMAS.FRAMD(I1)
  625. ENDDO
  626. DO I1 = 1, NSCA, 1
  627. MELVA1 = MCHAMS.IELVAL(I1)
  628. MELVA1.VELCHE(1,NLCF) = SCALPA.FRAMG(I1)
  629. MELVA1.VELCHE(3,NLCF) = SCALPA.FRAMD(I1)
  630. ENDDO
  631. ENDDO
  632. C
  633. C**** Desactivation des SEGMENTs
  634. C
  635. SEGDES IPT1
  636. SEGDES IPT2
  637. C
  638. SEGDES MPROC
  639. SEGDES MPVITC
  640. SEGDES MPPC
  641. SEGDES MPNORM
  642. C
  643. SEGDES MELRO
  644. SEGDES MELP
  645. SEGDES MELVUN
  646. SEGDES MELVUT
  647. SEGDES MELVNX
  648. SEGDES MELVNY
  649. SEGDES MELT1X
  650. SEGDES MELT1Y
  651. C
  652. IF(NESP .GT. 0)THEN
  653. SEGDES MPYC
  654. DO I1 = 1, NESP
  655. MELVA1 = MCHAMY.IELVAL(I1)
  656. SEGDES MELVA1
  657. ENDDO
  658. SEGDES MCHAMY
  659. SEGSUP FRAMAS
  660. ENDIF
  661. IF(NSCA .GT. 0)THEN
  662. SEGDES MPSC
  663. DO I1 = 1, NSCA
  664. MELVA1 = MCHAMS.IELVAL(I1)
  665. SEGDES MELVA1
  666. ENDDO
  667. SEGDES MCHAMS
  668. SEGSUP SCALPA
  669. ENDIF
  670. C
  671. C**** Destruction du MELNTI correspondance local/global
  672. C
  673. SEGSUP MLENT1
  674. C
  675. 9999 CONTINUE
  676. C
  677. RETURN
  678. END
  679.  
  680.  
  681.  
  682.  
  683.  
  684.  
  685.  
  686.  
  687.  
  688.  
  689.  
  690.  
  691.  
  692.  

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