Télécharger kcent1.eso

Retour à la liste

Numérotation des lignes :

kcent1
  1. C KCENT1 SOURCE OF166741 24/10/07 21:15:30 12016
  2. SUBROUTINE KCENT1 (IPMODL,IPCHE1,IPROTA,IPRIG,IFLAM,IRET)
  3. *
  4. *_______________________________________________________________________
  5. *
  6. * appelé par KCENTR ( opérateur KCEN )
  7. *
  8. * Creation d'une matrice de raideur centrifuge
  9. * (Calcul dans un repère tournant)
  10. *
  11. * entrees :
  12. * ========
  13. *
  14. * ipmodl pointeur sur un mmodel
  15. * ipche1 pointeur sur un mchaml de caracteristique
  16. * iprota pointeur sur un point (vecteur vitesse de rotation)
  17. * iflam vrai si on se sert de la matrice pour des calculs de flambage
  18. *
  19. * sorties :
  20. * =========
  21. *
  22. * iprig pointeur sur la matrice de raideur centrifuge
  23. * iret 1 si ok, 0 sinon
  24. *
  25. * Didier COMBESCURE mars 2003
  26. *_______________________________________________________________________
  27. IMPLICIT INTEGER(I-N)
  28. IMPLICIT REAL*8(A-H,O-Z)
  29.  
  30. -INC PPARAM
  31. -INC CCOPTIO
  32. -INC CCHAMP
  33. -INC CCGEOME
  34. -INC CCREEL
  35. -INC SMRIGID
  36. -INC SMCHAML
  37. -INC SMELEME
  38. -INC SMCOORD
  39. -INC SMINTE
  40. -INC SMMODEL
  41. C
  42. SEGMENT NOTYPE
  43. CHARACTER*16 TYPE(NBTYPE)
  44. ENDSEGMENT
  45. C
  46. SEGMENT MPTVAL
  47. INTEGER IPOS(NS),NSOF(NS)
  48. INTEGER IVAL(NCOSOU)
  49. CHARACTER*16 TYVAL(NCOSOU)
  50. ENDSEGMENT
  51. C
  52. CHARACTER*8 CMATE
  53. CHARACTER*(NCONCH) CONM
  54. PARAMETER (NINF=3)
  55. INTEGER INFOS(NINF)
  56. LOGICAL lsupfo,lsupdp
  57. C
  58. DIMENSION VROT(3)
  59. C
  60. NHRM=NIFOUR
  61. IRET = 0
  62.  
  63.  
  64. C Activation XCOOR
  65. SEGACT MCOORD
  66. C____________________________________________________________________
  67. C
  68. C LECTURE DU VECTEUR ROTATION
  69. C____________________________________________________________________
  70. C
  71. C Cas 3D (idim=3)
  72. IF (IFOUR.EQ.2) THEN
  73. IF (IPROTA.EQ.0) THEN
  74. VROT(1) = 0.D0
  75. VROT(2) = 0.D0
  76. VROT(3) = 1.D0
  77. ELSE
  78. VROT(1) = XCOOR((4*IPROTA) - 3)
  79. VROT(2) = XCOOR((4*IPROTA) - 2)
  80. VROT(3) = XCOOR((4*IPROTA) - 1)
  81. ENDIF
  82. C Cas Axi et 2D Fourier (idim=2)
  83. ELSE IF ((IFOUR.EQ.0) .OR. (IFOUR.EQ.1)) THEN
  84. IF (IPROTA.EQ.0) THEN
  85. VROT(1) = 0.D0
  86. VROT(2) = 1.D0
  87. VROT(3) = 0.D0
  88. ELSE
  89. VROT(1) = 0.D0
  90. VROT(2) = XCOOR((3*IPROTA) - 1)
  91. VROT(3) = 0.D0
  92. ENDIF
  93. C Pas d'autres cas ...
  94. C --> ERREUR "Fonction indisponible pour ce mode de calcul"
  95. ELSE
  96. IPRIG=0
  97. CALL ERREUR(710)
  98. RETURN
  99. ENDIF
  100.  
  101.  
  102. C____________________________________________________________________
  103. C
  104. C ACTIVATION DU MODELE
  105. C____________________________________________________________________
  106. MMODEL=IPMODL
  107. SEGACT MMODEL
  108. NSOUS=KMODEL(/1)
  109. C
  110. c_______________________________________________________________________
  111. c
  112. c initialisation du chapeau de l objet rigidite
  113. c_______________________________________________________________________
  114. NRIGEL=NSOUS
  115. SEGINI MRIGID
  116. IF (IFLAM.NE.0) THEN
  117. MTYMAT='MASSE'
  118. ELSE
  119. MTYMAT='RIGIDITE'
  120. ENDIF
  121. IFORIG=IFOUR
  122. ICHOLE=0
  123. IMGEO1=0
  124. IMGEO2=0
  125. ISUPEQ=0
  126. DO 499 ISOUS=1,NSOUS
  127. IRIGEL(4,ISOUS)=0
  128. COERIG(ISOUS)=1.D0
  129. 499 CONTINUE
  130.  
  131. C_______________________________________________________________________
  132. C
  133. C DEBUT DE LA BOUCLE SUR LES DIFFERENTES SOUS ZONES
  134. C_______________________________________________________________________
  135. C
  136. DO 500 ISOUS=1,NSOUS
  137. C
  138. C ON RECUPERE LINFORMATION GENERALES
  139. C
  140. IMODEL=KMODEL(ISOUS)
  141. SEGACT IMODEL
  142. IIPDPG = imodel.IPDPGE
  143. IIPDPG = IPTPOI(IIPDPG)
  144. IPMAIL = imodel.IMAMOD
  145. CONM = imodel.CONMOD
  146. C
  147. C TRAITEMENT DU MODELE
  148. C
  149. MELEME=IMAMOD
  150. MELE=NEFMOD
  151. NFOR=FORMOD(/2)
  152. NMAT=MATMOD(/2)
  153. npint = MAX(infmod(1),1)
  154. C
  155. C NATURE DU MATERIAU
  156. C
  157. CALL NOMATE(FORMOD,NFOR,MATMOD,NMAT,CMATE,MATE,INAT)
  158. IF (CMATE.EQ.' ') THEN
  159. CALL ERREUR(251)
  160. GOTO 9997
  161. ENDIF
  162. C_______________________________________________________________________
  163. C
  164. C INFORMATION SUR L ELEMENT FINI
  165. C_______________________________________________________________________
  166. C
  167. * if (npint.eq.12345) then
  168. * integration aux noeuds
  169. * CALL ELQUOI(MELE,0,1,IPINF,IMODEL)
  170. * else
  171. * CALL ELQUOI(MELE,0,4,IPINF,IMODEL)
  172. * endif
  173. iplaz=4
  174. if (npint.eq.12345) iplaz=1
  175. * IF (IERR.NE.0) THEN
  176. * GOTO 9997
  177. * ENDIF
  178. MFR =INFELE(13)
  179. LRE =INFELE(9)
  180. LW =INFELE(7)
  181. LHOOK =INFELE(10)
  182. NDDL =INFELE(15)
  183. IELE=INFELE(14)
  184. ICARA=INFELE(5)
  185. * MINTE=INFELE(11)
  186. MINTE=INFMOD(2+iplaz)
  187. MINTE1=INFMOD(8)
  188. IPMINT=MINTE
  189. IPMIN1=MINTE1
  190. C
  191. C INITIALISATION DE MINTE
  192. C
  193. SEGACT,MINTE
  194. NBPGAU=POIGAU(/1)
  195. C
  196. C CREATION DU TABLEAU INFOS
  197. C
  198. CALL IDENT(IPMAIL,CONM,IPCHE1,0,INFOS,IRTD)
  199. IF (IRTD.EQ.0) GOTO 9996
  200. C
  201. C ON RECUPERE LES MELVAL ET LES MELEME
  202. C
  203. MELEME=IPMAIL
  204. SEGACT MELEME
  205. *
  206. * modification du meleme pour le remplissage du segment descripteur
  207. * en deformations planes generalisees
  208. *
  209. NBNN =NUM(/1)
  210. NBELEM=NUM(/2)
  211. IPPORE=0
  212. IF(MFR.EQ.33) IPPORE=NBNN
  213. C
  214. C ---------------------------------------------------------*
  215. C INITIALISATION DU SEGMENT DESCR, SEGMENT DESCRIPTEUR DES *
  216. C DES INCONNUES RELATIVES A LA MATRICE DE RIGIDITE *
  217. C ---------------------------------------------------------*
  218. NLIGRP = INFELE(9)
  219. NLIGRD = INFELE(9)
  220. SEGINI DESCR
  221. IPDSCR=DESCR
  222. if(lnomid(1).ne.0) then
  223. nomid=lnomid(1)
  224. segact nomid
  225. modepl=nomid
  226. ndepl=lesobl(/2)
  227. ndum=lesfac(/2)
  228. lsupdp=.false.
  229. else
  230. lsupdp=.true.
  231. CALL IDPRIM(IMODEL,MFR,MODEPL,NDEPL,NDUM)
  232. endif
  233. if(lnomid(2).ne.0) then
  234. nomid=lnomid(2)
  235. segact nomid
  236. moforc=nomid
  237. nforc=lesobl(/2)
  238. lsupfo=.false.
  239. else
  240. lsupfo=.true.
  241. CALL IDDUAL(IMODEL,MFR,MOFORC,NFORC,NDUM)
  242. endif
  243. C
  244. IF (NDEPL.EQ.0.OR.NFORC.EQ.0.OR.NDEPL.NE.NFORC) THEN
  245. CALL ERREUR(5)
  246. SEGSUP DESCR
  247. GOTO 9990
  248. ENDIF
  249. C
  250. C REMPLISSAGE DU SEGMENT DESCRIPTEUR
  251. C
  252. IDDL=1
  253. NCOMP=NDEPL
  254. NBNNS=NBNN
  255. C IF (MFR.EQ.33) NCOMP=NDEPL-1
  256. C IF (IFOUR.EQ.-3) THEN
  257. C NCOMP=NDEPL-3
  258. C NBNNS=NBNN-1
  259. C ENDIF
  260. IF (MFR.EQ.19.OR.MFR.EQ.21) NBNNS=NBNN/2
  261. NOMID=MODEPL
  262. SEGACT NOMID
  263. NOMID=MOFORC
  264. SEGACT NOMID
  265. DO 1004 INOEUD=1,NBNNS
  266. DO 1005 ICOMP=1,NCOMP
  267. NOMID=MODEPL
  268. LISINC(IDDL)=LESOBL(ICOMP)
  269. NOMID=MOFORC
  270. LISDUA(IDDL)=LESOBL(ICOMP)
  271. NOELEP(IDDL)=INOEUD
  272. NOELED(IDDL)=INOEUD
  273. IDDL=IDDL+1
  274. 1005 CONTINUE
  275. 1004 CONTINUE
  276. *
  277. NOMID=MODEPL
  278. NOMID=MOFORC
  279. SEGDES DESCR
  280. C
  281. C ------------------------------------------------------------*
  282. C INITIALISATION DU SEGMENT xMATRI, *
  283. C CONTENANT LES MATRICES DE RIGIDITE ELEMENTAIRES *
  284. C ------------------------------------------------------------*
  285. C NBELEM: NB D'ELEMENTS DANS LA SOUS ZONE
  286. NLIGRP=LRE
  287. NLIGRD=LRE
  288. C LVAL=(LRE*(LRE+1))/2
  289. C
  290. NELRIG=NBELEM
  291. SEGINI xMATRI
  292. IPMATR=xMATRI
  293. C
  294. C------------------------------------------------------*
  295. C TRAITEMENT DU CHAPEAU DES RIGIDITES, SEGMENT MRIGID *
  296. C------------------------------------------------------*
  297. C
  298. IRIGEL(1,ISOUS)=IPMAIL
  299. IRIGEL(2,ISOUS)=0
  300. IRIGEL(3,ISOUS)=IPDSCR
  301. IRIGEL(4,ISOUS)=xMATRI
  302. IRIGEL(5,ISOUS)=NHRM
  303. C
  304. C MATRICE SYMETRIQUE
  305. C
  306. IRIGEL(7,ISOUS)=0
  307. C
  308. C_______________________________________________________________________
  309. C
  310. C TRAITEMENT DES CHAMP MATERIAUX
  311. C_______________________________________________________________________
  312. C
  313. NBROBL=0
  314. NBRFAC=0
  315. MOMATR=0
  316. IVAMAT=0
  317. IVACAR=0
  318. LHOTRA=0
  319. *
  320. * rho dans les cas poutre,tuyau, barr et massif
  321. *
  322. IF (MFR.EQ.1.OR.MFR.EQ.27.OR.MFR.EQ.7.OR.MFR.EQ.13.OR.
  323. . MFR.EQ.3.OR.MFR.EQ.5.OR.MFR.EQ.9) THEN
  324. *
  325. IF(CMATE.NE.'SECTION') THEN
  326. NBROBL=1
  327. SEGINI NOMID
  328. LESOBL(1)='RHO '
  329. NBTYPE=1
  330. SEGINI NOTYPE
  331. TYPE(1)='REAL*8'
  332. ELSE
  333. LHOTRA=LHOOK
  334. NBROBL=2
  335. SEGINI NOMID
  336. MOMATR=NOMID
  337. LESOBL(1)='MODS'
  338. LESOBL(2)='MATS'
  339. NBTYPE=2
  340. SEGINI NOTYPE
  341. TYPE(1)='POINTEURMMODEL'
  342. TYPE(2)='POINTEURMCHAML'
  343. ENDIF
  344. MOMATR=NOMID
  345. MOTYPE=NOTYPE
  346. ENDIF
  347. C
  348. IF (MOMATR.NE.0) THEN
  349. *
  350. * verification du support des composantes recherchees
  351. *
  352. CALL QUESUQ(IMODEL,IPCHE1,4,0,MOMATR,IPLAZ,ISUP,IRET1)
  353. IF(ISUP.GT.1)THEN
  354. GO TO 9990
  355. ENDIF
  356. *
  357. CALL KOMCHA(IPCHE1,IPMAIL,CONM,MOMATR,MOTYPE,1,INFOS,3,IVAMAT)
  358. SEGSUP NOTYPE
  359. IF (IERR.NE.0) GOTO 9990
  360. NMATR=NBROBL
  361. NMATF=NBRFAC
  362. NMATT=NMATR+NMATF
  363. IF(ISUP.EQ.1)THEN
  364. CALL VALCHE(IVAMAT,NMATT,IPMINT,IPPORE,MOMATR,MELE)
  365. IF(IERR.NE.0)THEN
  366. ISUP=0
  367. GOTO 9990
  368. ENDIF
  369. ENDIF
  370. ENDIF
  371. C
  372. NMATR=NBROBL
  373. NMATF=NBRFAC
  374. NMATT=NMATR+NMATF
  375. C
  376. C____________________________________________________________________
  377. C
  378. C TRAITEMENT DES CHAMPS DE CARACTERISTIQUES
  379. C____________________________________________________________________
  380. C
  381. NBROBL=0
  382. NBRFAC=0
  383. MOCARA=0
  384. NCARA=0
  385. NCARF=0
  386. NCARR=0
  387. IVECT=0
  388. *
  389. * caracteristiques pour les poutres
  390. *
  391. IF (MFR.EQ.7 ) THEN
  392. IF (CMATE.EQ.'SECTION') THEN
  393. NBROBL=0
  394. NBRFAC=4
  395. SEGINI NOMID
  396. MOCARA=NOMID
  397. LESFAC(1)='OMEG'
  398. LESFAC(2)='VX'
  399. LESFAC(3)='VY'
  400. LESFAC(4)='VZ'
  401. IVECT=1
  402. *
  403. NBTYPE=4
  404. SEGINI NOTYPE
  405. MOTYPE=NOTYPE
  406. TYPE(1)='REAL*8'
  407. TYPE(2)='REAL*8'
  408. TYPE(3)='REAL*8'
  409. TYPE(4)='REAL*8'
  410. *
  411. ELSE
  412. NBROBL=4
  413. NBRFAC=6
  414. SEGINI NOMID
  415. MOCARA=NOMID
  416. LESOBL(1)='TORS'
  417. LESOBL(2)='INRY'
  418. LESOBL(3)='INRZ'
  419. LESOBL(4)='SECT'
  420. LESFAC(1)='SECY'
  421. LESFAC(2)='SECZ'
  422. LESFAC(3)='OMEG'
  423. LESFAC(4)='VX'
  424. LESFAC(5)='VY'
  425. LESFAC(6)='VZ'
  426. IVECT=1
  427. *
  428. NBTYPE=10
  429. SEGINI NOTYPE
  430. MOTYPE=NOTYPE
  431. TYPE(1)='REAL*8'
  432. TYPE(2)='REAL*8'
  433. TYPE(3)='REAL*8'
  434. TYPE(4)='REAL*8'
  435. TYPE(5)='REAL*8'
  436. TYPE(6)='REAL*8'
  437. TYPE(7)='REAL*8'
  438. TYPE(8)='REAL*8'
  439. TYPE(9)='REAL*8'
  440. TYPE(10)='REAL*8'
  441. ENDIF
  442. *
  443. * caracteristiques pour les tuyaux
  444. *
  445. ELSE IF (MFR.EQ.13) THEN
  446. NBROBL=2
  447. NBRFAC=5
  448. SEGINI NOMID
  449. MOCARA=NOMID
  450. LESOBL(1)='EPAI'
  451. LESOBL(2)='RAYO'
  452. LESFAC(1)='RACO'
  453. LESFAC(2)='OMEG'
  454. LESFAC(3)='VX'
  455. LESFAC(4)='VY'
  456. LESFAC(5)='VZ'
  457. IVECT=1
  458. *
  459. NBTYPE=7
  460. SEGINI NOTYPE
  461. MOTYPE=NOTYPE
  462. TYPE(1)='REAL*8'
  463. TYPE(2)='REAL*8'
  464. TYPE(3)='REAL*8'
  465. TYPE(4)='REAL*8'
  466. TYPE(5)='REAL*8'
  467. TYPE(6)='REAL*8'
  468. TYPE(7)='REAL*8'
  469. *
  470. * caracteristiques pour les barres
  471. *
  472. ELSE IF (MFR.EQ.27) THEN
  473. NBRFAC=0
  474. NBROBL=1
  475. SEGINI NOMID
  476. MOCARA=NOMID
  477. LESOBL(1)='SECT'
  478. *
  479. NBTYPE=1
  480. SEGINI NOTYPE
  481. MOTYPE=NOTYPE
  482. TYPE(1)='REAL*8'
  483. *
  484. * epaisseur et excentrement dans le cas des coques
  485. *
  486. ELSEIF (MFR.EQ.3.OR.MFR.EQ.5.OR.MFR.EQ.9) THEN
  487. NBROBL=1
  488. NBRFAC=1
  489. SEGINI NOMID
  490. MOCARA=NOMID
  491. LESOBL(1)='EPAI'
  492. LESFAC(1)='EXCE'
  493. *
  494. NBTYPE=1
  495. SEGINI NOTYPE
  496. MOTYPE=NOTYPE
  497. TYPE(1)='REAL*8'
  498. *
  499. ENDIF
  500. *
  501. IF (MOCARA.NE.0) THEN
  502. *
  503. * verification du support des composantes recherchees
  504. *
  505. CALL QUESUQ(IMODEL,IPCHE1,4,0,MOCARA,IPLAZ,ISUP,IRET2)
  506. IF(ISUP.GT.1)THEN
  507. GO TO 9990
  508. ENDIF
  509. *
  510. CALL KOMCHA(IPCHE1,IPMAIL,CONM,MOCARA,MOTYPE,1,INFOS,3,IVACAR)
  511. SEGSUP NOTYPE
  512. IF (IERR.NE.0) GOTO 9990
  513. NCARA=NBROBL
  514. NCARF=NBRFAC
  515. NCARR=NCARA+NCARF
  516. IF(ISUP.EQ.1)THEN
  517. CALL VALCHE(IVACAR,NCARR,IPMINT,IPPORE,MOCARA,MELE)
  518. IF(IERR.NE.0)THEN
  519. ISUP=0
  520. GOTO 9990
  521. ENDIF
  522. ENDIF
  523. ENDIF
  524. NCARA=NBROBL
  525. NCARF=NBRFAC
  526. NCARR=NCARA+NCARF
  527. C
  528. C
  529. C_______________________________________________________________________
  530. C
  531. C NUMERO DES ETIQUETTES :
  532. C ETIQUETTES DE 1 A 98 POUR TRAITEMENT SPECIFIQUE A L ELEMENT
  533. C LES ELEMENTS SONT GROUPES COMME SUIT :
  534. C - MASSIF,LIQUIDE 'SURFACE LIBRE' ----------------------> KCENT3
  535. C - COQ3/POUTRE,DKT,COQ4,COQ8,COQ2,DST ------------------> KCENT2
  536. C ET POUTRE DE TIMOSCHENKO
  537. C_______________________________________________________________________
  538. * CABL SEG2 SEG3 TRI3 TRI4 TRI6 TRI7 QUA4 QUA5 QUA8 QUA9
  539. GOTO ( 99, 99, 11, 11, 99, 11, 99, 11, 99, 11, 99
  540. * RAC2 RAC3 CUB8 CU20 PRI6 PR15 LIA3 LIA4 LIA6 LIA8 MULT
  541. & , 99, 99, 11, 11, 11, 11, 99, 99, 99, 99, 99
  542. * TET4 TE10 PYR5 PY13 COQ3 DKT POUT LISP FAC3 FAC4 FAC6
  543. & , 11, 11, 11, 11, 21, 21, 21, 99, 99, 99, 99
  544. * FAC8 LTR3 LQU4 LCU8 LPR6 LTE4 LPY5 COQ8 TUYA TUFI COQ2
  545. & , 99, 99, 99, 99, 99, 99, 99, 21, 21, 99, 21
  546. * POI1 BARR RACO LSU2 COQ4 LISM COF3 RES2 LSU3 LSU4 LICO
  547. & , 99, 21, 99, 99, 21, 99, 99, 99, 99, 99, 99
  548. * COQ6 CVS2 CVS3 CVT3 CVT6 CVQ4 CVQ8 THP5 TH13 THP6 TH15
  549. & , 21, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99
  550. * THC8 TH20 ICT3 ICQ4 ICT6 ICQ8 ICC8 ICT4 ICP6 IC20 IC10
  551. & , 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99
  552. * IC15 TRIP QUAP CUBP TETP PRIP TIMO JOI2 JOI3 JOT3 JOI4
  553. & , 99, 99, 99, 99, 99, 99, 21, 99, 99, 99, 99
  554. * JOI6 JOI8 LISC TRIH DST LIC4 CERC TUYO LSE2 LITU HYT3
  555. & , 99, 99, 99, 99, 21, 99, 21, 99, 99, 99, 99
  556. * HYQ4 HYT4 HYP6 HYC8 TRIS QUAS POIS FOR3 JOP3 JOP6 JOP8
  557. & , 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99
  558. * POL3 POL4 POL5 POL6 POL7 POL8 POL9 PO10 PO11 PO12 PO13
  559. & , 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99
  560. * PO14 BAR3 BAEX LIA2 QUAH CUBH ROT3 SEF2 TRF3 QUF4 CUF8
  561. & , 99, 21, 99, 99, 99, 99, 99, 99, 99, 99, 99
  562. * PRF6 TEF4 PYF5 MSE3 MTR6 MQU9 MC27 MP18 MT10 MP14 SEF3
  563. & , 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99
  564. * TRF7 QUF9 CF27 PF21 TF15 PF19 SEG6 TR21 QU36 C216 P126
  565. & , 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99
  566. * TE56 PY91 TRH6
  567. & , 99, 99, 99),MELE
  568. C
  569. 99 CONTINUE
  570. SEGSUP xMATRI
  571. IRIGEL(4,ISOUS)=0
  572. MOTERR(1:4)=NOMTP(MELE)
  573. MOTERR(5:12)='KCEN'
  574. CALL ERREUR(86)
  575. GOTO 9990
  576. C_______________________________________________________________________
  577. C
  578. C MASSIF
  579. C_______________________________________________________________________
  580. C
  581. 11 CONTINUE
  582. CALL KCENT3 (IPMAIL,NDDL,LRE,NBPGAU,IPMINT,MELE,MFR,IVAMAT,
  583. &IVACAR,NMATT,IPMATR,VROT,IIPDPG)
  584. GOTO 510
  585. C_______________________________________________________________________
  586. C
  587. C BARRE, POUTRE, POUTRE DE TIMOSCHENKO, COQUE, CERC
  588. C_______________________________________________________________________
  589. C
  590. 21 CONTINUE
  591. CALL KCENT2(IPMAIL,LRE,LW,MELE,IVAMAT,NMATT,IVACAR,NCARR,
  592. &IVECT,ISOUS,NBPGAU,IPMINT,IPMIN1,NDDL,MATE,
  593. &CMATE,LHOTRA,IPMATR,VROT,IIPDPG)
  594. GOTO 510
  595. C_______________________________________________________________________
  596. C
  597. C DESACTIVATION DES SEGMENTS PROPRES A LA ZONE GEOMETRIQUE IA
  598. C_______________________________________________________________________
  599. C
  600. 510 CONTINUE
  601. C
  602. IF (ISUP.EQ.1) THEN
  603. CALL DTMVAL(IVAMAT,3)
  604. CALL DTMVAL(IVACAR,3)
  605. ELSE
  606. CALL DTMVAL(IVAMAT,1)
  607. CALL DTMVAL(IVACAR,1)
  608. ENDIF
  609. C
  610. NOMID=MOCARA
  611. IF (MOCARA.NE.0) SEGSUP NOMID
  612. NOMID=MOMATR
  613. SEGSUP NOMID
  614. NOMID=MOFORC
  615. if(lsupfo)SEGSUP NOMID
  616. NOMID=MODEPL
  617. if(lsupdp)SEGSUP NOMID
  618. C
  619. C ERREUR DANS LES S-P MASSE2 ,MASSE3 ,MASSE4
  620. C
  621. IF (IERR.NE.0) GOTO 9997
  622.  
  623. 500 CONTINUE
  624.  
  625. IRET = 1
  626. SEGDES MRIGID
  627. IPRIG = MRIGID
  628. GOTO 666
  629. C
  630. C ERREUR DANS UNE SOUS ZONE, DESACTIVATION ET RETOUR
  631. C
  632. 9990 CONTINUE
  633. IRET = 0
  634.  
  635. IF (ISUP.EQ.1) THEN
  636. CALL DTMVAL(IVAMAT,3)
  637. CALL DTMVAL(IVACAR,3)
  638. ELSE
  639. CALL DTMVAL(IVAMAT,1)
  640. CALL DTMVAL(IVACAR,1)
  641. ENDIF
  642. C
  643. NOMID=MOMATR
  644. IF (MOMATR.NE.0) SEGSUP NOMID
  645. NOMID=MOCARA
  646. IF (MOCARA.NE.0) SEGSUP NOMID
  647. NOMID=MOFORC
  648. if(lsupfo)SEGSUP NOMID
  649. NOMID=MODEPL
  650. if(lsupdp)SEGSUP NOMID
  651. C
  652. 9996 CONTINUE
  653. C
  654. 9997 CONTINUE
  655. SEGSUP MRIGID
  656. IPRIG = 0
  657. C
  658. 666 CONTINUE
  659. C Desactivation XCOOR
  660. SEGDES MCOORD
  661.  
  662. END
  663.  
  664.  
  665.  
  666.  
  667.  
  668.  
  669.  
  670.  
  671.  

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