dsigrank
C DSIGRANK SOURCE FANDEUR 14/03/25 21:15:10 7993 . rkappait,lcp) c This subroutine calculates the derivative of the Rankine c plastic function with respect to sigma c gt = ft (because associated plasticity) c = S1 = largest principal stress IMPLICIT REAL*8 (A-B,D-H,O-Z) implicit integer (I-K,M,N) implicit logical (L) implicit character*10 (C) character*20 cloc1,cloc2 dimension rcossigmapr(3,3),parahot3(idimpara3) ***** * MESSAGES D'ERREUR ( SUPPRESSION DES AUTOMATIC OBJECTS) IF(I3.GT.3) PRINT *, ' DSIGRANK - ERREUR I3 = ', I3, ' > 3 ' ***** i1 = 1 i4 = 4 i5 = 5 r1 = 1.d0 r2 = 2.d0 r4 = 4.d0 if (lcp) then c in plane stress, calculation of the derivative of the principal stress diff = sigmax-sigmay racine = diff*diff + r4*sigmaxy*sigmaxy cloc1 = 'racine' cloc2 = 'dsigrank' call check_sqrt(racine,cloc1,cloc2,lerror) c **** ********** if (Lerror) then return endif racine = sqrt(racine) if (racine.gt.abs(rtest)*1.e-6) then dgt(1) = ( diff/racine+r1)/r2 dgt(2) = (-diff/racine+r1)/r2 dgt(4) = r2*sigmaxy/racine else c APEX of the Rankine surface: sigma1 = sigma2 ; sigma12 = 0 dgt(1) = sqrt(r2)/r2 dgt(2) = dgt(1) dgt(4) = 0.D0 endif dgt(3) = 0.d0 dgt(5) = 0.d0 dgt(6) = 0.d0 else c in full 3D, calculation of the derivative of the principal stress c ============= c algorithm to find the eigen values and eigen vectors of symmetric matrix sigma c APEX test c Carefull with precision of the real*8 if (rapex.le.3.d-4) then c APEX of the Rankine surface dgt(1)=sqrt(3.d0)/3.d0 dgt(2)=dgt(1) dgt(3)=dgt(1) dgt(4)=0.d0 dgt(5)=0.d0 dgt(6)=0.d0 else c Calculation of dgt/dsig = dgt/ds1 * ds1/dsig c dgt/dsig is the first column of the transposed matrix of axis change c between global axis and local axis of the principal stresses rkx = rcossigmapr(i1,i1) rnx = rcossigmapr(i3,i1) rkz = rcossigmapr(i1,i3) rnz = rcossigmapr(i3,i3) c Sxx, Syy, Szz, Sxy, Sxz, Syz dgt(i1) = rkx*rkx dgt(i3) = rnx*rnx dgt(i4) = 2.0d0*rkx*rmx dgt(i5) = 2.0d0*rkx*rnx dgt(i6) = 2.0d0*rmx*rnx endif endif RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales