Télécharger keule1.eso

Retour à la liste

Numérotation des lignes :

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

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