1 : C ECOU20 SOURCE CHAT 11/03/16 21:19:55 6902 2 : SUBROUTINE ECOU20(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: - VISCOPLASTIQUES ET FLUAGE INTEGRES PAR CONSTI 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(IDIM,IDIM),XGLOB(IDIM,IDIM) 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 270 : CALL DEFINI(MELE,NCARR,NSTRS,NMATT,CMATE,MATE, 271 : . ISTEP,INPLAS,NPINT,IPOTAB,IVADEF, 272 : . IPMAIL,IVAMAT, 273 : . ITHHER,NUMAT,NUCAR,LOGVIS, 274 : . LUNI1,LUNI2,LW,KERRE) 275 : IF (KERRE.EQ.999) RETURN 276 : c 277 : IF ((CMATE.EQ.'ORTHOTRO'.OR.CMATE.EQ.'ANISOTRO'.OR. 278 : 1 CMATE.EQ.'UNIDIREC').AND.(MFR.EQ.1.OR.MFR.EQ.31 279 : 1 .OR.MFR.EQ.33)) THEN 279 : CALL RESHPT(1,NBNO,IELE,MELE,NPINT,IPTR1,IRT1) 280 : MINTE2=IPTR1 281 : SEGACT MINTE2 282 : SEGINI WRK22 283 : ENDIF 284 : c 285 : IF (LOGVIS) SEGINI WRK8 286 : SEGINI WRK0,WR00,WRK1,WRK2,WRK3,WRK5 287 : IF(MFR.EQ.7.OR.MFR.EQ.13.OR.LUNI1)THEN 288 : SEGINI WRK4 289 : ENDIF 290 : c 291 : SEGINI WTRAV 292 : * 293 : * 294 : * boucle sur les elements 295 : * 296 : DO 1000 IB=1,NBELEM 297 : 298 : * 299 : * Matériaux orthotropes, anisotropes et unidirectionnels 300 : * en formulation massive: 301 : * - on cherche les coordonnees des noeuds de l element ib 302 : * - calcul des axes locaux 303 : * Cas particulier de l'ACIER_UNI 304 : * 304 : CALL DEFROT(CMATE,MFR,NBNN,IB,MELE,LUNI1,IPTR1, 305 : . MELEME,WRK4,WRK22,WTRAV) 306 : * 307 : * 308 : * boucle sur les points de gauss 309 : * 310 : DO 1100 IGAU=1,NBPTEL 311 : * 312 : * -recuperation de valmat et de valcar 313 : * -on recupere les contraintes initiales 314 : * -on recupere les variables internes 315 : * -on recupere les deformations inelastiques initiales si besoin 316 : * -on recupere les increments de deformations totales 317 : * -on cherche la section de l'element ib 318 : * -prise en compte de l'epaisseur et de l'excentrement 319 : * dans le cas des coques minces avec ou sans cisaillement 320 : * transverse 321 : * 321 : CALL DEFVAL(NUMAT1,NBPTEL,NDEF, 322 : . IMAT,IVACAR,ICAR,IVASTR,IVARI,IVADEF,IVADET, 323 : . IVADS,MFR,CMATE,INPLAS,IB,IGAU,IND, 324 : . WTRAV,WRK1,WRK5,SECT,EPAIST) 325 : * 326 : * on recupere les constantes du materiau 327 : * calcul des contraintes effectives en milieu poreux 328 : * 328 : CALL DEFMAT(NMATT,NSTRS,MFR,MELE,INPLAS, 329 : . IVAMAT,IB,IGAU,CMATE,MATE,LUNI1,LUNI2, 330 : . WRK1,WRK5,WRK0,WR00,WTRAV,CMASS,CRIGI,COB,XMOB, 331 : . BID,BID2,KERR0) 332 : IF (KERR0.EQ.99) THEN 333 : KERRE=99 334 : GOTO 1000 335 : ELSE IF (KERR0.EQ.10) THEN 336 : GOTO 1000 337 : ENDIF 338 : * 339 : * >>>>>>>>>> fin du traitement du materiau 340 : * 341 : * on recupere les caracteristiques geometriques 342 : * 342 : CALL DEFCAR(NCARR,IB,IGAU,MFR,MELE,IVACAR, 343 : . WRK1) 344 : * 345 : * 346 : * quelques impressions si iimpi = 99 347 : * 348 : * IF(IIMPI.EQ.99) THEN 349 : * WRITE(IOIMP,66770) IB,IGAU 350 : *66770 format(////////2x,'element ',i6,2x,'point ',i3//) 351 : * WRITE(IOIMP,66771) MATE,INPLAS 352 : *66771 format('0 mate=',i4,2x,'inplas=',i4/) 353 : * WRITE(IOIMP,66772) (SIG0(I),I=1,NSTRS) 354 : *66772 format(2x,' sig0 '/(6(1x,1pe12.5))) 355 : * WRITE(IOIMP,66773) (VAR0(I),I=1,NVARI) 356 : *66773 format(2x,' var0 '/(6(1x,1pe12.5))) 357 : * WRITE(IOIMP,66774) (DEPST(I),I=1,NSTRS) 358 : *66774 format(2x,' depst '/(6(1x,1pe12.5))) 359 : * WRITE(IOIMP,66775) (XMAT(I),I=1,NMATT) 360 : *66775 format(2x,' xmat '/(6(1x,1pe12.5))) 361 : * IF(IVACAR.NE.0)THEN 362 : * WRITE(IOIMP,66776) (XCAR(I),I=1,ICARA) 363 : *66776 format(2x,' xcar '/(6(1x,1pe12.5))) 364 : * ENDIF 365 : * ENDIF 366 : * 367 : * mise à disposition des temperatures tini tfin tref 368 : * aux points de gauss 369 : * 370 : IF (ITHHER.EQ.1.OR.ITHHER.EQ.2) THEN 371 : IBMN=MIN(IB,MELVA3.VELCHE(/2)) 372 : IGMN=MIN(IGAU,MELVA3.VELCHE(/1)) 373 : TETA1=MELVA3.VELCHE(IGMN,IBMN) 374 : IBMN=MIN(IB,MELVA4.VELCHE(/2)) 375 : IGMN=MIN(IGAU,MELVA4.VELCHE(/1)) 376 : TETA2=MELVA4.VELCHE(IGMN,IBMN) 377 : IBMN=MIN(IB,MELVA5.VELCHE(/2)) 378 : IGMN=MIN(IGAU,MELVA5.VELCHE(/1)) 379 : TETREF=MELVA5.VELCHE(IGMN,IBMN) 380 : ENDIF 381 : * 382 : * 383 : *--------------------------------------------------------------------- 384 : * 385 : * ecoulement selon les modeles 386 : * 387 : *--------------------------------------------------------------------- 388 : * 389 : * modeles de viscoplasticite integres par consti 390 : * 391 : IF ( INPLAS .EQ. 17 .OR. 392 : 2 (INPLAS .GE. 19 .AND. INPLAS .LE. 25) .OR. 393 : 4 INPLAS .EQ. 61 .OR. 394 : 4 INPLAS .EQ. 63 .OR. 395 : 1 INPLAS .EQ. 53 .OR. INPLAS .EQ. 102 .OR. 396 : 8 INPLAS .EQ. 44 .OR. INPLAS .EQ. 76 .OR. 397 : 9 INPLAS .EQ. 45 .OR. INPLAS .EQ. 77 .OR. 398 : 9 INPLAS .EQ. 84 .OR. INPLAS .EQ. 85 .OR. 399 : 9 INPLAS .EQ. 86 .OR. INPLAS .EQ. 70 ) THEN 400 : * 401 : IF (INPLAS.EQ.44.AND.VAR0(NVARI).EQ.0.0) THEN 402 : VAR0(NVARI)=XMAT(20) 403 : ENDIF 404 : IF (INPLAS.EQ.45.AND.VAR0(NVARI).EQ.0.0) THEN 405 : VAR0(NVARI-2)=XMAT(20) 406 : VAR0(NVARI-1)=XMAT(21) 407 : VAR0(NVARI)=XMAT(27) 408 : ENDIF 409 : * 410 : SEGINI WRK7 411 : SEGINI WRK9 411 : CALL CONSTI(WRK0,WR00,WRK1,WRK5,WRK7,WRK8,WRK9,WTRAV, 412 : 1 INPLAS,MFR1,DT,NSTRSS,NVARI,NMATT,PRECIS,MSOUPA,JECHER,DTT, 413 : 2 NSSINC,INV,KERRE,ICARA,IFOURB,NYOG,NYNU,NYALFA,NYSMAX,NYN, 414 : 3 NYM,NYKK,NYALF1,NYBET1,NYR,NYA,NYKX,NNKX,NYRHO,NSIGY,TETA1, 415 : 5 TETA2,TREFA,TLIFE,ITHHER,NCOURB,CMATE,N2EL,N2PTEL,IB,IGAU, 416 : 6 EPAIST,NBPGAU,MELE,NPINT,NBGMAT,NELMAT,SECT,LHOOK,CRIGI,KERREU1) 417 : c 418 : c 419 : c write(6,*) istep 420 : IF (MFR1.EQ.17.AND.INPLAS.EQ.19) THEN 421 : IF (KERREU1.NE.0.AND.NSSINC.EQ.1) THEN 421 : CALL ERREUR(KERREU1) 422 : ENDIF 423 : ENDIF 424 : SEGSUP WRK7 425 : SEGSUP WRK9 426 : DTOPTI = MIN(DTOPTI,DTT) 427 : NINCMA = MAX(NINCMA,NSSINC) 428 : NCOMP = NCOMP + 1 429 : TSOM = TSOM + DTT 430 : NSOM = NSOM + NSSINC 431 : NINV = NINV + INV 432 : TCAR = TCAR + DTT* DTT 433 : IF(KERRE.NE.0.AND.KERRE.NE.99) THEN 434 : KERR1=1 435 : END IF 436 : c 437 : ELSE 438 : KERRE = 99 439 : ENDIF 440 : * 441 : * Erreurs 442 : * - problèmes de convergence 443 : * 443 : CALL DEFER1(JNOID,KERR1,KERRE,LOGSUC) 444 : * 445 : * - autres problèmes 446 : * 446 : 1990 CALL DEFER2(INPLAS,MFR,MELE,IB,IGAU, 447 : . KERR1,KERRE) 448 : 1998 IF (KERRE.NE.0) THEN 449 : IF (LOGVIS) SEGSUP WRK8 450 : SEGSUP WRK0,WR00,WRK1,WRK2,WRK3,WRK5,WTRAV 451 : IF(MFR.EQ.7.OR.MFR.EQ.13.OR.LUNI1) THEN 452 : SEGSUP WRK4 453 : ENDIF 454 : IF ((CMATE.EQ.'ORTHOTRO'.OR.CMATE.EQ.'ANISOTRO'.OR. 455 : 1 CMATE.EQ.'UNIDIREC').AND.(MFR.EQ.1.OR.MFR.EQ.31 456 : 1 .OR.MFR.EQ.33)) THEN 457 : SEGDES MINTE2 458 : SEGSUP WRK22 459 : ENDIF 460 : IF (ITHHER.EQ.1.OR.ITHHER.EQ.2) THEN 461 : SEGDES MELVA3 462 : SEGDES MELVA4 463 : SEGDES MELVA5 464 : SEGDES MCHAM3 465 : SEGDES MCHAM4 466 : SEGDES MCHAM5 467 : ENDIF 468 : RETURN 469 : ENDIF 470 : c 471 : c 472 : c remplissage du segment contenant les contraintes a la fin 473 : * ( rearrangement pour milieu poreux ), 474 : c les variables internes finales 475 : c et les increments de deformations plastiques 476 : c 476 : CALL DEFSIG(MFR,NDEF, 477 : . INPLAS,IND,WRK1,WRK5,WTRAV, 478 : . IVASTF,IVARIF,IVADEP,COB,XMOB,IB,IGAU, 479 : . CMATE,MATE,MELE,KERRER) 480 : IF (KERRER.NE.0) GOTO 1000 481 : c 482 : c fin de la boucle sur les points de gauss 483 : c 484 : 1100 continue 485 : c 486 : c special poutres et tuyaux sauf timoschenko 487 : c 487 : CALL DEFPOU(MFR,MELE,MELEME,IB,WRK4,IVASTF) 488 : c 489 : c fin de la boucle sur les elements 490 : c 491 : 1000 continue 492 : c 493 : * FIN: modèles visqueux, on stocke le pas de temps 494 : * optimal en indice 'dtopti' 495 : * 495 : CALL DEFFIN(INPLAS,TSOM,NSOM,NCOMP,NINV,NINCMA, 496 : . TCAR,DTOPTI,IPOTAB,KERRE) 497 : IF (LOGVIS) SEGSUP WRK8 498 : * 499 : * 500 : SEGSUP WRK0,WR00,WRK1,WRK2,WRK3,WRK5,WTRAV 501 : IF(MFR.EQ.7.OR.MFR.EQ.13.OR.LUNI1) THEN 502 : SEGSUP WRK4 503 : END IF 504 : IF ((CMATE.EQ.'ORTHOTRO'.OR.CMATE.EQ.'ANISOTRO'.OR. 505 : 1 CMATE.EQ.'UNIDIREC').AND.(MFR.EQ.1.OR.MFR.EQ.31 506 : 1 .OR.MFR.EQ.33)) THEN 507 : SEGDES MINTE2 508 : SEGSUP WRK22 509 : ENDIF 510 : * 511 : IF (ITHHER.EQ.1.OR.ITHHER.EQ.2) THEN 512 : SEGDES MELVA3 513 : SEGDES MELVA4 514 : SEGDES MELVA5 515 : SEGDES MCHAM3 516 : SEGDES MCHAM4 517 : SEGDES MCHAM5 518 : ENDIF 519 : * 520 : RETURN 521 : END 522 : 523 : 524 : 525 : 526 : 527 : 528 : 529 : 530 : 531 : 532 : 533 : 534 : 535 : 536 : 537 : 538 : 539 : 540 : 541 : 542 : 543 : 544 : 545 : 546 : 547 : 548 : 549 : 550 :
© Cast3M 2003 - All rights reserved.
Disclaimer