Download avcree.eso

Back to the list

   1 : C AVCREE    SOURCE    CHAT      05/01/12    21:30:15     5004           
   2 :       SUBROUTINE AVCREE(TAU,SIG,EPSV,EC0,ESW0,
   3 :      &                  SIG1,EPSV1,EC01,ESW01,P1,QTLD1,
   4 :      &                  DSPT,EPSVPT,EC0PT,ESW0PT,XMAT,
   5 :      &                  NSTRS1,IVIEX,MFR1,IFOURB)
   6 :       IMPLICIT INTEGER(I-N)
   7 :       IMPLICIT REAL*8(A-H,O-Z)
   8 : C-----------------------------------------------------------------------
   9 : C
  10 : C     DESCRIPTION FONCTIONNELLE :
  11 : C     -------------------------
  12 : C
  13 : C     Lois 'VISCO_EXTERNE' : mise a jour des deformations inelastiques,
  14 : C     des contraintes, des variables internes pre-definies
  15 : C
  16 : C     Entrees : TAU,
  17 : C               SIG,EPSV,EC0,ESW0 (etat initial),
  18 : C               DSPT,EPSVPT,EC0PT,ESW0PT,XMAT
  19 : C     Sorties : SIG1,EPSV1,EC01,ESW01,P1,QTLD1 (etat final)
  20 : C
  21 : C     Parametres : NSTRS1,IVIEX,MFR1,IFOURB
  22 : C                  Les indicateurs IVIEX,MFR1,IFOURB ne servent pas
  23 : C                  pour l'instant mais seront utiles si extensions :
  24 : C                  autres modeles que 'GENERAL', autres formulations EF,
  25 : C                  autres options de calcul
  26 : C
  27 : C-----------------------------------------------------------------------
  28 : C     Arguments de l'interface
  29 : C
  30 :       REAL*8     SIG(*), EPSV(*), SIG1(*), EPSV1(*),
  31 :      &           DSPT(*), EPSVPT(*), XMAT(*)
  32 : C
  33 : C     Variables locales
  34 : C
  35 : C     Tableaux de travail
  36 : C
  37 :       REAL*8     SS(8)
  38 : C
  39 : C------------------- Debut du code executable --------------------------
  40 : C
  41 : C 1 - Mise a jour des deformations inelastiques
  42 : C
  43 :       DO 10 I=1,NSTRS1
  44 :          EPSV1(I) = EPSV(I) + TAU*EPSVPT(I)
  45 :   10  CONTINUE
  46 : C
  47 : C 2 - Mise a jour des contraintes
  48 : C
  49 :       YOU = XMAT(1)
  50 :       XNU = XMAT(2)
  51 :       X2MU = YOU/(1.0D0+XNU)
  52 :       ALMB = X2MU*XNU/(1.0D0-2.0D0*XNU)
  53 : C
  54 :       TRACE = EPSVPT(1) + EPSVPT(2) + EPSVPT(3)
  55 :       DO 20 I=1,NSTRS1
  56 :          A = 0.0D0
  57 :          IF (I.LE.3) A = 1.0D0
  58 :          SIG1(I) = SIG(I) + TAU*(DSPT(I)-ALMB*A*TRACE-X2MU*EPSVPT(I))
  59 :   20  CONTINUE
  60 : C
  61 : C 3 - Mise a jour des variables internes pre-definies
  62 : C
  63 :       EC01 = EC0 + TAU*EC0PT
  64 :       ESW01 = ESW0 + TAU*ESW0PT
  65 : C
  66 :       P1 = 0.333333333333333D0*(SIG1(1)+SIG1(2)+SIG1(3))
  67 :       DO 30 I=1,NSTRS1
  68 :          A = 0.0D0
  69 :          IF (I.LE.3) A = 1.0D0
  70 :          SS(I) = SIG1(I)-A*P1
  71 :   30  CONTINUE
  72 :       QTLD1 = PROCON(SS,SS,NSTRS1)
  73 :       QTLD1 = SQRT(1.5D0*QTLD1)
  74 : C
  75 :       RETURN
  76 :       END
  77 :  
  78 :  

© Cast3M 2003 - All rights reserved.
Disclaimer