Télécharger ecou60.eso

Retour à la liste

Numérotation des lignes :

  1. C ECOU60 SOURCE BP208322 17/03/01 21:17:16 9325
  2. SUBROUTINE ECOU60(MATE,INPLAS,MELE,IPMAIL,NBPTEL,IMAT,ICAR,
  3. 1 NUMAT,NUCAR,IVASTR,IVARI,IVADEF,IVADET,
  4. 1 IVADS,IVAMAT,IVACAR,
  5. 2 IPH1,IPH2,IPH3,ITHHER,LHOOK,NSTRS,NVARI,NMATT,NCARR,
  6. 3 CMATE,PRECIS,JECHER,IPOTAB,ISTEP,NPINT,JNOID,LOGSUC,
  7. 4 N2EL,N2PTEL,NBNO,NBPGAU,LW,IVASTF,IVARIF,IVADEP,KERRE)
  8. ***********************************************************************
  9. * ecoulement inelastique appele par ecoul1
  10. c ppu modif pour les materiaux unidirectionels en plastique
  11. * MATERIAUX: -PLASTIQUES NON INTEGRES PAR ECOINC
  12. ***********************************************************************
  13. * entrees :
  14. *
  15. * mate = numero de materiau elastique
  16. * inplas = numero de materiau inelastique
  17. * mele = numero element fini
  18. * ipmail = pointeur du maillage
  19. * nbptel = nombre de points par element
  20. * imat = pointeur sur un segment mptval de materiau (utilise par calsig)
  21. * icar = pointeur sur un segment mptval de caracteristiques
  22. * geometriques (utilise par calsig)
  23. * numat = nb de composantes du melval de imat
  24. * nucar = nb de composantes du melval de icar
  25. * ivastr =pointeur sur un segment mptval de contraintes
  26. * ivari =pointeur sur un segment mptval de variables internes
  27. * ivadef =pointeur sur un segment mptval de deformations
  28. * ivads =pointeur sur un segment mptval de contraintes (increments)
  29. * ivamat =pointeur sur un segment mptval de materiau
  30. * ivacar =pointeur sur un segment mptval de cacarteristiques geometrique
  31. * iph1 = pointeur sur un mchaml de temperatures au debut du pas
  32. * iph2 = pointeur sur un mchaml de temperatures a la fin du pas
  33. * iph3 = pointeur sur un mchaml de temperatures de reference
  34. * ithher = 0 si pas de chargement thermique
  35. * = 1 si chargement thermique mais materiau constant
  36. * = 2 si chargement thermique et mat. dependant de la temperature
  37. * ipch1,ipch2,ipch3,ithher ne servent que pour les materiaux
  38. * endommageables de lemaitre quand ils dependent de la temperature
  39. * lhook =taille de la matrice de hooke
  40. * nstrs =nombre de composantes de contraintes
  41. * nvari =nombre de composantes de variables internes
  42. * nmatt =nombre de composnates de proprietes de materiau
  43. * ncarr =nombre de composnates de caracteristiques geometriques
  44. * cmate =nom du materiau
  45. * precis =precision dans les iterations internes
  46. * jecher =0 ou 1 pour action dans ecoule
  47. * jnoid =0 ou 1 pour action dans ecoule
  48. * ipotab =pointeur sur segment table
  49. * istep =indicateur d'action pour calcul nonlocal
  50. * =0 dans le cas d'un calcul local (normal)
  51. * =1 ou 2 dans le cas d'un calcul nonlocal
  52. * =1 pour calcul des fonctions seuil uniquement
  53. * =2 pour calcul des variables dissipatives a partir
  54. * des fonctions seuil moyennees prealablement par nloc
  55. *
  56. * sorties :
  57. * ivastf =pointeur sur un segment mptval de contraintes
  58. * ivarif =pointeur sur un segment mptval de variables internes
  59. * ivadep =pointeur sur un segment mptval de deformations inelastiques
  60. * kerre =indicateur d'erreur
  61. *
  62. * p dowlatyari fev. 1992
  63. *
  64. * c. la borderie fev 92 restructuration et reecriture de certains
  65. * passages pour une meilleure lisibilite
  66. *
  67. * avril 92 ajout istep pour le non local
  68. * dec 92 modif pour poutres timoschenko
  69. *
  70. ************************************************************************
  71. IMPLICIT INTEGER(I-N)
  72. IMPLICIT REAL*8(A-H,O-Z)
  73. *
  74. -INC CCOPTIO
  75. -INC SMCHAML
  76. -INC SMELEME
  77. -INC SMCOORD
  78. -INC SMMODEL
  79. -INC SMINTE
  80. -INC CCHAMP
  81. c=======================================================================
  82. c la variable kerre regit les impressions d erreurs dans plast
  83. c toutes erreurs de ecoule gerees dans ce sous programme
  84. c kerre=0 tout ok
  85. c de 1 a 6 s aligner sur valeurs donnees par ecoinc
  86. c = 7 un element tuyau a une epaisseur nulle
  87. c = 21 on ne trouve pas d intersection avec la surface de charge
  88. c = 22 sig0 a l exterieur de la surface de charge
  89. c
  90. c anomalies avec la courbe de traction
  91. c = 30 limite elastique nulle
  92. c = 31 trop de points
  93. c = 32 pas assez de points
  94. c = 33 pente incorrecte
  95. c = 34 module d'young nul
  96. c = 35 manque l'origine
  97. c = 36 pente a l'origine non egale a e
  98. c = 37 manque la courbe de traction
  99. c = 38 nu devrait etre nul
  100. c
  101. c = 48 donnees erronnees pour drucker-prager
  102. c = 49 matrice singuliere dans iter internes drucker-prager
  103. c = 51 pb dans drucker prager option non disponible
  104. c = 52 pb dans drucker prager donnees incompatibles
  105. c = 53 pb dans drucker prager solution impossible
  106. c = 54 les valeurs admissibles pour istep sont 0 1 ou 2
  107. c = 55 modele non implante en non local
  108. c = 56 probleme dans l'integration du modele mazars
  109. c = 57 ....
  110. c = 58 ....
  111. c = 59 ....
  112. c = 60 pb donnees du cam-clay
  113. c
  114. c = 99 cas non encore disponible
  115. c=======================================================================
  116. *
  117. SEGMENT MPTVAL
  118. INTEGER IPOS(NS) ,NSOF(NS)
  119. INTEGER IVAL(NCOSOU)
  120. CHARACTER*16 TYVAL(NCOSOU)
  121. ENDSEGMENT
  122. *
  123. SEGMENT WRK0
  124. REAL*8 XMAT(NCXMAT)
  125. ENDSEGMENT
  126. *
  127. SEGMENT WR00
  128. CHARACTER*16 TYMAT(NCXMAT)
  129. REAL*8 XMAT1(NCXMAT),XMAT2(NCXMAT)
  130. ENDSEGMENT
  131. *
  132. SEGMENT WRK1
  133. REAL*8 DDHOOK(LHOOK,LHOOK),SIG0(NSTRS),DEPST(NSTRS)
  134. REAL*8 SIGF(NSTRS),VAR0(NVARI),VARF(NVARI)
  135. REAL*8 DEFP(NSTRS),XCAR(ICARA)
  136. ENDSEGMENT
  137. *
  138. SEGMENT WRK2
  139. REAL*8 TRAC(LTRAC)
  140. ENDSEGMENT
  141. *
  142. SEGMENT WRK22
  143. REAL*8 XXE(3,NBNN)
  144. ENDSEGMENT
  145. *
  146. SEGMENT WRK3
  147. REAL*8 WORK(LW),WORK2(LW2)
  148. ENDSEGMENT
  149. *
  150. SEGMENT WRK4
  151. REAL*8 XE(3,NBBB)
  152. ENDSEGMENT
  153. *
  154. SEGMENT WRK5
  155. REAL*8 EPIN0(NSTRS),EPINF(NSTRS),EPST0(NSTRS)
  156. ENDSEGMENT
  157. *
  158. SEGMENT WRK6
  159. REAL*8 BB(NSTRS,NNVARI),R(NSTRS),XMU(NSTRS)
  160. REAL*8 S(NNVARI),QSI(NNVARI),DDR(NSTRS),BBS(NSTRS)
  161. REAL*8 SIGMA(NSTRS),SIGGD(NSTRS),XMULT(NSTRS),PROD(NSTRS)
  162. ENDSEGMENT
  163. *
  164. SEGMENT WRK7
  165. REAL*8 F(NCOURB,2),W(NCOURB),TRUC(NCOURB)
  166. ENDSEGMENT
  167. *
  168. SEGMENT WRK8
  169. REAL*8 DD(NSTRS,NSTRS),DDV(NSTRS,NSTRS),DDINV(NSTRS,NSTRS)
  170. ENDSEGMENT
  171. *
  172. SEGMENT WRK9
  173. REAL*8 YOG(NYOG),YNU(NYNU),YALFA(NYALFA),YSMAX(NYSMAX)
  174. REAL*8 YN(NYN),YM(NYM),YKK(NYKK),YALFA1(NYALF1)
  175. REAL*8 YBETA1(NYBET1),YR(NYR),YA(NYA),YKX(NYKX),YRHO(NYRHO)
  176. REAL*8 SIGY(NSIGY)
  177. INTEGER NKX(NNKX)
  178. ENDSEGMENT
  179. *
  180. SEGMENT WR10
  181. INTEGER IABLO1(NTABO1)
  182. REAL*8 TABLO2(NTABO2)
  183. ENDSEGMENT
  184. *
  185. SEGMENT WR11
  186. INTEGER IABLO3(NTABO3)
  187. REAL*8 TABLO4(NTABO4)
  188. ENDSEGMENT
  189. *
  190. SEGMENT WTRAV
  191. REAL*8 DDAUX(LHOOK,LHOOK),VALMAT(NUMAT)
  192. REAL*8 VALCAR(NUCAR),DSIGT(NSTRS)
  193. REAL*8 TXR(IDIM,IDIM),DDHOMU(LHOOK,LHOOK)
  194. REAL*8 XLOC(3,3),XGLOB(3,3)
  195. REAL*8 D1HOOK(LHOOK,LHOOK),ROTHOO(LHOOK,LHOOK)
  196. ENDSEGMENT
  197. *
  198. SEGMENT WPOUT
  199. REAL*8 X(2),Y(2),Z(2)
  200. ENDSEGMENT
  201. *
  202. * Commun NECOU utilisé dans ECOINC
  203. *
  204. COMMON/NECOU/NCOURB,IPLAST,IT,IMAPLA,ISOTRO,
  205. . ITYP,IFOURB,IFLUAG,
  206. . ICINE,ITHER,IFLUPL,ICYCL,IBI,
  207. . JFLUAG,KFLUAG,LFLUAG,
  208. . IRELAX,JNTRIN,MFLUAG,JSOUFL,JGRDEF
  209. *
  210. * Commun IECOU: sert de fourre-tout pour les initialisations
  211. * d'entiers
  212. *
  213. COMMON/IECOU/NYOG,NYNU,NYALFA,NYSMAX,NYN,NYM,NYKK,
  214. . NYALF1,NYBET1,NYR,NYA,NYRHO,NSIGY,NNKX,NYKX,IND,
  215. . NSOM,NINV,NINCMA,NCOMP,JELEM,LEGAUS,INAT,NCXMAT,
  216. . LTRAC,MFR,IELE,NHRM,NBNN,NBELEM,ICARA,
  217. . LW2,NDEF,NSTRSS,MFR1,NBGMAT,NELMAT,MSOUPA,
  218. . NUMAT1,LENDO,NBBB,NNVARI,KERR1,MELEME,
  219. . icou45,icou46,icou47,icou48,icou49,icou50,
  220. . icou51,icou52,icou53,icou54,icou55,icou56
  221. . icou57,icou58
  222. *
  223. * Commun XECOU: sert de fourre-tout pour les initialisations
  224. * de réels
  225. *
  226. COMMON/XECOU/DTOPTI,TSOM,TCAR,DTT,DT,TREFA,TEMP0
  227. *
  228. LOGICAL LOGVIS,LOGIN,LOGRE,LOGSUC
  229. LOGICAL LUNI1,LUNI2
  230. DIMENSION BID(6),BID2(6),CRIGI(12),CMASS(12)
  231. *
  232. CHARACTER*72 CHARRE
  233. CHARACTER*8 CMATE
  234. c
  235. *
  236. * mise à disposition des temperatures tini tfin tref
  237. * aux points de gauss
  238. *
  239. TETA1=-1.E35
  240. TETA2=-1.E35
  241. TETREF=-1.E35
  242. TREFA=-1.E35
  243. IF (ITHHER.EQ.1.OR.ITHHER.EQ.2) THEN
  244. MCHAM3=IPH1
  245. MCHAM4=IPH2
  246. MCHAM5=IPH3
  247. SEGACT MCHAM3
  248. SEGACT MCHAM4
  249. SEGACT MCHAM5
  250. MELVA3=MCHAM3.IELVAL(1)
  251. MELVA4=MCHAM4.IELVAL(1)
  252. MELVA5=MCHAM5.IELVAL(1)
  253. SEGACT MELVA3
  254. SEGACT MELVA4
  255. SEGACT MELVA5
  256. ENDIF
  257. c
  258. c Initialisations de variables
  259. c---------------------------------
  260. c - mise à zéro des variables du commun NECOU si besoin
  261. c - modèles viscoplastiques:
  262. c . on récupère le pas de temps
  263. c . on récupère le nombre maximal de sous-pas
  264. c . on met IND=1
  265. c - initialisation des dimensions des tableaux des segments
  266. c Sorties: en plus du commun NECOU, on range les autres données
  267. c initialisées dans les COMMON IECOU et XECOU
  268. c Sauf pour KERRE,LW,LOGVIS,LUNI1 et LUNI2 qui sont sortis comme
  269. c argument de DEFINI
  270. c
  271. CALL DEFINI(MELE,NCARR,NSTRS,NMATT,CMATE,MATE,
  272. . ISTEP,INPLAS,NPINT,IPOTAB,IVADEF,
  273. . IPMAIL,IVAMAT,
  274. . ITHHER,NUMAT,NUCAR,LOGVIS,
  275. . LUNI1,LUNI2,LW,KERRE)
  276. IF (KERRE.EQ.999) RETURN
  277. c
  278. c Initialisations des segments de travail
  279. c
  280. c
  281. IF ((CMATE.EQ.'ORTHOTRO'.OR.CMATE.EQ.'ANISOTRO'.OR.
  282. 1 CMATE.EQ.'UNIDIREC').AND.(MFR.EQ.1.OR.MFR.EQ.31
  283. 1 .OR.MFR.EQ.33)) THEN
  284. CALL RESHPT(1,NBNO,IELE,MELE,NPINT,IPTR1,IRT1)
  285. MINTE2=IPTR1
  286. SEGACT MINTE2
  287. SEGINI WRK22
  288. ENDIF
  289. c
  290. IF (LOGVIS) SEGINI WRK8
  291. SEGINI WRK0,WR00,WRK1,WRK2,WRK3,WRK5
  292. IF(MFR.EQ.7.OR.MFR.EQ.13)THEN
  293. NBBB=NBNN
  294. SEGINI WRK4
  295. ENDIF
  296. c
  297. SEGINI WTRAV
  298. *
  299. *
  300. * boucle sur les elements
  301. *
  302. DO 1000 IB=1,NBELEM
  303. *
  304. * Matériaux orthotropes, anisotropes et unidirectionnels
  305. * en formulation massive:
  306. * - on cherche les coordonnees des noeuds de l element ib
  307. * - calcul des axes locaux
  308. * Cas particulier de l'ACIER_UNI
  309. *
  310. CALL DEFROT(CMATE,MFR,NBNN,IB,MELE,LUNI1,IPTR1,
  311. . MELEME,WRK4,WRK22,WTRAV)
  312. *
  313. *
  314. * boucle sur les points de gauss
  315. *
  316. DO 1100 IGAU=1,NBPTEL
  317. *
  318. * -recuperation de valmat et de valcar
  319. * -on recupere les contraintes initiales
  320. * -on recupere les variables internes
  321. * -on recupere les deformations inelastiques initiales si besoin
  322. * -on recupere les increments de deformations totales
  323. * -on cherche la section de l'element ib
  324. * -prise en compte de l'epaisseur et de l'excentrement
  325. * dans le cas des coques minces avec ou sans cisaillement
  326. * transverse
  327. *
  328. CALL DEFVAL(NUMAT1,NBPTEL,NDEF,
  329. . IMAT,IVACAR,ICAR,IVASTR,IVARI,IVADEF,IVADET,
  330. . IVADS,MFR,CMATE,INPLAS,IB,IGAU,IND,
  331. . WTRAV,WRK1,WRK5,SECT,EPAIST)
  332. *
  333. * on recupere les constantes du materiau
  334. * calcul des contraintes effectives en milieu poreux
  335. *
  336. CALL DEFMAT(NMATT,NSTRS,MFR,MELE,INPLAS,
  337. . IVAMAT,IB,IGAU,CMATE,MATE,LUNI1,LUNI2,
  338. . WRK1,WRK5,WRK0,WR00,WTRAV,CMASS,CRIGI,COB,XMOB,
  339. . BID,BID2,KERR0)
  340. IF (KERR0.EQ.99) THEN
  341. KERRE=99
  342. GOTO 1000
  343. ELSE IF (KERR0.EQ.10) THEN
  344. GOTO 1000
  345. ENDIF
  346. *
  347. * >>>>>>>>>> fin du traitement du materiau
  348. *
  349. * on recupere les caracteristiques geometriques
  350. *
  351. CALL DEFCAR(NCARR,IB,IGAU,MFR,MELE,IVACAR,
  352. . WRK1)
  353. *
  354. *
  355. * quelques impressions si iimpi = 99
  356. *
  357. * IF(IIMPI.EQ.99) THEN
  358. * WRITE(IOIMP,66770) IB,IGAU
  359. *66770 format(////////2x,'element ',i6,2x,'point ',i3//)
  360. * WRITE(IOIMP,66771) MATE,INPLAS
  361. *66771 format('0 mate=',i4,2x,'inplas=',i4/)
  362. * WRITE(IOIMP,66772) (SIG0(I),I=1,NSTRS)
  363. *66772 format(2x,' sig0 '/(6(1x,1pe12.5)))
  364. * WRITE(IOIMP,66773) (VAR0(I),I=1,NVARI)
  365. *66773 format(2x,' var0 '/(6(1x,1pe12.5)))
  366. * WRITE(IOIMP,66774) (DEPST(I),I=1,NSTRS)
  367. *66774 format(2x,' depst '/(6(1x,1pe12.5)))
  368. * WRITE(IOIMP,66775) (XMAT(I),I=1,NMATT)
  369. *66775 format(2x,' xmat '/(6(1x,1pe12.5)))
  370. * IF(IVACAR.NE.0)THEN
  371. * WRITE(IOIMP,66776) (XCAR(I),I=1,ICARA)
  372. *66776 format(2x,' xcar '/(6(1x,1pe12.5)))
  373. * ENDIF
  374. * ENDIF
  375. *
  376. * mise à disposition des temperatures tini tfin tref
  377. * aux points de gauss
  378. *
  379. IF (ITHHER.EQ.1.OR.ITHHER.EQ.2) THEN
  380. IBMN=MIN(IB,MELVA3.VELCHE(/2))
  381. IGMN=MIN(IGAU,MELVA3.VELCHE(/1))
  382. TETA1=MELVA3.VELCHE(IGMN,IBMN)
  383. IBMN=MIN(IB,MELVA4.VELCHE(/2))
  384. IGMN=MIN(IGAU,MELVA4.VELCHE(/1))
  385. TETA2=MELVA4.VELCHE(IGMN,IBMN)
  386. IBMN=MIN(IB,MELVA5.VELCHE(/2))
  387. IGMN=MIN(IGAU,MELVA5.VELCHE(/1))
  388. TETREF=MELVA5.VELCHE(IGMN,IBMN)
  389. ENDIF
  390. *
  391. *
  392. *---------------------------------------------------------------------
  393. *
  394. * ecoulement selon les modeles
  395. *
  396. *---------------------------------------------------------------------
  397. *
  398. c
  399. c
  400. c modele linespring
  401. c
  402. IF (INPLAS.EQ.2.OR.INPLAS.EQ.27) THEN
  403. CALL LISPP0(WRK1,WRK0,WRK2,WTRAV,INPLAS,PRECIS,KERRE,
  404. 1 NSTRSS,CMATE,N2EL,N2PTEL,MFR,IFOUR,IB,IGAU,EPAIST,
  405. 2 MELE,NPINT,NBGMAT,NBPGAU,NELMAT,SECT,LHOOK,CRIGI)
  406. c
  407. c modele beton
  408. c
  409. ELSE IF (INPLAS.EQ.9) THEN
  410. MPTVAL=IVAMAT
  411. iecou=0
  412. inecou=0
  413. iiecou=0
  414. ** CALL BETON(SIG0 ,DEPST,VAR0,XMAT,IVAL,NMATT,XCAR,
  415. ** 1 DDAUX,CMATE,VALMAT,VALCAR,N2EL,N2PTEL,IFOURB,IB,IGAU,EPAIST,
  416. ** 2 MELE,NPINT,NBGMAT,NELMAT,SECT,LHOOK,TXR,XLOC,XGLOB,D1HOOK,
  417. ** 3 ROTHOO,DDHOMU,CRIGI,DSIGT,SIGF,VARF,DEFP,MFR1,NBPGAU,KERRE,
  418. ** 4 iecou,inecou,iiecou)
  419. IF(KERRE.GT.200) THEN
  420. KERR1=1
  421. END IF
  422. c
  423. c tuyau fissure
  424. c
  425. ELSE IF (INPLAS.EQ.14.OR.INPLAS.EQ.18) THEN
  426. CALL TUFPLA(WRK1,WRK0,WRK2,WTRAV,INPLAS,PRECIS,
  427. 1 NSTRSS,CMATE,N2EL,N2PTEL,MFR1,IFOURB,
  428. 2 IB,IGAU,EPAIST,MELE,NPINT,NBGMAT,
  429. 3 NELMAT,NBPGAU,SECT,LHOOK,CRIGI,KERRE)
  430. c
  431. c modele gauvain
  432. c
  433. ELSE IF (INPLAS.EQ.16) THEN
  434. c
  435. c on recupere les courbes moment-courbure
  436. c
  437. CALL COTRA2(WRK0,WRK2,NCOURB,KERRE)
  438. IF(KERRE.EQ.0) THEN
  439. CALL GAUV1(DDAUX,CMATE,VALMAT,VALCAR,N2EL,N2PTEL,
  440. 1 MFR1,IFOURB,IB,IGAU,EPAIST,MELE,NPINT,NBGMAT,NELMAT,SECT,LHOOK,
  441. 2 TXR,XLOC,XGLOB,D1HOOK,ROTHOO,DDHOMU,CRIGI,SIG0,NSTRS,DEPST,VAR0,
  442. 3 XMAT,NCOMAT,XCAR,TRAC,NCOURB,NBPGAU,DSIGT,SIGF,VARF,DEFP,KERRE)
  443. IF(KERRE.GT.200) THEN
  444. KERR1=1
  445. END IF
  446. END IF
  447. c
  448. c modele ubiquitous
  449. c
  450. ELSE IF (INPLAS .EQ.28) THEN
  451. iecou=0
  452. inecou=0
  453. iiecou=0
  454. ** CALL UBIQUI(DDAUX,CMATE,VALMAT,VALCAR,N2EL,N2PTEL,
  455. ** 1 IFOURB,IB,IGAU,EPAIST,MELE,NPINT,NBGMAT,NELMAT,SECT,LHOOK,TXR,
  456. ** 2 XLOC,XGLOB,D1HOOK,ROTHOO,DDHOMU,CRIGI,SIG0,NSTRSS,DEPST,VAR0,
  457. ** 3 XMAT,NBPGAU,NMATT,XCAR,DSIGT,SIGF,VARF,DEFP,MFR1,KERRE,
  458. ** 4 iecou,inecou,iiecou)
  459. IF(KERRE.GT.200) THEN
  460. KERR1=1
  461. END IF
  462. c
  463. c modele global
  464. c
  465. ELSE IF(INPLAS.EQ.32)THEN
  466. CALL COTRA3(KERRE,NSTRSS,CMATE,WTRAV,N2EL,N2PTEL,
  467. 1 MFR1,IFOURB,IB,IGAU,EPAIST,MELE,NPINT,NBGMAT,
  468. 2 NBPGAU,NELMAT,SECT,LHOOK,CRIGI,NMATT,WRK0,WRK1)
  469. IF(KERRE.LT.0) THEN
  470. INTERR(1)=IB
  471. INTERR(2)=IGAU
  472. IF(KERRE.LE.(-4)) THEN
  473. MOTERR(5:16) = 'CISAILLEMENT'
  474. CALL ERREUR(-283)
  475. KERRE = KERRE + 4
  476. END IF
  477. IF(KERRE.LE.(-2)) THEN
  478. MOTERR(5:16) = 'FLEXION'
  479. CALL ERREUR(-283)
  480. KERRE = KERRE + 2
  481. END IF
  482. IF(KERRE.LT.0) THEN
  483. MOTERR(5:16) = 'COMPRESSION'
  484. CALL ERREUR(-283)
  485. KERRE = 0
  486. END IF
  487. END IF
  488. c
  489. c modele cam-clay
  490. c
  491. ELSE IF (INPLAS.EQ.33) THEN
  492. CALL CAMCLA(SIG0,NSTRSS,DEPST,VAR0,NVARI,XMAT,NCOMAT,XCAR,
  493. . SIGF,VARF,DEFP,PRECIS,MFR1,KERRE)
  494. c
  495. ELSE IF (INPLAS .EQ. 34) THEN
  496. c
  497. c modele de mohr coulomb pour les joints
  498. c
  499. MPTVAL=IVAMAT
  500. IF (IFOUR.EQ.2) THEN
  501. c
  502. c --------------------joints 3d
  503. c
  504. CALL COUL3(IB,IGAU,NSTRSS,SIG0,EPIN0,VAR0,NVARI,
  505. & DEPST,IFOURB,XMAT,NMATT,IVAL,DD,SIGF,DEFP,VARF,KERRE)
  506. ELSE
  507. c
  508. c --------------------joints 2d
  509. c
  510. CALL COUL2(IB,IGAU,NSTRSS,SIG0,EPIN0,VAR0,NVARI,
  511. & DEPST,IFOURB,XMAT,NMATT,IVAL,DD,SIGF,DEFP,VARF,KERRE)
  512. ENDIF
  513. c
  514. ELSE IF (INPLAS .EQ. 35) THEN
  515. c
  516. c modele de coulomb_dilatant pour les joints 2d
  517. c
  518. IF (IFOUR.NE.2) THEN
  519. CALL DJONL2(SIG0,DEPST,VAR0,XMAT,SIGF,VARF,
  520. & DEFP,KERRE)
  521. ENDIF
  522. c
  523. c modele de gurson
  524. c
  525. ELSE IF (INPLAS .EQ. 38) THEN
  526. iwrgur=0
  527. CALL PRGURS(SIG0,NSTRSS,DEPST,VAR0,XMAT,NMATT,XCAR,
  528. & ICARA,NVARI,SIGF,VARF,DEFP,MFR1,KERRE,iwrgur)
  529. c
  530. ELSE IF (INPLAS .EQ. 36) THEN
  531. c
  532. c modele beton_axi
  533. c
  534. MPTVAL=IVAMAT
  535. iecou=0
  536. inecou=0
  537. CALL BETAXI(SIG0,NSTRSS,DSIGT,VAR0,XMAT,IVAL,NMATT,XCAR,
  538. & SIGF,VARF,DEFP,MFR1,KERRE,iecou,inecou)
  539. IF(KERRE.GT.200) THEN
  540. KERR1=1
  541. END IF
  542. c
  543. ELSE IF ((INPLAS .EQ. 39) .AND. (MFR .EQ. 27)) THEN
  544. c
  545. c modele beton_uni pour les elements unidirectionels (barre ..)
  546. c
  547. KERR1=0
  548. CALL BARBET(XMAT,XCAR,DEPST,SIG0,VAR0,SIGF,VARF,DEFP)
  549. c
  550. ELSE IF ((INPLAS .EQ. 40) .AND. (MFR .EQ. 27)) THEN
  551. c
  552. c modele acier_uni pour les elements unidirectionels (barre ..)
  553. c
  554. KERR1=0
  555. CALL BARSTE(XMAT,XCAR,DEPST,SIG0,VAR0,SIGF,VARF,DEFP)
  556. *
  557. c
  558. ELSE IF ((INPLAS .EQ. 93) .AND. (MFR .EQ. 27)) THEN
  559. c
  560. c
  561. c modele ancrage_acier pour les elements unidirectionels (barre ..)
  562. c
  563. KERR1=0
  564. CALL BARSTA(XMAT,XCAR,DEPST,SIG0,VAR0,SIGF,VARF,DEFP)
  565. *
  566. ELSE IF ((INPLAS .EQ. 78) .AND. (MFR .EQ. 27)) THEN
  567. c
  568. c modele fragile_uni pour les elements unidirectionels (barre ..)
  569. c
  570. KERR1=0
  571. CALL BARFRA(XMAT,XCAR,DEPST,VAR0,SIGF,VARF,DEFP)
  572. *
  573. ELSE IF ((INPLAS .EQ. 79) .AND. (MFR .EQ. 27)) THEN
  574. c
  575. c modele beton_bael pour les elements unidirectionels (barre ..)
  576. c
  577. KERR1=0
  578. CALL BABAEL(XMAT,XCAR,DEPST,VAR0,SIGF,VARF,DEFP)
  579. c
  580. ELSE IF ((INPLAS .EQ. 92) .AND. (MFR .EQ. 27)) THEN
  581. c
  582. c
  583. c modele ancrage_parfait pour les elements unidirectionels (barre ..)
  584. c
  585. KERR1=0
  586. CALL BARPAA(XMAT,XCAR,DEPST,SIG0,VAR0,SIGF,VARF,DEFP)
  587. *
  588. *
  589. ELSE IF ((INPLAS .EQ. 80) .AND. (MFR .EQ. 27)) THEN
  590. c
  591. c modele parfait_uni pour les elements unidirectionels (barre ..)
  592. c
  593. KERR1=0
  594. CALL BARPAR(XMAT,XCAR,DEPST,SIG0,VAR0,SIGF,VARF,DEFP)
  595. *
  596. IF(KERRE.NE.0) THEN
  597. GOTO 1990
  598. ENDIF
  599. c
  600. c modele acier_uni pour les materiau unidirectionel
  601. c
  602. ELSE IF (INPLAS .EQ. 40 .AND. MATE.EQ.4) THEN
  603. CALL UNIACI(WRK0,WRK1,NSTRSS,MFR1,KERRE)
  604. c
  605. c
  606. c modele poutre en formulation section
  607. c
  608. ELSE IF (INPLAS.EQ.41.AND.MFR.EQ.7) THEN
  609. *
  610. CALL BIFLEX(WRK0,WRK1,NSTRSS,NVARI,NMATT,
  611. 1 ICARA,CMATE,KERRE)
  612. c
  613. ELSE IF ( INPLAS .EQ. 50 ) THEN
  614. c
  615. c cas du modele de zerilli armstrong
  616. c
  617. c on recupere le pas de temps
  618. c
  619. CALL ACCTAB(IPOTAB,'MOT ',IVALIN,XVALIN,
  620. 1 'DT',LOGIN,IOBIN,
  621. 2 'FLOTTANT',IVALRE,DT,CHARRE,LOGRE,IOBRE)
  622. c
  623. IF (KERRE .EQ. 0) THEN
  624. DO 1114 IC=1,ICARA
  625. WORK(IC)=XCAR(IC)
  626. 1114 continue
  627. BID(1)=0.D00
  628. BID(2)=0.D00
  629. BID(3)=0.D00
  630. CALL ZERILI(SIG0,DEPST,DDAUX,CMATE,VALMAT,VALCAR,N2EL,
  631. 1 N2PTEL,VAR0,BID,BID,XMAT,PRECIS,WORK2,WORK,TRAC,
  632. 2 SIGF,VARF,DEFP,KERRE,MFR1,IB,IGAU,NSTRSS,EPAIST,MELE,
  633. 3 NPINT,NBPGAU,NBGMAT,NELMAT,SECT,LHOOK,TXR,XLOC,
  634. 4 XGLOB,D1HOOK,ROTHOO,DDHOMU,CRIGI,DSIGT,DT)
  635. END IF
  636. c
  637. c modele de steinberg cochran guinan
  638. c
  639. ELSE IF (INPLAS.EQ.49) THEN
  640. CALL STEINB(DEPST,NSTRSS,
  641. 1 MFR1,IB,IGAU,
  642. 4 DSIGT,NMATT,SIG0,VAR0,XMAT,XCAR,NVARI,
  643. 5 ICARA,SIGF,VARF,DEFP,TETA1,TETA2,KERRE)
  644. IF((KERRE.NE.0).AND.(KERRE.NE.99)) THEN
  645. KERR1=1
  646. END IF
  647. c
  648. c modele hujeux
  649. c
  650. ELSE IF (INPLAS.EQ.48) THEN
  651. CALL HUJEUX(SIG0,NSTRSS,DEPST,VAR0,NVARI,XMAT,NCOMAT,XCAR,
  652. . SIGF,VARF,DEFP,PRECIS,MFR1,KERRE)
  653. c
  654. c modele ottosen
  655. c
  656. ELSE IF (INPLAS.EQ.42) THEN
  657. MPTVAL=IVAMAT
  658. CALL OTTOSE(INPLAS,SIG0,NSTRSS,DEPST,VAR0,XMAT,IVAL,
  659. & NMATT,XCAR,ICARA,NVARI,SIGF,VARF,DEFP,MFR1,KERRE,
  660. & IB,IGAU)
  661. c
  662. ELSE IF (INPLAS.EQ.47) THEN
  663. c
  664. c modele de amadei-saeb pour les joints
  665. c
  666. C# MC 03/11/97 : MPTVAL doit etre initialise ici aussi
  667. MPTVAL=IVAMAT
  668. IF (IFOUR.EQ.2) THEN
  669. c
  670. c --------------------joints 3d
  671. c
  672. CALL AMADE3(IB,IGAU,NSTRSS,SIG0,EPIN0,VAR0,NVARI,
  673. & DEPST,IFOURB,XMAT,NMATT,IVAL,SIGF,DEFP,VARF,KERRE)
  674. ELSE
  675. c
  676. c --------------------joints 2d
  677. c
  678. CALL AMADE2(IB,IGAU,NSTRSS,SIG0,EPIN0,VAR0,NVARI,
  679. & DEPST,IFOURB,XMAT,NMATT,IVAL,SIGF,DEFP,VARF,KERRE)
  680. ENDIF
  681. c
  682. ELSE IF (INPLAS.EQ.52) THEN
  683. c
  684. c modèle Preston-Tonks-Wallace
  685. c
  686. c on recupere le pas de temps
  687. c
  688. CALL ACCTAB(IPOTAB,'MOT ',IVALIN,XVALIN,
  689. 1 'DT',LOGIN,IOBIN,
  690. 2 'FLOTTANT',IVALRE,DT,CHARRE,LOGRE,IOBRE)
  691. c
  692. CALL PRESTO(DEPST,NSTRSS,
  693. 1 MFR1,IB,IGAU,
  694. 4 DSIGT,NMATT,SIG0,VAR0,XMAT,XCAR,NVARI,
  695. 5 ICARA,SIGF,VARF,DEFP,TETA1,TETA2,KERRE,DT)
  696. IF(KERRE.NE.0) THEN
  697. KERR1=1
  698. END IF
  699. c
  700. ELSE IF (INPLAS.EQ.54) THEN
  701. c
  702. c modele BETOCYCL
  703. c
  704. C
  705. C ON VERIFIE LES CONTRAINTES PLANES
  706. C
  707. IF (IFOUR.EQ.-2)THEN
  708. C
  709. C ON RECUPERE LES COURBES DE TRACTION ET DE COMPRESSION
  710. C
  711. IPOS1=1
  712. CALL COTRAI(WRK0,WRK2,12,IPOS1,0, NPOINT,KERRE)
  713. NTRAT=NPOINT/2
  714. IPOS2=IPOS1+NPOINT
  715. CALL COTRAI(WRK0,WRK2,13,IPOS2,0, NPOINT,KERRE)
  716. NTRAC=NPOINT/2
  717. IF(KERRE.EQ.0) THEN
  718. CALL BETOCY(WRK0,WRK1,WRK2,NTRAT,NTRAC,KERRE)
  719. END IF
  720. ELSE
  721. KERRE = 99
  722. ENDIF
  723. *
  724. ELSE IF (INPLAS.EQ.55) THEN
  725. C
  726. C MODELE ROTATING CRACK
  727. C
  728. C ON VERIFIE LES CONTRAINTES PLANES
  729. C
  730. IF (IFOUR.EQ.-2)THEN
  731. IF(KERRE.EQ.0) THEN
  732. CALL ROTATJ (WRK0,WRK1,KERRE)
  733. END IF
  734. ELSE
  735. KERRE = 99
  736. ENDIF
  737. c
  738. ELSE IF (INPLAS.EQ.56)THEN
  739. C
  740. C MODELE JOINT_SOFT
  741. C
  742.  
  743. C ON RECUPERE LES COURBES DE TRACTION ET DE SHEAR
  744. C
  745. C Note: Les courbes ont maintenant les indices 8, 9 et 10 alors que c'est
  746. C 6, 7 et 8 dans ecoul1.eso. C'est parce que l'on a incere 'RHO' et
  747. C 'ALFA' a la place 3 et 4 dans defmat.eso
  748. C
  749. IPOS1=1
  750. CALL COTRAI(WRK0,WRK2,8,IPOS1,1, NPOINT,KERRE)
  751. NTRAC=NPOINT/2
  752. IPOS2=IPOS1+NPOINT
  753. CALL COTRAI(WRK0,WRK2,9,IPOS2,1, NPOINT,KERRE)
  754. NTRAS=NPOINT/2
  755. IPOS3=IPOS2+NPOINT
  756. CALL COTRAI(WRK0,WRK2,10,IPOS3,1, NPOINT,KERRE)
  757. NTRAT=NPOINT/2
  758. C
  759. IF (IFOUR.EQ.-3.OR.IFOUR.EQ.-2.OR.IFOUR.EQ.-1)THEN
  760. IF(KERRE.EQ.0) THEN
  761. C
  762. CALL SJONL2(SIG0,DEPST,VAR0,XMAT,
  763. . TRAC(IPOS1),NTRAC,TRAC(IPOS2),NTRAS,
  764. . TRAC(IPOS3),NTRAT,
  765. . SIGF,VARF,DEFP,KERRE)
  766. END IF
  767. ELSEIF(IFOUR.EQ.2)THEN
  768. IF(KERRE.EQ.0) THEN
  769. C
  770. CALL SJONL3(SIG0,DEPST,VAR0,XMAT,
  771. . TRAC(IPOS1),NTRAS,TRAC(IPOS2),NTRAT,
  772. . TRAC(IPOS3),NTRAC,
  773. . SIGF,VARF,DEFP,KERRE)
  774. END IF
  775. C
  776. END IF
  777. C
  778. c
  779. ELSE IF (INPLAS.EQ.119)THEN
  780. C
  781. C MODELE JOINT_COAT
  782. C
  783. C ON RECUPERE LA COURBE DE SHEAR
  784. C
  785. C Note: La courbe a maintenant l'indices 4 alors que c'est
  786. C 2 dans ecoul1.eso. C'est parce que l'on a incere 'RHO' et
  787. C 'ALFA' a la place 2 et 3 dans defmat.eso (a verifier...)
  788. C
  789. IPOS1=1
  790. CALL COTRAI(WRK0,WRK2,4,IPOS1,1, NPOINT,KERRE)
  791. NTRAS=NPOINT/2
  792. C
  793. IF (IFOUR.EQ.-3.OR.IFOUR.EQ.-2.OR.IFOUR.EQ.-1)THEN
  794. IF(KERRE.EQ.0) THEN
  795. C
  796. CALL SJONC2(SIG0,DEPST,VAR0,XMAT,TRAC(IPOS1),NTRAS,
  797. . SIGF,VARF,DEFP,KERRE)
  798. END IF
  799. ELSEIF(IFOUR.EQ.2)THEN
  800. IF(KERRE.EQ.0) THEN
  801. END IF
  802. C
  803. END IF
  804.  
  805. C+PPm
  806. c
  807. ELSE IF (INPLAS.EQ.126)THEN
  808. C
  809. C MODELE MUR_SHEAR
  810. C pour le moment, element de poutre
  811. C
  812. IF(MFR.EQ.7)THEN
  813. C
  814. C ON RECUPERE LES COURBES
  815. C
  816. C Note: Les courbes ont maintenant les indices 5 a 10 alors que
  817. C c'etait 3 a 8 dans ecoul1.eso. C'est parce que l'on a
  818. C incere 'RHO' et 'ALFA' a la place 2 et 3 dans defmat.eso
  819. C
  820. IPOS1=1
  821. CALL COTRAI(WRK0,WRK2, 5,IPOS1,0, NPOINT,KERRE)
  822. NCURFP=NPOINT/2
  823. IPOS2=IPOS1+NPOINT
  824. CALL COTRAI(WRK0,WRK2, 6,IPOS2,0, NPOINT,KERRE)
  825. NCURKP=NPOINT/2
  826. IPOS3=IPOS2+NPOINT
  827. CALL COTRAI(WRK0,WRK2, 7,IPOS3,0, NPOINT,KERRE)
  828. NCURLP=NPOINT/2
  829. IPOS4=IPOS3+NPOINT
  830. CALL COTRAI(WRK0,WRK2, 8,IPOS4,0, NPOINT,KERRE)
  831. NCURFM=NPOINT/2
  832. IPOS5=IPOS4+NPOINT
  833. CALL COTRAI(WRK0,WRK2, 9,IPOS5,0, NPOINT,KERRE)
  834. NCURKM=NPOINT/2
  835. IPOS6=IPOS5+NPOINT
  836. CALL COTRAI(WRK0,WRK2,10,IPOS6,0, NPOINT,KERRE)
  837. NCURLM=NPOINT/2
  838. C
  839. IF(KERRE.EQ.0) THEN
  840. CALL MSHETI(WRK0,WRK1,WRK2,
  841. > NCURFP,NCURKP,NCURLP,NCURFM,NCURKM,NCURLM,
  842. > IPOS1 ,IPOS2 ,IPOS3 ,IPOS4 ,IPOS5 ,IPOS6 ,
  843. > KERRE)
  844. END IF
  845.  
  846. C
  847. END IF
  848. C+PPm
  849.  
  850. C
  851. C
  852. ELSE IF (INPLAS.EQ.91)THEN
  853. C
  854. C MODELE ANCRAGE_ELIGEHAUSEN
  855. C
  856. IF (IFOUR.EQ.-3.OR.IFOUR.EQ.-2.OR.IFOUR.EQ.-1)THEN
  857. C
  858. CALL ANCREL(SIG0,DEPST,VAR0,XMAT,
  859. . SIGF,VARF,DEFP,KERRE)
  860. END IF
  861. c
  862. ELSE IF (INPLAS.EQ.57)THEN
  863. C
  864. C MODELE BILI_MOMY
  865. C
  866. KERRE=0
  867. CALL BILIPO(SIG0,DEPST,VAR0,XMAT,XCAR,SIGF,VARF,DEFP)
  868. c
  869. ELSE IF (INPLAS.EQ.58)THEN
  870. C
  871. C MODELE BILI_EFFZ
  872. C
  873. KERRE=0
  874. CALL BILIFO(SIG0,DEPST,VAR0,XMAT,XCAR,SIGF,VARF,DEFP)
  875. c
  876. ELSE IF (INPLAS.EQ.59)THEN
  877. C
  878. C MODELE TAKEMO_MOMY
  879. C
  880. C ON RECUPERE LES COURBES MOMENT-COURBURE
  881. C
  882. CALL COTRAD(WRK0,WRK2,NCOURB,KERRE)
  883. IF(KERRE.EQ.0) THEN
  884. C
  885. IF (IFOUR.EQ.-3.OR.IFOUR.EQ.-2.OR.IFOUR.EQ.-1) THEN
  886. CALL TAKEP2(SIG0,NSTRS,DEPST,VAR0,XMAT,NMATT,XCAR,
  887. & TRAC,NCOURB,SIGF,VARF,DEFP,KERRE)
  888. ELSE
  889. CALL TAKEPO(SIG0,NSTRS,DEPST,VAR0,XMAT,NMATT,XCAR,
  890. & TRAC,NCOURB,SIGF,VARF,DEFP,KERRE)
  891. ENDIF
  892. END IF
  893. c
  894. ELSE IF (INPLAS.EQ.60)THEN
  895. C
  896. C MODELE TAKEMO_EFFZ
  897. C
  898. C
  899. C ON RECUPERE LES COURBES MOMENT-COURBURE
  900. C
  901. CALL COTRAD(WRK0,WRK2,NCOURB,KERRE)
  902. IF(KERRE.EQ.0) THEN
  903. C
  904. IF (IFOUR.EQ.-3.OR.IFOUR.EQ.-2.OR.IFOUR.EQ.-1) THEN
  905. CALL TAKEF2(SIG0,NSTRS,DEPST,VAR0,XMAT,NMATT,XCAR,
  906. & TRAC,NCOURB,SIGF,VARF,DEFP,KERRE)
  907. ELSE
  908. CALL TAKEFO(SIG0,NSTRS,DEPST,VAR0,XMAT,NMATT,XCAR,
  909. & TRAC,NCOURB,SIGF,VARF,DEFP,KERRE)
  910. ENDIF
  911. C
  912. END IF
  913. c
  914. ELSE
  915. KERRE=99
  916. ENDIF
  917. *
  918. * Erreurs
  919. * - problèmes de convergence
  920. *
  921. CALL DEFER1(JNOID,KERR1,KERRE,LOGSUC)
  922. *
  923. * - autres problèmes
  924. *
  925. 1990 CALL DEFER2(INPLAS,MFR,MELE,IB,IGAU,
  926. . KERR1,KERRE)
  927. 1998 IF (KERRE.NE.0) THEN
  928. IF (LOGVIS) SEGSUP WRK8
  929. SEGSUP WRK0,WR00,WRK1,WRK2,WRK3,WRK5,WTRAV
  930. IF(MFR.EQ.7.OR.MFR.EQ.13) THEN
  931. SEGSUP WRK4
  932. ENDIF
  933. IF ((CMATE.EQ.'ORTHOTRO'.OR.CMATE.EQ.'ANISOTRO'.OR.
  934. 1 CMATE.EQ.'UNIDIREC').AND.(MFR.EQ.1.OR.MFR.EQ.31
  935. 1 .OR.MFR.EQ.33)) THEN
  936. SEGDES MINTE2
  937. SEGSUP WRK22
  938. ENDIF
  939. IF (ITHHER.EQ.1.OR.ITHHER.EQ.2) THEN
  940. SEGDES MELVA3
  941. SEGDES MELVA4
  942. SEGDES MELVA5
  943. SEGDES MCHAM3
  944. SEGDES MCHAM4
  945. SEGDES MCHAM5
  946. ENDIF
  947. RETURN
  948. ENDIF
  949. c
  950. c remplissage du segment contenant les contraintes a la fin
  951. * ( rearrangement pour milieu poreux ),
  952. c les variables internes finales
  953. c et les increments de deformations plastiques
  954. c
  955. CALL DEFSIG(MFR,NDEF,
  956. . INPLAS,IND,WRK1,WRK5,WTRAV,
  957. . IVASTF,IVARIF,IVADEP,COB,XMOB,IB,IGAU,
  958. . CMATE,MATE,MELE,KERRER)
  959. IF (KERRER.NE.0) GOTO 1000
  960. c
  961. c fin de la boucle sur les points de gauss
  962. c
  963. 1100 continue
  964. c
  965. c special poutres et tuyaux sauf timoschenko
  966. c
  967. CALL DEFPOU(MFR,MELE,MELEME,IB,WRK4,IVASTF)
  968. c
  969. c fin de la boucle sur les elements
  970. c
  971. 1000 continue
  972. *
  973. * FIN: modèles visqueux, on stocke le pas de temps
  974. * optimal en indice 'dtopti'
  975. *
  976. CALL DEFFIN(INPLAS,TSOM,NSOM,NCOMP,NINV,NINCMA,
  977. . TCAR,DTOPTI,IPOTAB,KERRE)
  978. IF (LOGVIS) SEGSUP WRK8
  979. *
  980. SEGSUP WRK0,WR00,WRK1,WRK2,WRK3,WRK5,WTRAV
  981. IF(MFR.EQ.7.OR.MFR.EQ.13) THEN
  982. SEGSUP WRK4
  983. END IF
  984. IF ((CMATE.EQ.'ORTHOTRO'.OR.CMATE.EQ.'ANISOTRO'.OR.
  985. 1 CMATE.EQ.'UNIDIREC').AND.(MFR.EQ.1.OR.MFR.EQ.31
  986. 1 .OR.MFR.EQ.33)) THEN
  987. SEGDES MINTE2
  988. SEGSUP WRK22
  989. ENDIF
  990. *
  991. IF (ITHHER.EQ.1.OR.ITHHER.EQ.2) THEN
  992. SEGDES MELVA3
  993. SEGDES MELVA4
  994. SEGDES MELVA5
  995. SEGDES MCHAM3
  996. SEGDES MCHAM4
  997. SEGDES MCHAM5
  998. ENDIF
  999. *
  1000. RETURN
  1001. END
  1002.  
  1003.  
  1004.  
  1005.  
  1006.  
  1007.  
  1008.  
  1009.  
  1010.  
  1011.  
  1012.  
  1013.  
  1014.  
  1015.  
  1016.  
  1017.  
  1018.  
  1019.  
  1020.  
  1021.  
  1022.  
  1023.  
  1024.  
  1025.  
  1026.  
  1027.  
  1028.  
  1029.  
  1030.  
  1031.  
  1032.  
  1033.  
  1034.  
  1035.  
  1036.  
  1037.  
  1038.  
  1039.  
  1040.  
  1041.  
  1042.  

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