1 : C PRVPAR SOURCE CHAT 05/01/13 02:36:44 5004 2 : SUBROUTINE PRVPAR(SIG0,NSTRS,DEPST,VAR0,XMAT,NCOMAT,XCAR,ICARA, 3 : 1NVARI,SIGF,VARF,DEFP,MFR1,DDAUX,CMATE,VALMAT,VALCAR,N2EL,N2PTEL, 4 : 2 NBPGAU,IFOU,IB,IGAU,EPAIST,MELE,NPINT,NBGMAT,NELMAT,SECT, 5 : 3 LHOOK,TXR,XLOC,XGLOB,D1HOOK,ROTHOO,DDHOMU,CRIGI,DSIGT,KERRE,DT) 6 : C 7 : C ================================================================== 8 : C CE SOUS-PROGRAMME EST APPELE DANS "ECOUL2". 9 : C IL PREPARE L'INTEGRATION DE LA LOI DE GURSON 10 : C 11 : C ENTREES: 12 : C ------- 13 : C NSTRS = NBR. DE COMPOSANTES DES CONTR. OU DES DEFORM. 14 : C SIG0(NSTRS) = CONTR. AU DEBUT DU PAS D'INTEGRATION 15 : C DEPST(NSTRS) = INCREMENT DES DEFORM. CALCULE ELASTIQUEMENT 16 : C A PARTIR DE L'INCREMENT DES DEFORM. TOTALES 17 : C NVARI = NBR. DE VARIABLES INTERNES 18 : C VAR0(NVARI) = VARIABLES INTERNES AU DEBUT DU PAS D'INTEGRATION 19 : C CE TABLEAU CONTIENT DANS L'ORDRE: 20 : C - LA DEFORM. PLASTIQUE CUMULEE 21 : C - LA FRACTION DE VIDE INTERNE 22 : C - LA DENSITE 23 : C - LES DEFORM. PLASTIQUES 24 : C NCOMAT = NBR. DE CARACTERISTIQUES MECANIQUES DU MATERIAU 25 : C XMAT(NCOMAT) = CARACTERISTIQUES MECANIQUES DU MATERIAU 26 : C MFR = INDICE DE LA FORMULATION MECANIQUE; SEULEMENT 27 : C MASSIF OU COQUE POUR LES MATERIAUX ENDOMMAGEABLES 28 : C ICARA = NBR. DE CARACT. GEOMETRIQUES DES ELEMENTS FINIS 29 : C XCAR(ICARA) = CARACT. GEOMETRIQUES DES ELEMENTS FINIS 30 : * DDAUX = MATRICE DE HOOKE ELASTIQUE 31 : * NSTRS = NBRE DE COMPOSANTES DES DEFORMATIONS 32 : * CMATE = NOM DU MATERIAU 33 : * VALMAT= TABLEAU DE CARACTERISTIQUES DU MATERIAU 34 : * VALCAR= TABLEAU DE CARACTERISTIQUES GEOMETRIQUES 35 : * N2EL = NBRE D ELEMENTS DANS SEGMENT DE HOOKE 36 : * N2PTEL= NBRE DE POINTS DANS SEGMENT DE HOOKE 37 : * MFR = NUMERO DE LA FORMULATION 38 : * IFOU = OPTION DE CALCUL 39 : * IB = NUMERO DE L ELEMENT COURANT 40 : * IGAU = NUMERO DU POINT COURANT 41 : * EPAIST= EPAISSEUR 42 : * NBPGAU= NBRE DE POINTS DE GAUSS 43 : * MELE = NUMERO DE L ELEMENT FINI 44 : * NPINT = NBRE DE POINTS D INTEGRATION 45 : * NBGMAT= NBRE DE POINTS DANS SEGMENT DE CARACTERISTIQUES 46 : * NELMAT= NBRE D ELEMENTS DANS SEGMENT DE CARACTERISTIQUES 47 : * SECT = SECTION 48 : * LHOOK = TAILLE DE LA MATRICE DE HOOKE 49 : * TXR,XLOC,XGLOB,D1HOOK,ROTHOO,DDHOMU,CRIGI = TABLEAUX UTILISES 50 : * POUR LE CALCUL DE LA MATRICE DE HOOKE 51 : C 52 : C SORTIES: 53 : C ------- 54 : C SIGF(NSTRS)= CONTR. A LA FIN DU PAS D'INTEGRATION 55 : C VARF(NVARI)= VARIABLES INTERNES A LA FIN DU PAS D'INTEGRATION 56 : C DEFP(NSTRS)= INCREMENT DES DEFORM. PLASTIQUES A LA FIN DU PAS 57 : C D'INTEGRATION 58 : C KERRE = INDICE QUI REGIT LES ERREURS 59 : C = 77 SI LA DEFORM. PLAST. CUMULEE ENDOMMAGEE (2IEME VAR. 60 : C INT.) EST EN DEHORS DE LA COURBE DE TRACTION, DS. 61 : C LE CAS DE L'ECROUISSAGE ET DE L'ENDOMM. ISOTROPES. 62 : C CECI PEUT SE PRODUIRE SUITE A L'APPEL A "CRIDAM" 63 : C = 99 SI LA FORMULATION MECANIQUE N'EST PAS DISPONIBLE 64 : C POUR LE MODELE CONSIDERE OU S'IL Y A INCOMPATIBILITE 65 : C ENTRE MFR ET IFOUR 66 : C ================================================================== 67 : C ICI IL FAUT PROGRAMMER EN FORTRAN PUR 68 : C =================================================================== 69 : C 70 : IMPLICIT INTEGER(I-N) 71 : IMPLICIT REAL*8(A-H,O-Z) 72 : -INC CCOPTIO 73 : DIMENSION SIG0(*),DEPST(*),VAR0(*),XMAT(*),XCAR(*),SIGF(*), 74 : & VARF(*),DEFP(*) 75 : DIMENSION RSIG0(6),RDSIGT(6),RDEFP(6),RSIGF(6),DSIGT(*) 76 : DIMENSION VALMAT(*),VALCAR(*) 77 : DIMENSION TXR(IDIM,*),CRIGI(12) 78 : DIMENSION DDAUX(LHOOK,*),DDHOMU(LHOOK,*) 79 : DIMENSION XLOC(IDIM,*),XGLOB(IDIM,*) 80 : DIMENSION D1HOOK(LHOOK,*),ROTHOO(LHOOK,*) 81 : CHARACTER*8 CMATE 82 : C 83 : C CALCUL DE L'INCREMENT DE CONTRAINTES 84 : C 84 : CALL CALSIG(DEPST,DDAUX,NSTRS,CMATE,VALMAT,VALCAR, 85 : 1 N2EL,N2PTEL,MFR1,IFOU,IB,IGAU,EPAIST,NBPGAU, 86 : 2 MELE,NPINT,NBGMAT,NELMAT,SECT,LHOOK,TXR,XLOC, 87 : 3 XGLOB,D1HOOK,ROTHOO,DDHOMU,CRIGI,DSIGT,IRTD) 88 : * 89 : IF(IRTD.NE.1) THEN 90 : KERRE=69 91 : GOTO 1000 92 : ENDIF 93 : * 94 : C 95 : C ADAPTATION DE L'OPTION DE CACUL VERS LE 3D MASSIF DE SIG0 A RSIG0 96 : C 97 : IF (MFR1 .EQ. 1 .OR. MFR1 .EQ. 31) THEN 98 : C 1 formulation massive 99 : C 2 formulation quasi incompressible 100 : C MASSIF 3D 101 : IF (NSTRS .EQ. 6) THEN 102 : DO 10 I=1,NSTRS 103 : RSIG0(I)=SIG0(I) 104 : RDSIGT(I)=DSIGT(I) 105 : 10 CONTINUE 106 : ELSE IF ( NSTRS .EQ. 4 .AND. ((IFOUR .EQ. 0) 107 : & .OR. (IFOUR .EQ. -1))) THEN 108 : C calcul en mode contraintes planes ou axisymetrique 109 : DO 15 I=1,NSTRS 110 : RSIG0(I)=SIG0(I) 111 : RDSIGT(I)=DSIGT(I) 112 : 15 CONTINUE 113 : RSIG0(5)=0.D0 114 : RSIG0(6)=0.D0 115 : RDSIGT(5)=0.D0 116 : RDSIGT(6)=0.D0 117 : ENDIF 118 : ELSE 119 : KERRE = 99 120 : RETURN 121 : ENDIF 122 : C 123 : C DONNE MATERIAU 124 : C 125 : YOUNG = XMAT(1) 126 : POISSON = XMAT(2) 127 : Y = XMAT(5) 128 : CK = XMAT(7) 129 : CN = XMAT(6) 130 : * 131 : * SIGBAR=XMAT(7) 132 : * SY0=XMAT(5) 133 : * phi0=XMAT(8) 134 : * G=XMAT(1)/2.D0/(1.D0+XMAT(2)) 135 : * B=XMAT(1)/3.D0/(1.D0-2.D0*XMAT(2)) 136 : * H=XMAT(6) 137 : * RHO0=1.D0 138 : 139 : C 140 : C WRITE (*,*) '------------------------------' 141 : C WRITE (*,100) 'sig=' ,(RSIG0(I),I=1,6) 142 : C WRITE (*,*) 'P=',RP 143 : C WRITE (*,100) 'dsig=' ,(DSIGT(I),I=1,6) 144 : C WRITE (*,100) 'dept=' ,(RDEF(I),I=1,6) 145 : C WRITE (*,*) 'YOUNG=',YOUNG 146 : C WRITE (*,*) 'NU=' , POISSON 147 : C WRITE (*,*) 'epse=',VAR0(1), ' phi=',VAR0(2),' dens=',VAR0(3) 148 : 149 : C 150 : C NOUVEL ETAT APRES L'INCREMENT DE DEFORMATION 151 : C 151 : CALL VPARF(YOUNG,POISSON,Y,CK,CN,RSIG0,RDSIGT,RDEFP,RSIGF,DT) 152 : C 153 : C WRITE (*,100) 'sig=' ,(RSIGF(I),I=1,6) 154 : C WRITE (*,*) 'P=',RP 155 : C WRITE (*,*) 'epse=',VAR0(1),' phi0=',VAR0(2),' dens=',VAR0(3) 156 : C 157 : 158 : C VARIABLES INTERNES 159 : C 160 : DO 50 I=1,NVARI 161 : VARF(I)=VAR0(I) 162 : 50 CONTINUE 163 : C 164 : C PASSAGE A L'OPTION DE CALCUL POUR LES CONTRAINTES 165 : C 166 : IF (MFR1 .EQ. 1 .OR. MFR1 .EQ. 31) THEN 167 : IF (NSTRS .EQ. 6) THEN 168 : C MASSIF 3D 169 : DO 70 I=1,NSTRS 170 : SIGF(I)=RSIGF(I) 171 : DEFP(I)=RDEFP(I) 172 : 70 CONTINUE 173 : ELSE IF ( NSTRS .EQ. 4 ) THEN 174 : C CALCUL AXYSYMETRQUE OU CONTRAINTE PLANES 175 : DO 80 I=1,NSTRS 176 : SIGF(I)=RSIGF(I) 177 : DEFP(I)=RDEFP(I) 178 : 80 CONTINUE 179 : IF ( RSIGF(5) .GT. 1.E-6 .OR. RSIGF(6) .GT. 1.E-6) THEN 180 : WRITE (*,*) 'Dans la routine prvpar 181 : & SMRT OU SMTZ NON NULLES APRES ECOUL' 182 : ENDIF 183 : ENDIF 184 : ENDIF 185 : c ajustement de l'ecrouissage 186 : GAMMA = 0.D0 187 : DO 90 I=1,NSTRS 188 : GAMMA = GAMMA+DEFP(I)*DEFP(I) 189 : 90 CONTINUE 190 : GAMMA = SQRT(2.D0/3.D0*GAMMA) 191 : VARF(1)=VAR0(1)+GAMMA 192 : C 193 : C WRITE (*,100) 'sig=' ,(SIGF(I),I=1,6) 194 : C WRITE (*,100) 'var=' ,(VARF(I),I=1,3) 195 : C WRITE (*,100) 'dep=' ,(DEFP(I),I=1,6) 196 : C 197 : 100 FORMAT (A,6(1PE12.5,1X)) 198 : 1000 RETURN 199 : END 200 : 201 : 202 : 203 : 204 :
© Cast3M 2003 - All rights reserved.
Disclaimer