Télécharger keule1.eso

Retour à la liste

Numérotation des lignes :

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

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