Télécharger ktrsf.eso

Retour à la liste

Numérotation des lignes :

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

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