Télécharger keule1.eso

Retour à la liste

Numérotation des lignes :

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

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