C CONCYC1 SOURCE PV 17/12/08 21:16:57 9660 SUBROUTINE CONCYC1(wrk52,wrk53,wrk54,nvari,iecou) C C====&===1=========2=========3=========4=========5=========6=========7== C Commentaires : Subroutine permettant de mettre en oeuvre le C modele CONCYC (M. Vassaux & B. Richard) pour representer C le comportement 2D/3D d'un beton ordinaire sous C sollicitations cycliques C C Traits : - Endommagement scalaire C - Boucles hysteretiques C - Deformations permanentes C - Refermeture lineaire des fissures C - Effet unilatteral complet C - Non localite portant sur le seuil d'endommagement (Fd) C C Auteur : B. Richard C C Co-auteur : M. Vassaux C C Date : 2010 - 2011 C====&===1=========2=========3=========4=========5=========6=========7== C C-----DECLARATION GENERALE---------------------------------------------- C IMPLICIT REAL*8(A-H,O-Z) REAL*8 DEPST2(4),DEPST3(6),VAR1(42) C C-----LISTE DES INCLUDES A CHARGER-------------------------------------- C -INC PPARAM -INC CCOPTIO -INC DECHE C C-----DEFINITION DE L ISOTROPIE----------------------------------------- C CMATE = 'ISOTROPE' C C-----PARAMETERES------------------------------------------------------- C C Dans le cas d'un calcul local : C --> NSUB = NSUB0 C C Dans le cas d'un calculs non local : C --> calcul du seuil : NSUB = 1 C --> calcul moyenne : NSUB = NSUB0 C Choix de NSUB0 de maniere adaptative XTEMP = 0.0D0 DO I=1,(2*IDIM) XTEMP = MAX(ABS(DEPST(I)),XTEMP) ENDDO IF (XTEMP.LE.1.0D-5) THEN NSUB0 = 10 ELSEIF ((XTEMP.GT.1.0D-5).AND.(XTEMP.LE.1.0D-4)) THEN NSUB0 = 100 ELSEIF ((XTEMP.GT.1.0D-4).AND.(XTEMP.LE.1.0D-3)) THEN NSUB0 = 1000 ELSEIF (XTEMP.GT.1.0D-3) THEN NSUB0 = 1000 ENDIF IF (ISTEP.EQ.0) THEN NSUB = NSUB0 ELSEIF (ISTEP.EQ.1) THEN NSUB = 1 ELSEIF (ISTEP.EQ.2) THEN NSUB = NSUB0 ENDIF C PAS DE SUBSTEPPING, tant que l'on ne sait pas gérer ISTEP depuis le script... NSUB = 1 C RICBET3D C----------------------------------------------------------------------- C C On forme le vecteur des increments de deformations subdivisees C DO K=1,6 C DEPST3(K)=DEPST(K)/NSUB C ENDDO C On retient les varibles internes de depart C DO K=1,35 C VAR1(K)=VAR0(K) C ENDDO C On commence le substepping C DO J=1,NSUB CALL CONCYC2(XMAT,SIG0,SIGF,VAR0,VARF,DEPST,ISTEP) C DO I=1,35 C VAR1(I)=VARF(I) C ENDDO C C ENDDO RETURN END