Télécharger kcent1.eso

Retour à la liste

Numérotation des lignes :

kcent1
  1. C KCENT1 SOURCE PV090527 26/04/30 21:15:42 12529
  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. RIGREL=0
  275. SEGINI xMATRI
  276. IPMATR=xMATRI
  277. C
  278. C------------------------------------------------------*
  279. C TRAITEMENT DU CHAPEAU DES RIGIDITES, SEGMENT MRIGID *
  280. C------------------------------------------------------*
  281. C
  282. IRIGEL(1,ISOUS)=IPMAIL
  283. IRIGEL(2,ISOUS)=0
  284. IRIGEL(3,ISOUS)=IPDSCR
  285. IRIGEL(4,ISOUS)=xMATRI
  286. IRIGEL(5,ISOUS)=NHRM
  287. C
  288. C MATRICE SYMETRIQUE
  289. C
  290. IRIGEL(7,ISOUS)=0
  291. C
  292. C_______________________________________________________________________
  293. C
  294. C TRAITEMENT DES CHAMP MATERIAUX
  295. C_______________________________________________________________________
  296. C
  297. NBROBL=0
  298. NBRFAC=0
  299. MOMATR=0
  300. IVAMAT=0
  301. IVACAR=0
  302. LHOTRA=0
  303. *
  304. * rho dans les cas poutre,tuyau, barr et massif
  305. *
  306. IF (MFR.EQ.1.OR.MFR.EQ.27.OR.MFR.EQ.7.OR.MFR.EQ.13.OR.
  307. . MFR.EQ.3.OR.MFR.EQ.5.OR.MFR.EQ.9) THEN
  308. *
  309. IF(CMATE.NE.'SECTION') THEN
  310. NBROBL=1
  311. SEGINI NOMID
  312. LESOBL(1)='RHO '
  313. NBTYPE=1
  314. SEGINI NOTYPE
  315. TYPE(1)='REAL*8'
  316. ELSE
  317. LHOTRA=LHOOK
  318. NBROBL=2
  319. SEGINI NOMID
  320. MOMATR=NOMID
  321. LESOBL(1)='MODS'
  322. LESOBL(2)='MATS'
  323. NBTYPE=2
  324. SEGINI NOTYPE
  325. TYPE(1)='POINTEURMMODEL'
  326. TYPE(2)='POINTEURMCHAML'
  327. ENDIF
  328. MOMATR=NOMID
  329. MOTYPE=NOTYPE
  330. ENDIF
  331. C
  332. IF (MOMATR.NE.0) THEN
  333. *
  334. * verification du support des composantes recherchees
  335. *
  336. CALL QUESUQ(IMODEL,IPCHE1,4,0,MOMATR,IPLAZ,ISUP,IRET1)
  337. IF(ISUP.GT.1)THEN
  338. GO TO 9990
  339. ENDIF
  340. *
  341. CALL KOMCHA(IPCHE1,IPMAIL,CONM,MOMATR,MOTYPE,1,INFOS,3,IVAMAT)
  342. SEGSUP NOTYPE
  343. IF (IERR.NE.0) GOTO 9990
  344. NMATR=NBROBL
  345. NMATF=NBRFAC
  346. NMATT=NMATR+NMATF
  347. IF(ISUP.EQ.1)THEN
  348. CALL VALCHE(IVAMAT,NMATT,IPMINT,IPPORE,MOMATR,MELE)
  349. IF(IERR.NE.0)THEN
  350. ISUP=0
  351. GOTO 9990
  352. ENDIF
  353. ENDIF
  354. ENDIF
  355. C
  356. NMATR=NBROBL
  357. NMATF=NBRFAC
  358. NMATT=NMATR+NMATF
  359. C
  360. C____________________________________________________________________
  361. C
  362. C TRAITEMENT DES CHAMPS DE CARACTERISTIQUES
  363. C____________________________________________________________________
  364. C
  365. NBROBL=0
  366. NBRFAC=0
  367. MOCARA=0
  368. NCARA=0
  369. NCARF=0
  370. NCARR=0
  371. IVECT=0
  372. *
  373. * caracteristiques pour les poutres
  374. *
  375. IF (MFR.EQ.7 ) THEN
  376. IF (CMATE.EQ.'SECTION') THEN
  377. NBROBL=0
  378. NBRFAC=4
  379. SEGINI NOMID
  380. MOCARA=NOMID
  381. LESFAC(1)='OMEG'
  382. LESFAC(2)='VX'
  383. LESFAC(3)='VY'
  384. LESFAC(4)='VZ'
  385. IVECT=1
  386. *
  387. NBTYPE=4
  388. SEGINI NOTYPE
  389. MOTYPE=NOTYPE
  390. TYPE(1)='REAL*8'
  391. TYPE(2)='REAL*8'
  392. TYPE(3)='REAL*8'
  393. TYPE(4)='REAL*8'
  394. *
  395. ELSE
  396. NBROBL=4
  397. NBRFAC=6
  398. SEGINI NOMID
  399. MOCARA=NOMID
  400. LESOBL(1)='TORS'
  401. LESOBL(2)='INRY'
  402. LESOBL(3)='INRZ'
  403. LESOBL(4)='SECT'
  404. LESFAC(1)='SECY'
  405. LESFAC(2)='SECZ'
  406. LESFAC(3)='OMEG'
  407. LESFAC(4)='VX'
  408. LESFAC(5)='VY'
  409. LESFAC(6)='VZ'
  410. IVECT=1
  411. *
  412. NBTYPE=10
  413. SEGINI NOTYPE
  414. MOTYPE=NOTYPE
  415. TYPE(1)='REAL*8'
  416. TYPE(2)='REAL*8'
  417. TYPE(3)='REAL*8'
  418. TYPE(4)='REAL*8'
  419. TYPE(5)='REAL*8'
  420. TYPE(6)='REAL*8'
  421. TYPE(7)='REAL*8'
  422. TYPE(8)='REAL*8'
  423. TYPE(9)='REAL*8'
  424. TYPE(10)='REAL*8'
  425. ENDIF
  426. *
  427. * caracteristiques pour les tuyaux
  428. *
  429. ELSE IF (MFR.EQ.13) THEN
  430. NBROBL=2
  431. NBRFAC=5
  432. SEGINI NOMID
  433. MOCARA=NOMID
  434. LESOBL(1)='EPAI'
  435. LESOBL(2)='RAYO'
  436. LESFAC(1)='RACO'
  437. LESFAC(2)='OMEG'
  438. LESFAC(3)='VX'
  439. LESFAC(4)='VY'
  440. LESFAC(5)='VZ'
  441. IVECT=1
  442. *
  443. NBTYPE=7
  444. SEGINI NOTYPE
  445. MOTYPE=NOTYPE
  446. TYPE(1)='REAL*8'
  447. TYPE(2)='REAL*8'
  448. TYPE(3)='REAL*8'
  449. TYPE(4)='REAL*8'
  450. TYPE(5)='REAL*8'
  451. TYPE(6)='REAL*8'
  452. TYPE(7)='REAL*8'
  453. *
  454. * caracteristiques pour les barres
  455. *
  456. ELSE IF (MFR.EQ.27) THEN
  457. NBRFAC=0
  458. NBROBL=1
  459. SEGINI NOMID
  460. MOCARA=NOMID
  461. LESOBL(1)='SECT'
  462. *
  463. NBTYPE=1
  464. SEGINI NOTYPE
  465. MOTYPE=NOTYPE
  466. TYPE(1)='REAL*8'
  467. *
  468. * epaisseur et excentrement dans le cas des coques
  469. *
  470. ELSEIF (MFR.EQ.3.OR.MFR.EQ.5.OR.MFR.EQ.9) THEN
  471. NBROBL=1
  472. NBRFAC=1
  473. SEGINI NOMID
  474. MOCARA=NOMID
  475. LESOBL(1)='EPAI'
  476. LESFAC(1)='EXCE'
  477. *
  478. NBTYPE=1
  479. SEGINI NOTYPE
  480. MOTYPE=NOTYPE
  481. TYPE(1)='REAL*8'
  482. *
  483. ENDIF
  484. *
  485. IF (MOCARA.NE.0) THEN
  486. *
  487. * verification du support des composantes recherchees
  488. *
  489. CALL QUESUQ(IMODEL,IPCHE1,4,0,MOCARA,IPLAZ,ISUP,IRET2)
  490. IF(ISUP.GT.1)THEN
  491. GO TO 9990
  492. ENDIF
  493. *
  494. CALL KOMCHA(IPCHE1,IPMAIL,CONM,MOCARA,MOTYPE,1,INFOS,3,IVACAR)
  495. SEGSUP NOTYPE
  496. IF (IERR.NE.0) GOTO 9990
  497. NCARA=NBROBL
  498. NCARF=NBRFAC
  499. NCARR=NCARA+NCARF
  500. IF(ISUP.EQ.1)THEN
  501. CALL VALCHE(IVACAR,NCARR,IPMINT,IPPORE,MOCARA,MELE)
  502. IF(IERR.NE.0)THEN
  503. ISUP=0
  504. GOTO 9990
  505. ENDIF
  506. ENDIF
  507. ENDIF
  508. NCARA=NBROBL
  509. NCARF=NBRFAC
  510. NCARR=NCARA+NCARF
  511. C
  512. C
  513. C_______________________________________________________________________
  514. C
  515. C NUMERO DES ETIQUETTES :
  516. C ETIQUETTES DE 1 A 98 POUR TRAITEMENT SPECIFIQUE A L ELEMENT
  517. C LES ELEMENTS SONT GROUPES COMME SUIT :
  518. C - MASSIF,LIQUIDE 'SURFACE LIBRE' ----------------------> KCENT3
  519. C - COQ3/POUTRE,DKT,COQ4,COQ8,COQ2,DST ------------------> KCENT2
  520. C ET POUTRE DE TIMOSCHENKO
  521. C_______________________________________________________________________
  522. * CABL SEG2 SEG3 TRI3 TRI4 TRI6 TRI7 QUA4 QUA5 QUA8 QUA9
  523. GOTO ( 99, 99, 11, 11, 99, 11, 99, 11, 99, 11, 99
  524. * RAC2 RAC3 CUB8 CU20 PRI6 PR15 LIA3 LIA4 LIA6 LIA8 MULT
  525. & , 99, 99, 11, 11, 11, 11, 99, 99, 99, 99, 99
  526. * TET4 TE10 PYR5 PY13 COQ3 DKT POUT LISP FAC3 FAC4 FAC6
  527. & , 11, 11, 11, 11, 21, 21, 21, 99, 99, 99, 99
  528. * FAC8 LTR3 LQU4 LCU8 LPR6 LTE4 LPY5 COQ8 TUYA TUFI COQ2
  529. & , 99, 99, 99, 99, 99, 99, 99, 21, 21, 99, 21
  530. * POI1 BARR RACO LSU2 COQ4 LISM COF3 RES2 LSU3 LSU4 LICO
  531. & , 99, 21, 99, 99, 21, 99, 99, 99, 99, 99, 99
  532. * COQ6 CVS2 CVS3 CVT3 CVT6 CVQ4 CVQ8 THP5 TH13 THP6 TH15
  533. & , 21, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99
  534. * THC8 TH20 ICT3 ICQ4 ICT6 ICQ8 ICC8 ICT4 ICP6 IC20 IC10
  535. & , 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99
  536. * IC15 TRIP QUAP CUBP TETP PRIP TIMO JOI2 JOI3 JOT3 JOI4
  537. & , 99, 99, 99, 99, 99, 99, 21, 99, 99, 99, 99
  538. * JOI6 JOI8 LISC TRIH DST LIC4 CERC TUYO LSE2 LITU HYT3
  539. & , 99, 99, 99, 99, 21, 99, 21, 99, 99, 99, 99
  540. * HYQ4 HYT4 HYP6 HYC8 TRIS QUAS POIS FOR3 JOP3 JOP6 JOP8
  541. & , 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99
  542. * POL3 POL4 POL5 POL6 POL7 POL8 POL9 PO10 PO11 PO12 PO13
  543. & , 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99
  544. * PO14 BAR3 BAEX LIA2 QUAH CUBH ROT3 SEF2 TRF3 QUF4 CUF8
  545. & , 99, 21, 99, 99, 99, 99, 99, 99, 99, 99, 99
  546. * PRF6 TEF4 PYF5 MSE3 MTR6 MQU9 MC27 MP18 MT10 MP14 SEF3
  547. & , 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99
  548. * TRF7 QUF9 CF27 PF21 TF15 PF19 SEG6 TR21 QU36 C216 P126
  549. & , 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99
  550. * TE56 PY91 TRH6
  551. & , 99, 99, 99),MELE
  552. C
  553. 99 CONTINUE
  554. SEGSUP xMATRI
  555. IRIGEL(4,ISOUS)=0
  556. MOTERR(1:4)=NOMTP(MELE)
  557. MOTERR(5:12)='KCEN'
  558. CALL ERREUR(86)
  559. GOTO 9990
  560. C_______________________________________________________________________
  561. C
  562. C MASSIF
  563. C_______________________________________________________________________
  564. C
  565. 11 CONTINUE
  566. CALL KCENT3 (IPMAIL,NDDL,LRE,NBPGAU,IPMINT,MELE,MFR,IVAMAT,
  567. &IVACAR,NMATT,IPMATR,VROT,IIPDPG)
  568. GOTO 510
  569. C_______________________________________________________________________
  570. C
  571. C BARRE, POUTRE, POUTRE DE TIMOSCHENKO, COQUE, CERC
  572. C_______________________________________________________________________
  573. C
  574. 21 CONTINUE
  575. CALL KCENT2(IPMAIL,LRE,LW,MELE,IVAMAT,NMATT,IVACAR,NCARR,
  576. &IVECT,ISOUS,NBPGAU,IPMINT,IPMIN1,NDDL,MATE,
  577. &CMATE,LHOTRA,IPMATR,VROT,IIPDPG)
  578. GOTO 510
  579. C_______________________________________________________________________
  580. C
  581. C DESACTIVATION DES SEGMENTS PROPRES A LA ZONE GEOMETRIQUE IA
  582. C_______________________________________________________________________
  583. C
  584. 510 CONTINUE
  585. C
  586. IF (ISUP.EQ.1) THEN
  587. CALL DTMVAL(IVAMAT,3)
  588. CALL DTMVAL(IVACAR,3)
  589. ELSE
  590. CALL DTMVAL(IVAMAT,1)
  591. CALL DTMVAL(IVACAR,1)
  592. ENDIF
  593. C
  594. NOMID=MOCARA
  595. IF (MOCARA.NE.0) SEGSUP NOMID
  596. NOMID=MOMATR
  597. SEGSUP NOMID
  598. NOMID=MOFORC
  599. if(lsupfo)SEGSUP NOMID
  600. NOMID=MODEPL
  601. if(lsupdp)SEGSUP NOMID
  602. C
  603. C ERREUR DANS LES S-P MASSE2 ,MASSE3 ,MASSE4
  604. C
  605. IF (IERR.NE.0) GOTO 9997
  606.  
  607. 500 CONTINUE
  608.  
  609. IRET = 1
  610. SEGDES MRIGID
  611. IPRIG = MRIGID
  612. GOTO 666
  613. C
  614. C ERREUR DANS UNE SOUS ZONE, DESACTIVATION ET RETOUR
  615. C
  616. 9990 CONTINUE
  617. IRET = 0
  618.  
  619. IF (ISUP.EQ.1) THEN
  620. CALL DTMVAL(IVAMAT,3)
  621. CALL DTMVAL(IVACAR,3)
  622. ELSE
  623. CALL DTMVAL(IVAMAT,1)
  624. CALL DTMVAL(IVACAR,1)
  625. ENDIF
  626. C
  627. NOMID=MOMATR
  628. IF (MOMATR.NE.0) SEGSUP NOMID
  629. NOMID=MOCARA
  630. IF (MOCARA.NE.0) SEGSUP NOMID
  631. NOMID=MOFORC
  632. if(lsupfo)SEGSUP NOMID
  633. NOMID=MODEPL
  634. if(lsupdp)SEGSUP NOMID
  635. C
  636. 9996 CONTINUE
  637. C
  638. 9997 CONTINUE
  639. SEGSUP MRIGID
  640. IPRIG = 0
  641. C
  642. 666 CONTINUE
  643. C Desactivation XCOOR
  644. SEGDES MCOORD
  645.  
  646. RETURN
  647. END
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  

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