dsdrucke
C DSDRUCKE SOURCE CB215821 16/04/21 21:16:32 8920 c This subroutine calculates the derivative of the Drucker Prager c plastic function with respect to sigma c c fc = SQRT(3 J2) + alpha I1 with J2 : 2nd invariant of the deviatoric stress c and I1 : 1st invariant of the stress IMPLICIT REAL*8 (A-B,D-H,O-Z) implicit integer (I-K,M,N) implicit logical (L) implicit character*10 (C) **** dimension vloc(i6),sigma(i6),P2(i6,i6),pi2(i6) **** dimension dfc(i6),vloc1(i1),vloc2(i6) ***** * MESSAGES D'ERREUR ( SUPPRESSION DES AUTOMATIC OBJECTS) IF(I1.GT.1) PRINT *, ' DSIGDRUCKER - ERREUR I1 = ', I1, ' > 1 ' IF(I6.GT.6) PRINT *, ' DSIGDRUCKER - ERREUR I6 = ', I6, ' > 6 ' ***** r1 = 1. r2 = 2. i3 = 3 c [6;1]=[6;6]x[6;1] do iloc=1,6 end do c [1]=[1;6]x[6;1] rloc = (r1/r2)* vloc1(i1) if (rloc.le.0.d0) then psi2 = 0.d0 else psi2 = SQRT(rloc) c psi2 = SQRT(3 * J2) endif c [1]=[1;6]x[6;1] c test = alpha*I1 if (ABS(psi2).le.psi2lim) then do iloc=i1,i6 enddo else if (ABS(f_compr).le.100.) then c APEX of the Drucker-Prager surface do iloc=i1,i6 end do else do iloc=i1,i6 end do endif RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales