Télécharger ktrsf.eso

Retour à la liste

Numérotation des lignes :

ktrsf
  1. C KTRSF SOURCE CB215821 20/11/25 13:33:19 10792
  2. SUBROUTINE KTRSF(MACRO,MELEME,MTBT0,IRET,GA,EPS,EPSD,ALFA)
  3. IMPLICIT INTEGER(I-N)
  4. IMPLICIT REAL*8 (A-H,O-Z)
  5.  
  6. -INC PPARAM
  7. -INC CCOPTIO
  8. -INC CCGEOME
  9. -INC SMCOORD
  10. -INC SMCHPOI
  11. -INC SMELEME
  12. -INC SIZFFB
  13. POINTEUR MACRO.MELEME,MFACEI.MELEME,MFICEL.MELEME,MELTFI.MELEME
  14. POINTEUR MCTREI.MELEME,MELELI.MELEME,MELSTB.MELEME
  15. DIMENSION ITAB(5),GA(3),EPS(3),EPSD(3)
  16. PARAMETER (NBE=3)
  17. CHARACTER*8 LISTE(NBE),TYPE,LIST(NBE)
  18. DATA LISTE /'TRI6 ','QUA8 ','SEG3 '/
  19. DATA LIST /'TRI3 ','QUA4 ','SEG2 '/
  20.  
  21. COEF=ALFA*0.01D0
  22. IAXI=0
  23. IF(IFOMOD.EQ.0)IAXI=2
  24.  
  25. IRET=1
  26. IM =0
  27.  
  28. IPT5=0
  29. IPT6=0
  30. IPT7=0
  31.  
  32. NSOUPO=1
  33. NAT=1
  34. N=0
  35. C NC=3
  36. C aire de la face interne , 2 composantes de la normale
  37. C SEGINI MCHPOI,MSOUPO,MPOVAL
  38. KPOC=0
  39. NC=4
  40. SEGINI MCHPO1,MSOUP1,MPOVA1
  41. C JATTRI(1)=2
  42. MCHPO1.JATTRI(1)=2
  43. C IFOPOI=IFOMOD
  44. MCHPO1.IFOPOI=IFOMOD
  45. C MTYPOI='FACE '
  46. MCHPO1.MTYPOI='CENTRE '
  47. C MOCHDE=' '
  48. MCHPO1.MOCHDE=' '
  49. C IPCHP(1)=MSOUPO
  50. MCHPO1.IPCHP(1)=MSOUP1
  51.  
  52. C IPOVAL=MPOVAL
  53. MSOUP1.IPOVAL=MPOVA1
  54. C NOCOMP(1)='SCF1'
  55. MSOUP1.NOCOMP(1)='SCC1'
  56. MSOUP1.NOCOMP(2)='SCC2'
  57. MSOUP1.NOCOMP(3)='SCC3'
  58. MSOUP1.NOCOMP(4)='SCC4'
  59.  
  60. NBELEM=0
  61. NBNN=1
  62. NBSOUS=0
  63. NBREF=0
  64. SEGINI MCTREI
  65. MCTREI.ITYPEL=1
  66. KCTREI=0
  67. C MLELI Connectivités : pour chaque ligne pression donne les
  68. C connectivités pour la matrice de stabilisation
  69. C Pt centre Pts centre connectes Pts face intermediares
  70. C QUA8 -> 5 pts 1pc + 2pc + 2pf
  71. C TRI6 -> 3 pts 1pc + 1pc + 1pf
  72. C -> 7 pts 1pc + 3pc + 3pf
  73.  
  74. C NBELEM=0
  75. C NBNN=0
  76. C NBSOUS=0
  77. C NBREF=0
  78. C SEGINI MELELI
  79. C MELELI.ITYPEL=0
  80. C KELELI=0
  81.  
  82. C Connectivités de la matrice de stabilisation
  83. NBELEM=0
  84. NBNN=4
  85. NBSOUS=0
  86. NBREF=0
  87. SEGINI MELSTB
  88. MELSTB.ITYPEL=8
  89. KSTB=0
  90.  
  91. C NBELEM=0
  92. C NBNN=0
  93. C NBSOUS=0
  94. C NBREF=0
  95. C SEGINI MELTFI
  96. C KELTFI=0
  97.  
  98. C NBELEM=0
  99. C NBNN=1
  100. C NBSOUS=0
  101. C NBREF=0
  102. C SEGINI MFACEI
  103. C MFACEI.ITYPEL=1
  104. C KFACEI=0
  105.  
  106. C NBELEM=0
  107. C NBNN=3
  108. C NBSOUS=0
  109. C NBREF=0
  110. C SEGINI MFICEL
  111. C MFICEL.ITYPEL=3
  112. C KFICEL=0
  113.  
  114. SEGACT MACRO
  115. NBSOUS=MACRO.LISOUS(/1)
  116. IF(NBSOUS.EQ.0)NBSOUS=1
  117. DO 1 L=1,NBSOUS
  118. IPT1=MACRO
  119. IF(NBSOUS.NE.1)IPT1=MACRO.LISOUS(L)
  120. SEGACT IPT1
  121. TYPE=NOMS(IPT1.ITYPEL)//' '
  122. CALL OPTLI(IP,LISTE,TYPE,NBE)
  123. IF(IP.EQ.0)THEN
  124. WRITE(6,*)' Type d''élément : ',TYPE,' non prévu '
  125. IRET=0
  126. RETURN
  127. ENDIF
  128. GO TO (106,108,103),IP
  129.  
  130. C TRI6 -> 4 TRI3
  131. 106 CONTINUE
  132.  
  133. NBEL=IPT1.NUM(/2)
  134. NP=IPT1.NUM(/1)
  135. C NBPF=NBEL*3
  136. NBPF=0
  137. NBPC=NBEL*4
  138.  
  139. C N=NBPF+VPOCHA(/1)
  140. C NC=3
  141. C SEGADJ MPOVAL
  142. N=NBPC+MPOVA1.VPOCHA(/1)
  143. NC=4
  144. NCTV0=MPOVA1.VPOCHA(/1)
  145. SEGADJ MPOVA1
  146. segact mcoord*mod
  147. NBV0=nbpts
  148. NBPTS=NBV0+NBPF+NBPC
  149. SEGADJ MCOORD
  150.  
  151. NBELEM=NBPC
  152. NBNN=3
  153. NBSOUS=0
  154. NBREF=0
  155. SEGINI IPT2
  156. IPT2.ITYPEL=4
  157. IM=IM+1
  158. ITAB(IM)=IPT2
  159.  
  160. C IF(IPT5.EQ.0)THEN
  161. C NBELEM=3*NBEL
  162. C NBNN=3
  163. C NBSOUS=0
  164. C NBREF=0
  165. C K5=0
  166. C SEGINI IPT5
  167. C IPT5.ITYPEL=4
  168. C ELSE
  169. C K5=IPT5.NUM(/2)
  170. C NBELEM=IPT5.NUM(/2)+3*NBEL
  171. C NBNN=3
  172. C NBSOUS=0
  173. C NBREF=0
  174. C SEGADJ IPT5
  175. C ENDIF
  176. C
  177. C IF(IPT6.EQ.0)THEN
  178. C NBELEM=NBEL
  179. C NBNN=7
  180. C NBSOUS=0
  181. C NBREF=0
  182. C K6=0
  183. C SEGINI IPT6
  184. C IPT6.ITYPEL=7
  185. C ELSE
  186. C K6=IPT6.NUM(/2)
  187. C NBELEM=IPT6.NUM(/2)+NBEL
  188. C NBNN=7
  189. C NBSOUS=0
  190. C NBREF=0
  191. C SEGADJ IPT6
  192. C ENDIF
  193.  
  194. C Spg des pts centres des macro elements
  195. NCTR0=MCTREI.NUM(/2)
  196. NBELEM=NCTR0+NBPC
  197. NBNN=1
  198. NBSOUS=0
  199. NBREF=0
  200. SEGADJ MCTREI
  201. C write(6,*)' MCTREI=',mctrei,nbelem
  202. KCTREI=1
  203.  
  204. C Connectivités de la matrice de stabilisation
  205. NCSTB=MELSTB.NUM(/2)
  206. NBELEM=NCSTB+NBPC
  207. NBNN=4
  208. C write(6,*)' KTRSF : ',nbnn,nbelem
  209. NBSOUS=0
  210. NBREF=0
  211. SEGADJ MELSTB
  212. KSTB=1
  213.  
  214. C NBELEM=0
  215. C NBNN=0
  216. C NBS=MELTFI.LISOUS(/1)
  217. C NBSOUS=NBS+2
  218. C NBREF=0
  219. C SEGADJ MELTFI
  220. C KELTFI=1
  221. C NBELEM=3*NBEL
  222. C NBNN=2
  223. C NBSOUS=0
  224. C NBREF=0
  225. C SEGINI IPT3
  226. C IPT3.ITYPEL=2
  227. C MELTFI.LISOUS(NBS+1)=IPT3
  228. C NBELEM=NBEL
  229. C NBNN=4
  230. C NBSOUS=0
  231. C NBREF=0
  232. C SEGINI IPT4
  233. C IPT4.ITYPEL=5
  234. C MELTFI.LISOUS(NBS+2)=IPT4
  235.  
  236. C KFM=MFACEI.NUM(/2)
  237. C NBNN=MFACEI.NUM(/1)
  238. C NBELEM=MFACEI.NUM(/2)+NBPF
  239. C SEGADJ MFACEI
  240. C KFACEI=1
  241.  
  242. C NBNN=MFICEL.NUM(/1)
  243. C NBELEM=MFICEL.NUM(/2)+NBPF
  244. C SEGADJ MFICEL
  245. C KFICEL=1
  246.  
  247. CALL KALPBG('SEG2 ','FONFORM0',IZFFM)
  248. IF(IZFFM.EQ.0)CALL ARRET(0)
  249. SEGACT IZFFM*MOD
  250. IZHR=KZHR(1)
  251. SEGACT IZHR*MOD
  252. NPG=GR(/3)
  253. NES=GR(/1)
  254.  
  255. K1=0
  256. KF=0
  257. DO 206 K=1,NBEL
  258. N1=IPT1.NUM(1,K)
  259. N2=IPT1.NUM(2,K)
  260. N3=IPT1.NUM(3,K)
  261. N4=IPT1.NUM(4,K)
  262. N5=IPT1.NUM(5,K)
  263. N6=IPT1.NUM(6,K)
  264.  
  265. XN1=XCOOR((N1-1)*(IDIM+1) +1)
  266. YN1=XCOOR((N1-1)*(IDIM+1) +2)
  267. XN2=XCOOR((N2-1)*(IDIM+1) +1)
  268. YN2=XCOOR((N2-1)*(IDIM+1) +2)
  269. XN3=XCOOR((N3-1)*(IDIM+1) +1)
  270. YN3=XCOOR((N3-1)*(IDIM+1) +2)
  271. XN4=XCOOR((N4-1)*(IDIM+1) +1)
  272. YN4=XCOOR((N4-1)*(IDIM+1) +2)
  273. XN5=XCOOR((N5-1)*(IDIM+1) +1)
  274. YN5=XCOOR((N5-1)*(IDIM+1) +2)
  275. XN6=XCOOR((N6-1)*(IDIM+1) +1)
  276. YN6=XCOOR((N6-1)*(IDIM+1) +2)
  277.  
  278. K3=3*(K-1)
  279. CT1
  280. K1=K1+1
  281. KF=KF+1
  282. KFM=KFM+1
  283. NC1=NBV0+K1
  284. C NF1=NBV0+NBPC+KF
  285.  
  286. MCTREI.NUM(1,NCTR0+K1)=NC1
  287. IPT2.NUM(1,K1)=N1
  288. IPT2.NUM(2,K1)=N2
  289. IPT2.NUM(3,K1)=N6
  290. C IPT3.NUM(1,K3+1)=NC1
  291. C IPT3.NUM(2,K3+1)=NF1
  292.  
  293. XCOOR((NC1-1)*(IDIM+1) +1)= (XN1+XN2+XN6)/3.D0
  294. XCOOR((NC1-1)*(IDIM+1) +2)= (YN1+YN2+YN6)/3.D0
  295.  
  296. C XCOOR((NF1-1)*(IDIM+1) +1)= (XN2+XN6)/2.D0
  297. C XCOOR((NF1-1)*(IDIM+1) +2)= (YN2+YN6)/2.D0
  298.  
  299. C MFACEI.NUM(1,KFM)=NF1
  300. C MFICEL.NUM(1,KFM)=NC1
  301. C MFICEL.NUM(2,KFM)=NF1
  302. C MFICEL.NUM(3,KFM)=NC4
  303. CT2
  304. K1=K1+1
  305. KF=KF+1
  306. KFM=KFM+1
  307. NC2=NBV0+K1
  308. C NF2=NBV0+NBPC+KF
  309.  
  310. MCTREI.NUM(1,NCTR0+K1)=NC2
  311. IPT2.NUM(1,K1)=N3
  312. IPT2.NUM(2,K1)=N4
  313. IPT2.NUM(3,K1)=N2
  314. C IPT3.NUM(1,K3+2)=NC2
  315. C IPT3.NUM(2,K3+2)=NF2
  316.  
  317. XCOOR((NC2-1)*(IDIM+1) +1)= (XN3+XN4+XN2)/3.D0
  318. XCOOR((NC2-1)*(IDIM+1) +2)= (YN3+YN4+YN2)/3.D0
  319.  
  320. C XCOOR((NF2-1)*(IDIM+1) +1)= (XN4+XN2)/2.D0
  321. C XCOOR((NF2-1)*(IDIM+1) +2)= (YN4+YN2)/2.D0
  322.  
  323. C MFACEI.NUM(1,KFM)=NF2
  324. C MFICEL.NUM(1,KFM)=NC2
  325. C MFICEL.NUM(2,KFM)=NF2
  326. C MFICEL.NUM(3,KFM)=NC4
  327. CT3
  328. K1=K1+1
  329. KF=KF+1
  330. KFM=KFM+1
  331. NC3=NBV0+K1
  332. C NF3=NBV0+NBPC+KF
  333.  
  334. MCTREI.NUM(1,NCTR0+K1)=NC3
  335. IPT2.NUM(1,K1)=N5
  336. IPT2.NUM(2,K1)=N6
  337. IPT2.NUM(3,K1)=N4
  338. C IPT3.NUM(1,K3+3)=NC3
  339. C IPT3.NUM(2,K3+3)=NF3
  340.  
  341. XCOOR((NC3-1)*(IDIM+1) +1)= (XN5+XN6+XN4)/3.D0
  342. XCOOR((NC3-1)*(IDIM+1) +2)= (YN5+YN6+YN4)/3.D0
  343.  
  344. C XCOOR((NF3-1)*(IDIM+1) +1)= (XN6+XN4)/2.D0
  345. C XCOOR((NF3-1)*(IDIM+1) +2)= (YN6+YN4)/2.D0
  346.  
  347. C MFACEI.NUM(1,KFM)=NF3
  348. C MFICEL.NUM(1,KFM)=NC3
  349. C MFICEL.NUM(2,KFM)=NF3
  350. C MFICEL.NUM(3,KFM)=NC4
  351. CT4
  352. K1=K1+1
  353. NC4=NBV0+K1
  354. MCTREI.NUM(1,NCTR0+K1)=NC4
  355. IPT2.NUM(1,K1)=N2
  356. IPT2.NUM(2,K1)=N4
  357. IPT2.NUM(3,K1)=N6
  358.  
  359. XCOOR((NC4-1)*(IDIM+1) +1)= (XN2+XN4+XN6)/3.D0
  360. XCOOR((NC4-1)*(IDIM+1) +2)= (YN2+YN4+YN6)/3.D0
  361.  
  362. C IPT4.NUM(1,K)=NC4
  363. C IPT4.NUM(2,K)=NF1
  364. C IPT4.NUM(3,K)=NF2
  365. C IPT4.NUM(4,K)=NF3
  366.  
  367. C IPT5.NUM(1,K5+K)=NC1
  368. C IPT5.NUM(2,K5+K)=NC4
  369. C IPT5.NUM(3,K5+K)=NF1
  370.  
  371. C IPT5.NUM(1,K5+K+1)=NC2
  372. C IPT5.NUM(2,K5+K+1)=NC4
  373. C IPT5.NUM(3,K5+K+1)=NF2
  374.  
  375. C IPT5.NUM(1,K5+K+2)=NC3
  376. C IPT5.NUM(2,K5+K+2)=NC4
  377. C IPT5.NUM(3,K5+K+2)=NF3
  378. C K5=K5+2
  379.  
  380. C IPT6.NUM(1,K6+K)=NC4
  381. C IPT6.NUM(2,K6+K)=NC1
  382. C IPT6.NUM(3,K6+K)=NC2
  383. C IPT6.NUM(4,K6+K)=NC3
  384. C IPT6.NUM(5,K6+K)=NF1
  385. C IPT6.NUM(6,K6+K)=NF2
  386. C IPT6.NUM(7,K6+K)=NF3
  387.  
  388. NPI=2
  389.  
  390. XYZ(1,1)=XN2
  391. XYZ(2,1)=YN2
  392. XYZ(1,2)=XN6
  393. XYZ(2,2)=YN6
  394. CALL CALJBC(FN,GR,PG,XYZ,HR,PGSQ,RPG,NES,IDIM,NPI,NPG,IAXI,AIR1)
  395.  
  396. DF1=(XN2-XN6)**2.D0 + (YN2-YN6)**2.D0
  397. DF1=SQRT(DF1)
  398. TX1 = (XN2-XN6)/DF1
  399. TY1 = (YN2-YN6)/DF1
  400.  
  401. XYZ(1,1)=XN2
  402. XYZ(2,1)=YN2
  403. XYZ(1,2)=XN4
  404. XYZ(2,2)=YN4
  405. CALL CALJBC(FN,GR,PG,XYZ,HR,PGSQ,RPG,NES,IDIM,NPI,NPG,IAXI,AIR2)
  406.  
  407. DF2=(XN2-XN4)**2.D0 + (YN2-YN4)**2.D0
  408. DF2=SQRT(DF2)
  409. TX2 = (XN4-XN2)/DF2
  410. TY2 = (YN4-YN2)/DF2
  411.  
  412. XYZ(1,1)=XN6
  413. XYZ(2,1)=YN6
  414. XYZ(1,2)=XN4
  415. XYZ(2,2)=YN4
  416. CALL CALJBC(FN,GR,PG,XYZ,HR,PGSQ,RPG,NES,IDIM,NPI,NPG,IAXI,AIR3)
  417.  
  418. DF3=(XN6-XN4)**2.D0 + (YN6-YN4)**2.D0
  419. DF3=SQRT(DF3)
  420. TX3 = (XN6-XN4)/DF3
  421. TY3 = (YN6-YN4)/DF3
  422.  
  423. DFM=(DF1+DF2+DF3)/3.D0
  424. AIRM=(AIR1+AIR2+AIR3)/3.D0
  425. C AIR1=AIRM
  426. C AIR2=AIRM
  427. C AIR3=AIRM
  428. C DF1=DFM
  429. C DF2=DFM
  430. C DF3=DFM
  431.  
  432.  
  433. C VPOCHA(KFM-2,1)=DF1*AIR1
  434. C VPOCHA(KFM-1,1)=DF2*AIR2
  435. C VPOCHA(KFM ,1)=DF3*AIR3
  436. C
  437. C VPOCHA(KFM-2,2)=-TY1
  438. C VPOCHA(KFM-1,2)=-TY2
  439. C VPOCHA(KFM ,2)=-TY3
  440. C
  441. C VPOCHA(KFM-2,3)= TX1
  442. C VPOCHA(KFM-1,3)= TX2
  443. C VPOCHA(KFM ,3)= TX3
  444.  
  445. C MPOVA1.VPOCHA(NCTV0+K,1)=AIR1*DF1
  446. C MPOVA1.VPOCHA(NCTV0+K,2)=-AIR1*DF1
  447. C MPOVA1.VPOCHA(NCTV0+K+1,1)=AIR2*DF2
  448. C MPOVA1.VPOCHA(NCTV0+K+1,2)=-AIR2*DF2
  449. C MPOVA1.VPOCHA(NCTV0+K+2,1)=AIR3*DF3
  450. C MPOVA1.VPOCHA(NCTV0+K+2,2)=-AIR3*DF3
  451. C MPOVA1.VPOCHA(NCTV0+K+3,1)=(AIR1*DF1+AIR2*DF2+AIR3*DF3)
  452. C MPOVA1.VPOCHA(NCTV0+K+3,2)=-AIR1*DF1
  453. C MPOVA1.VPOCHA(NCTV0+K+3,3)=-AIR2*DF2
  454. C MPOVA1.VPOCHA(NCTV0+K+3,4)=-AIR3*DF3
  455.  
  456. MELSTB.NUM(1,NCSTB+K)=NC1
  457. MELSTB.NUM(2,NCSTB+K)=NC2
  458. MELSTB.NUM(3,NCSTB+K)=NC3
  459. MELSTB.NUM(4,NCSTB+K)=NC4
  460.  
  461. MELSTB.NUM(1,NCSTB+K+1)=NC2
  462. MELSTB.NUM(2,NCSTB+K+1)=NC3
  463. MELSTB.NUM(3,NCSTB+K+1)=NC4
  464. MELSTB.NUM(4,NCSTB+K+1)=NC1
  465.  
  466. MELSTB.NUM(1,NCSTB+K+2)=NC3
  467. MELSTB.NUM(2,NCSTB+K+2)=NC4
  468. MELSTB.NUM(3,NCSTB+K+2)=NC1
  469. MELSTB.NUM(4,NCSTB+K+2)=NC2
  470.  
  471. MELSTB.NUM(1,NCSTB+K+3)=NC4
  472. MELSTB.NUM(2,NCSTB+K+3)=NC1
  473. MELSTB.NUM(3,NCSTB+K+3)=NC2
  474. MELSTB.NUM(4,NCSTB+K+3)=NC3
  475.  
  476.  
  477. H14=AIR1*DF1*GA(1)
  478. H24=AIR2*DF2*GA(1)
  479. H34=AIR3*DF3*GA(1)
  480. H12=(AIR1*DF1+AIR2*DF2)*0.5D0*EPS(1)
  481. H13=(AIR1*DF1+AIR3*DF3)*0.5D0*EPS(1)
  482. H23=(AIR2*DF2+AIR3*DF3)*0.5D0*EPS(1)
  483.  
  484. MPOVA1.VPOCHA(NCTV0+K,1)=H12+H13+H14+EPSD(1)
  485. MPOVA1.VPOCHA(NCTV0+K,2)=-H12
  486. MPOVA1.VPOCHA(NCTV0+K,3)=-H13
  487. MPOVA1.VPOCHA(NCTV0+K,4)=-H14
  488. MPOVA1.VPOCHA(NCTV0+K+1,1)=H12+H23+H24+EPSD(1)
  489. MPOVA1.VPOCHA(NCTV0+K+1,2)=-H23
  490. MPOVA1.VPOCHA(NCTV0+K+1,3)=-H24
  491. MPOVA1.VPOCHA(NCTV0+K+1,4)=-H12
  492. MPOVA1.VPOCHA(NCTV0+K+2,1)=H13+H23+H34+EPSD(1)
  493. MPOVA1.VPOCHA(NCTV0+K+2,2)=-H34
  494. MPOVA1.VPOCHA(NCTV0+K+2,3)=-H13
  495. MPOVA1.VPOCHA(NCTV0+K+2,4)=-H23
  496. MPOVA1.VPOCHA(NCTV0+K+3,1)=-(H14+H24+H34)+EPSD(1)
  497. MPOVA1.VPOCHA(NCTV0+K+3,2)=-H14
  498. MPOVA1.VPOCHA(NCTV0+K+3,3)=-H24
  499. MPOVA1.VPOCHA(NCTV0+K+3,4)=-H34
  500. KPOC=1
  501. NCTV0=NCTV0+3
  502. NCSTB=NCSTB+3
  503.  
  504. 206 CONTINUE
  505. C SEGDES IPT1,IPT2,IPT3,IPT4
  506. SEGDES IPT2
  507. GO TO 1
  508.  
  509. C**************************************************************************
  510.  
  511. C QUA8 -> 4 QUA4
  512. 108 CONTINUE
  513.  
  514. NBEL=IPT1.NUM(/2)
  515. NP=IPT1.NUM(/1)
  516. NBP9=NBEL
  517. C NBPF=NBEL*4
  518. NBPF=0
  519. NBPC=NBEL*4
  520.  
  521. C N=NBPF+VPOCHA(/1)
  522. C NC=3
  523. C SEGADJ MPOVAL
  524. N=NBPC+MPOVA1.VPOCHA(/1)
  525. NC=4
  526. NCTV0=MPOVA1.VPOCHA(/1)
  527. SEGADJ MPOVA1
  528.  
  529. NBV0=nbpts
  530. NBPTS=NBV0+NBPF+NBPC+NBP9
  531. SEGADJ MCOORD
  532.  
  533. NBELEM=4*NBEL
  534. NBNN=4
  535. NBSOUS=0
  536. NBREF=0
  537. SEGINI IPT2
  538. IPT2.ITYPEL=8
  539. IM=IM+1
  540. ITAB(IM)=IPT2
  541.  
  542. C IF(IPT7.EQ.0)THEN
  543. C NBELEM=4*NBEL
  544. C NBNN=5
  545. C NBSOUS=0
  546. C NBREF=0
  547. C K7=0
  548. C SEGINI IPT7
  549. C IPT7.ITYPEL=9
  550. C ELSE
  551. C K7=IPT7.NUM(/2)
  552. C NBELEM=IPT7.NUM(/2)+4*NBEL
  553. C NBNN=5
  554. C NBSOUS=0
  555. C NBREF=0
  556. C SEGADJ IPT7
  557. C ENDIF
  558.  
  559. C Spg des pts centres des macro elements
  560. NCTR0=MCTREI.NUM(/2)
  561. NBELEM=NCTR0+NBPC
  562. NBNN=1
  563. NBSOUS=0
  564. NBREF=0
  565. SEGADJ MCTREI
  566. KCTREI=1
  567.  
  568. C Connectivités de la matrice de stabilisation
  569. NCSTB=MELSTB.NUM(/2)
  570. NBELEM=NCSTB+NBPC
  571. NBNN=4
  572. C write(6,*)' KTRSF : ',nbnn,nbelem
  573. NBSOUS=0
  574. NBREF=0
  575. SEGADJ MELSTB
  576. KSTB=1
  577.  
  578. C NBELEM=0
  579. C NBNN=0
  580. C NBS=MELTFI.LISOUS(/1)
  581. C NBSOUS=NBS+1
  582. C NBREF=0
  583. C SEGADJ MELTFI
  584. C KELTFI=1
  585. C NBELEM=4*NBEL
  586. C NBNN=3
  587. C NBSOUS=0
  588. C NBREF=0
  589. C SEGINI IPT3
  590. C IPT3.ITYPEL=4
  591. C MELTFI.LISOUS(NBS+1)=IPT3
  592.  
  593. C KFM=MFACEI.NUM(/2)
  594. C NBNN=MFACEI.NUM(/1)
  595. C NBELEM=MFACEI.NUM(/2)+NBPF
  596. C SEGADJ MFACEI
  597. C KFACEI=1
  598.  
  599. C NBNN=MFICEL.NUM(/1)
  600. C NBELEM=MFICEL.NUM(/2)+NBPF
  601. C SEGADJ MFICEL
  602. C KFICEL=1
  603.  
  604. CALL KALPBG('SEG2 ','FONFORM0',IZFFM)
  605. IF(IZFFM.EQ.0)CALL ARRET(0)
  606. SEGACT IZFFM*MOD
  607. IZHR=KZHR(1)
  608. SEGACT IZHR*MOD
  609. NPG=GR(/3)
  610. NES=GR(/1)
  611.  
  612. K1=0
  613. KF=0
  614. DO 208 K=1,NBEL
  615. N1=IPT1.NUM(1,K)
  616. N2=IPT1.NUM(2,K)
  617. N3=IPT1.NUM(3,K)
  618. N4=IPT1.NUM(4,K)
  619. N5=IPT1.NUM(5,K)
  620. N6=IPT1.NUM(6,K)
  621. N7=IPT1.NUM(7,K)
  622. N8=IPT1.NUM(8,K)
  623. N9=NBV0+NBPF+NBPC+K
  624.  
  625. XN1=XCOOR((N1-1)*(IDIM+1) +1)
  626. YN1=XCOOR((N1-1)*(IDIM+1) +2)
  627. XN2=XCOOR((N2-1)*(IDIM+1) +1)
  628. YN2=XCOOR((N2-1)*(IDIM+1) +2)
  629. XN3=XCOOR((N3-1)*(IDIM+1) +1)
  630. YN3=XCOOR((N3-1)*(IDIM+1) +2)
  631. XN4=XCOOR((N4-1)*(IDIM+1) +1)
  632. YN4=XCOOR((N4-1)*(IDIM+1) +2)
  633. XN5=XCOOR((N5-1)*(IDIM+1) +1)
  634. YN5=XCOOR((N5-1)*(IDIM+1) +2)
  635. XN6=XCOOR((N6-1)*(IDIM+1) +1)
  636. YN6=XCOOR((N6-1)*(IDIM+1) +2)
  637. XN7=XCOOR((N7-1)*(IDIM+1) +1)
  638. YN7=XCOOR((N7-1)*(IDIM+1) +2)
  639. XN8=XCOOR((N8-1)*(IDIM+1) +1)
  640. YN8=XCOOR((N8-1)*(IDIM+1) +2)
  641. XN9=(XN1+XN2+XN3+XN4+XN5+XN6+XN7+XN8)/8.D0
  642. YN9=(YN1+YN2+YN3+YN4+YN5+YN6+YN7+YN8)/8.D0
  643. DX=ABS(XN3-XN7)+ABS(XN1-XN5)
  644. DY=ABS(YN3-YN7)+ABS(YN1-YN5)
  645. XCOOR((N9-1)*(IDIM+1) +1)=XN9+DX*COEF
  646. XCOOR((N9-1)*(IDIM+1) +2)=YN9+DY*COEF
  647.  
  648. CQ1
  649. K1=K1+1
  650. KF=KF+1
  651. NC1=NBV0+K1
  652. C NF1=NBV0+NBPC+KF
  653.  
  654. MCTREI.NUM(1,NCTR0+K1)=NC1
  655. IPT2.NUM(1,K1)=N1
  656. IPT2.NUM(2,K1)=N2
  657. IPT2.NUM(3,K1)=N9
  658. IPT2.NUM(4,K1)=N8
  659.  
  660. XCOOR((NC1-1)*(IDIM+1) +1)= (XN1+XN2+XN9+XN8)/4.D0
  661. XCOOR((NC1-1)*(IDIM+1) +2)= (YN1+YN2+YN9+YN8)/4.D0
  662.  
  663. C XCOOR((NF1-1)*(IDIM+1) +1)= (XN2+XN9)/2.D0
  664. C XCOOR((NF1-1)*(IDIM+1) +2)= (YN2+YN9)/2.D0
  665.  
  666. CQ2
  667. K1=K1+1
  668. KF=KF+1
  669. NC2=NBV0+K1
  670. C NF2=NBV0+NBPC+KF
  671.  
  672. MCTREI.NUM(1,NCTR0+K1)=NC2
  673. IPT2.NUM(1,K1)=N3
  674. IPT2.NUM(2,K1)=N4
  675. IPT2.NUM(3,K1)=N9
  676. IPT2.NUM(4,K1)=N2
  677.  
  678. XCOOR((NC2-1)*(IDIM+1) +1)= (XN3+XN4+XN9+XN2)/4.D0
  679. XCOOR((NC2-1)*(IDIM+1) +2)= (YN3+YN4+YN9+YN2)/4.D0
  680.  
  681. C XCOOR((NF2-1)*(IDIM+1) +1)= (XN4+XN9)/2.D0
  682. C XCOOR((NF2-1)*(IDIM+1) +2)= (YN4+YN9)/2.D0
  683.  
  684. CQ3
  685. K1=K1+1
  686. KF=KF+1
  687. NC3=NBV0+K1
  688. C NF3=NBV0+NBPC+KF
  689.  
  690. MCTREI.NUM(1,NCTR0+K1)=NC3
  691. IPT2.NUM(1,K1)=N5
  692. IPT2.NUM(2,K1)=N6
  693. IPT2.NUM(3,K1)=N9
  694. IPT2.NUM(4,K1)=N4
  695.  
  696. XCOOR((NC3-1)*(IDIM+1) +1)= (XN5+XN6+XN9+XN4)/4.D0
  697. XCOOR((NC3-1)*(IDIM+1) +2)= (YN5+YN6+YN9+YN4)/4.D0
  698.  
  699. C XCOOR((NF3-1)*(IDIM+1) +1)= (XN6+XN9)/2.D0
  700. C XCOOR((NF3-1)*(IDIM+1) +2)= (YN6+YN9)/2.D0
  701.  
  702. CQ4
  703. K1=K1+1
  704. KF=KF+1
  705. NC4=NBV0+K1
  706. C NF4=NBV0+NBPC+KF
  707.  
  708. MCTREI.NUM(1,NCTR0+K1)=NC4
  709. IPT2.NUM(1,K1)=N7
  710. IPT2.NUM(2,K1)=N8
  711. IPT2.NUM(3,K1)=N9
  712. IPT2.NUM(4,K1)=N6
  713.  
  714. XCOOR((NC4-1)*(IDIM+1) +1)= (XN7+XN8+XN9+XN6)/4.D0
  715. XCOOR((NC4-1)*(IDIM+1) +2)= (YN7+YN8+YN9+YN6)/4.D0
  716.  
  717. C XCOOR((NF4-1)*(IDIM+1) +1)= (XN8+XN9)/2.D0
  718. C XCOOR((NF4-1)*(IDIM+1) +2)= (YN9+YN9)/2.D0
  719.  
  720. C KFM=KFM+1
  721. C MFACEI.NUM(1,KFM)=NF1
  722. C MFICEL.NUM(1,KFM)=NC1
  723. C MFICEL.NUM(2,KFM)=NF1
  724. C MFICEL.NUM(3,KFM)=NC2
  725.  
  726. C KFM=KFM+1
  727. C MFACEI.NUM(1,KFM)=NF2
  728. C MFICEL.NUM(1,KFM)=NC2
  729. C MFICEL.NUM(2,KFM)=NF2
  730. C MFICEL.NUM(3,KFM)=NC3
  731.  
  732. C KFM=KFM+1
  733. C MFACEI.NUM(1,KFM)=NF3
  734. C MFICEL.NUM(1,KFM)=NC3
  735. C MFICEL.NUM(2,KFM)=NF3
  736. C MFICEL.NUM(3,KFM)=NC4
  737.  
  738. C KFM=KFM+1
  739. C MFACEI.NUM(1,KFM)=NF4
  740. C MFICEL.NUM(1,KFM)=NC4
  741. C MFICEL.NUM(2,KFM)=NF4
  742. C MFICEL.NUM(3,KFM)=NC1
  743.  
  744. C K4=4*(K-1)
  745. C IPT3.NUM(1,K4+1)=NC1
  746. C IPT3.NUM(2,K4+1)=NF1
  747. C IPT3.NUM(3,K4+1)=NF4
  748.  
  749. C IPT3.NUM(1,K4+2)=NC2
  750. C IPT3.NUM(2,K4+2)=NF2
  751. C IPT3.NUM(3,K4+2)=NF1
  752.  
  753. C IPT3.NUM(1,K4+3)=NC3
  754. C IPT3.NUM(2,K4+3)=NF3
  755. C IPT3.NUM(3,K4+3)=NF2
  756.  
  757. C IPT3.NUM(1,K4+4)=NC4
  758. C IPT3.NUM(2,K4+4)=NF4
  759. C IPT3.NUM(3,K4+4)=NF3
  760.  
  761. C IPT7.NUM(1,K7+K)=NC1
  762. C IPT7.NUM(2,K7+K)=NC2
  763. C IPT7.NUM(3,K7+K)=NC4
  764. C IPT7.NUM(4,K7+K)=NF1
  765. C IPT7.NUM(5,K7+K)=NF4
  766.  
  767. C IPT7.NUM(1,K7+K+1)=NC2
  768. C IPT7.NUM(2,K7+K+1)=NC3
  769. C IPT7.NUM(3,K7+K+1)=NC1
  770. C IPT7.NUM(4,K7+K+1)=NF2
  771. C IPT7.NUM(5,K7+K+1)=NF1
  772.  
  773. C IPT7.NUM(1,K7+K+2)=NC3
  774. C IPT7.NUM(2,K7+K+2)=NC4
  775. C IPT7.NUM(3,K7+K+2)=NC2
  776. C IPT7.NUM(4,K7+K+2)=NF3
  777. C IPT7.NUM(5,K7+K+2)=NF2
  778.  
  779. C IPT7.NUM(1,K7+K+3)=NC4
  780. C IPT7.NUM(2,K7+K+3)=NC1
  781. C IPT7.NUM(3,K7+K+3)=NC3
  782. C IPT7.NUM(4,K7+K+3)=NF4
  783. C IPT7.NUM(5,K7+K+3)=NF3
  784. C K7=K7+3
  785.  
  786. NPI=2
  787.  
  788. XYZ(1,1)=XN2
  789. XYZ(2,1)=YN2
  790. XYZ(1,2)=XN9
  791. XYZ(2,2)=YN9
  792. CALL CALJBC(FN,GR,PG,XYZ,HR,PGSQ,RPG,NES,IDIM,NPI,NPG,IAXI,AIR1)
  793.  
  794. DF1=(XN2-XN9)**2.D0 + (YN2-YN9)**2.D0
  795. DF1=SQRT(DF1)
  796. TX1 = (XN2-XN9)/DF1
  797. TY1 = (YN2-YN9)/DF1
  798.  
  799. XYZ(1,1)=XN4
  800. XYZ(2,1)=YN4
  801. XYZ(1,2)=XN9
  802. XYZ(2,2)=YN9
  803. CALL CALJBC(FN,GR,PG,XYZ,HR,PGSQ,RPG,NES,IDIM,NPI,NPG,IAXI,AIR2)
  804.  
  805. DF2=(XN4-XN9)**2.D0 + (YN4-YN9)**2.D0
  806. DF2=SQRT(DF2)
  807. TX2 = (XN4-XN9)/DF2
  808. TY2 = (YN4-YN9)/DF2
  809.  
  810. XYZ(1,1)=XN6
  811. XYZ(2,1)=YN6
  812. XYZ(1,2)=XN9
  813. XYZ(2,2)=YN9
  814. CALL CALJBC(FN,GR,PG,XYZ,HR,PGSQ,RPG,NES,IDIM,NPI,NPG,IAXI,AIR3)
  815.  
  816. DF3=(XN6-XN9)**2.D0 + (YN6-YN9)**2.D0
  817. DF3=SQRT(DF3)
  818. TX3 = (XN6-XN9)/DF3
  819. TY3 = (YN6-YN9)/DF3
  820.  
  821. XYZ(1,1)=XN8
  822. XYZ(2,1)=YN8
  823. XYZ(1,2)=XN9
  824. XYZ(2,2)=YN9
  825. CALL CALJBC(FN,GR,PG,XYZ,HR,PGSQ,RPG,NES,IDIM,NPI,NPG,IAXI,AIR4)
  826.  
  827. DF4=(XN8-XN9)**2.D0 + (YN8-YN9)**2.D0
  828. DF4=SQRT(DF4)
  829. TX4 = (XN8-XN9)/DF4
  830. TY4 = (YN8-YN9)/DF4
  831.  
  832. DFM=(DF1+DF2+DF3+DF4)/4.D0
  833. C? DF1=1.D0
  834. C? DF2=1.D0
  835. C? DF3=1.D0
  836. C? DF4=1.D0
  837. AIRM=(AIR1+AIR2+AIR3+AIR4)/4.D0
  838. C? AIR1=AIRM
  839. C? AIR2=AIRM
  840. C? AIR3=AIRM
  841. C? AIR4=AIRM
  842.  
  843. C VPOCHA(KFM-3,1)=DF1*AIR1
  844. C VPOCHA(KFM-2,1)=DF2*AIR2
  845. C VPOCHA(KFM-1,1)=DF3*AIR3
  846. C VPOCHA(KFM ,1)=DF4*AIR4
  847. C
  848. C VPOCHA(KFM-3,2)=-TY1
  849. C VPOCHA(KFM-2,2)=-TY2
  850. C VPOCHA(KFM-1,2)=-TY3
  851. C VPOCHA(KFM ,2)=-TY4
  852.  
  853. C VPOCHA(KFM-3,3)= TX1
  854. C VPOCHA(KFM-2,3)= TX2
  855. C VPOCHA(KFM-1,3)= TX3
  856. C VPOCHA(KFM ,3)= TX4
  857.  
  858. C? MPOVA1.VPOCHA(NCTV0+K,1)=AIR1+AIR4
  859. C? MPOVA1.VPOCHA(NCTV0+K,2)=-AIR1
  860. C? MPOVA1.VPOCHA(NCTV0+K,3)=-AIR4
  861. C? MPOVA1.VPOCHA(NCTV0+K+1,1)=AIR2+AIR1
  862. C? MPOVA1.VPOCHA(NCTV0+K+1,2)=-AIR2
  863. C? MPOVA1.VPOCHA(NCTV0+K+1,3)=-AIR1
  864. C? MPOVA1.VPOCHA(NCTV0+K+2,1)=AIR3+AIR2
  865. C? MPOVA1.VPOCHA(NCTV0+K+2,2)=-AIR3
  866. C? MPOVA1.VPOCHA(NCTV0+K+2,3)=-AIR2
  867. C? MPOVA1.VPOCHA(NCTV0+K+3,1)=AIR4+AIR3
  868. C? MPOVA1.VPOCHA(NCTV0+K+3,2)=-AIR4
  869. C? MPOVA1.VPOCHA(NCTV0+K+3,3)=-AIR3
  870.  
  871. MELSTB.NUM(1,NCSTB+K)=NC1
  872. MELSTB.NUM(2,NCSTB+K)=NC2
  873. MELSTB.NUM(3,NCSTB+K)=NC3
  874. MELSTB.NUM(4,NCSTB+K)=NC4
  875.  
  876. MELSTB.NUM(1,NCSTB+K+1)=NC2
  877. MELSTB.NUM(2,NCSTB+K+1)=NC3
  878. MELSTB.NUM(3,NCSTB+K+1)=NC4
  879. MELSTB.NUM(4,NCSTB+K+1)=NC1
  880.  
  881. MELSTB.NUM(1,NCSTB+K+2)=NC3
  882. MELSTB.NUM(2,NCSTB+K+2)=NC4
  883. MELSTB.NUM(3,NCSTB+K+2)=NC1
  884. MELSTB.NUM(4,NCSTB+K+2)=NC2
  885.  
  886. MELSTB.NUM(1,NCSTB+K+3)=NC4
  887. MELSTB.NUM(2,NCSTB+K+3)=NC1
  888. MELSTB.NUM(3,NCSTB+K+3)=NC2
  889. MELSTB.NUM(4,NCSTB+K+3)=NC3
  890.  
  891.  
  892. H12=AIR1*DF1*GA(2)
  893. H13=AIRM*DFM*EPS(2)
  894. H14=AIR4*DF4*GA(2)
  895. H23=AIR2*DF2*GA(2)
  896. H24=AIRM*DFM*EPS(2)
  897. H34=AIR3*DF3*GA(2)
  898.  
  899. MPOVA1.VPOCHA(NCTV0+K,1)=H12+H13+H14
  900. MPOVA1.VPOCHA(NCTV0+K,2)=-H12
  901. MPOVA1.VPOCHA(NCTV0+K,3)=-H13
  902. MPOVA1.VPOCHA(NCTV0+K,4)=-H14
  903. MPOVA1.VPOCHA(NCTV0+K+1,1)=H12+H23+H24
  904. MPOVA1.VPOCHA(NCTV0+K+1,2)=-H23
  905. MPOVA1.VPOCHA(NCTV0+K+1,3)=-H24
  906. MPOVA1.VPOCHA(NCTV0+K+1,4)=-H12
  907. MPOVA1.VPOCHA(NCTV0+K+2,1)=H13+H23+H34
  908. MPOVA1.VPOCHA(NCTV0+K+2,2)=-H34
  909. MPOVA1.VPOCHA(NCTV0+K+2,3)=-H13
  910. MPOVA1.VPOCHA(NCTV0+K+2,4)=-H23
  911. MPOVA1.VPOCHA(NCTV0+K+3,1)=H14+H24+H34
  912. MPOVA1.VPOCHA(NCTV0+K+3,2)=-H14
  913. MPOVA1.VPOCHA(NCTV0+K+3,3)=-H24
  914. MPOVA1.VPOCHA(NCTV0+K+3,4)=-H34
  915. KPOC=1
  916. NCTV0=NCTV0+3
  917. NCSTB=NCSTB+3
  918.  
  919. 208 CONTINUE
  920. C SEGDES IPT1,IPT2,IPT3
  921. SEGDES IPT2
  922. GO TO 1
  923.  
  924. C**************************************************************************
  925.  
  926. C SEG3 -> 2 SEG2
  927. 103 CONTINUE
  928. NBEL=IPT1.NUM(/2)
  929. NP=IPT1.NUM(/1)
  930.  
  931. NBPC=NBEL*2
  932.  
  933. NBV0=nbpts
  934. NBPTS=NBV0+NBPC
  935. SEGADJ MCOORD
  936.  
  937. NBELEM=2*NBEL
  938. NBNN=2
  939. NBSOUS=0
  940. NBREF=0
  941. SEGINI IPT2
  942. IPT2.ITYPEL=2
  943. IM=IM+1
  944. ITAB(IM)=IPT2
  945.  
  946. C Spg des pts centres des macro elements
  947. NCTR0=MCTREI.NUM(/2)
  948. NBELEM=NCTR0+NBPC
  949. NBNN=1
  950. NBSOUS=0
  951. NBREF=0
  952. SEGADJ MCTREI
  953. KCTREI=1
  954.  
  955. K1=0
  956. DO 203 K=1,NBEL
  957. N1=IPT1.NUM(1,K)
  958. N2=IPT1.NUM(2,K)
  959. N3=IPT1.NUM(3,K)
  960. XN1=XCOOR((N1-1)*(IDIM+1) +1)
  961. YN1=XCOOR((N1-1)*(IDIM+1) +2)
  962. XN2=XCOOR((N2-1)*(IDIM+1) +1)
  963. YN2=XCOOR((N2-1)*(IDIM+1) +2)
  964. XN3=XCOOR((N3-1)*(IDIM+1) +1)
  965. YN3=XCOOR((N3-1)*(IDIM+1) +2)
  966. XNC1=(XN1+XN2)/2.D0
  967. YNC1=(YN1+YN2)/2.D0
  968. XNC2=(XN2+XN3)/2.D0
  969. YNC2=(YN2+YN3)/2.D0
  970.  
  971.  
  972. CS1
  973. K1=K1+1
  974. NC1=NBV0+K1
  975. MCTREI.NUM(1,NCTR0+K1)=NC1
  976. XCOOR((NC1-1)*(IDIM+1) +1)=XNC1
  977. XCOOR((NC1-1)*(IDIM+1) +2)=YNC1
  978.  
  979. IPT2.NUM(1,K1)=N1
  980. IPT2.NUM(2,K1)=N2
  981.  
  982. CS2
  983. K1=K1+1
  984. NC2=NBV0+K1
  985. MCTREI.NUM(1,NCTR0+K1)=NC2
  986. XCOOR((NC2-1)*(IDIM+1) +1)=XNC2
  987. XCOOR((NC2-1)*(IDIM+1) +2)=YNC2
  988.  
  989. IPT2.NUM(1,K1)=N2
  990. IPT2.NUM(2,K1)=N3
  991. 203 CONTINUE
  992. SEGDES IPT1,IPT2
  993. GO TO 1
  994.  
  995.  
  996. 1 CONTINUE
  997. C IF(MELTFI.LISOUS(/1).EQ.1)THEN
  998. C MEL=MELTFI.LISOUS(1)
  999. C SEGSUP MELTFI
  1000. C MELTFI=MEL
  1001. C ENDIF
  1002.  
  1003. IF(IM.EQ.1)THEN
  1004. MELEME=ITAB(1)
  1005. ELSE
  1006. IF(IM.GT.5)THEN
  1007. WRITE(6,*)' Problemes dans DOMA option MACRO '
  1008. RETURN
  1009. ENDIF
  1010. NBELEM=0
  1011. NBNN=0
  1012. NBSOUS=IM
  1013. NBREF=0
  1014. SEGINI MELEME
  1015. DO 2 L=1,NBSOUS
  1016. LISOUS(L)=ITAB(L)
  1017. 2 CONTINUE
  1018. ENDIF
  1019. CALL ECMO(MTBT0,'MELEME','MAILLAGE',MELEME)
  1020.  
  1021. C IF(IPT5.EQ.0.AND.IPT7.NE.0)THEN
  1022. C CALL ECMO(MTBT0,'MELELI','MAILLAGE',IPT7 )
  1023. C ELSEIF(IPT5.NE.0)THEN
  1024. C NBELEM=0
  1025. C NBNN=0
  1026. C NBREF=0
  1027. C NBSOUS=2
  1028. C IF(IPT7.NE.0)NBSOUS=3
  1029. C SEGINI MELELI
  1030. C MELELI.LISOUS(1)=IPT5
  1031. C MELELI.LISOUS(2)=IPT6
  1032. C IF(IPT7.NE.0)MELELI.LISOUS(3)=IPT7
  1033. C CALL ECMO(MTBT0,'MELELI','MAILLAGE',MELELI)
  1034. C ENDIF
  1035.  
  1036. C Connectivités de la matrice de stabilisation
  1037.  
  1038. IF(KSTB.NE.0)THEN
  1039. CALL ECMO(MTBT0,'MELSTB','MAILLAGE',MELSTB)
  1040. ELSE
  1041. SEGSUP MELSTB
  1042. MELSTB=0
  1043. ENDIF
  1044.  
  1045. IF(KCTREI.NE.0)THEN
  1046. CALL ECMO(MTBT0,'MCTREI','MAILLAGE',MCTREI)
  1047. IF(KPOC.NE.0)THEN
  1048. MSOUP1.IGEOC=MCTREI
  1049. CALL ECMO(MTBT0,'MCHPOC','CHPOINT',MCHPO1)
  1050. ELSE
  1051. SEGSUP MCHPO1,MSOUP1,MPOVA1
  1052. ENDIF
  1053. ELSE
  1054. SEGSUP MCTREI
  1055. MCTREI=0
  1056. ENDIF
  1057.  
  1058. C IF(KFACEI.NE.0)THEN
  1059. C CALL ECMO(MTBT0,'MFACEI','MAILLAGE',MFACEI)
  1060. C SEGDES MFACEI
  1061. C IGEOC=MFACEI
  1062. C CALL ECMO(MTBT0,'MCHPOF','CHPOINT',MCHPOI)
  1063. C ELSE
  1064. C SEGSUP MFACEI
  1065. C MFACEI=0
  1066. C ENDIF
  1067.  
  1068. C IF(KFICEL.NE.0)THEN
  1069. C CALL ECMO(MTBT0,'MFICEL','MAILLAGE',MFICEL)
  1070. C SEGDES MFICEL
  1071. C ELSE
  1072. C SEGSUP MFICEL
  1073. C MFICEL=0
  1074. C ENDIF
  1075.  
  1076. C IF(KELTFI.NE.0)THEN
  1077. C CALL ECMO(MTBT0,'MELTFI','MAILLAGE',MELTFI)
  1078. C SEGDES MELTFI
  1079. C ELSE
  1080. C SEGSUP MELTFI
  1081. C MELTFI=0
  1082. C ENDIF
  1083.  
  1084.  
  1085. SEGDES MELEME,MACRO
  1086.  
  1087. RETURN
  1088. END
  1089.  
  1090.  
  1091.  
  1092.  
  1093.  
  1094.  
  1095.  
  1096.  
  1097.  
  1098.  
  1099.  
  1100.  
  1101.  
  1102.  
  1103.  
  1104.  
  1105.  
  1106.  

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