Télécharger kcent1.eso

Retour à la liste

Numérotation des lignes :

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

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