Download hookp.eso

Back to the list

   1 : C HOOKP     SOURCE    PV        11/02/18    21:15:00     6875           
   2 : C
   3 :       SUBROUTINE HOOKP(VAR,VARD,NVARI,XMAT,NCOMAT,MFR,NSTRS,DINV)                                           
   4 : C                                                                               
   5 : C----------------------------------------------------------------------------          
   6 : C Objet: Calcul de la variation de la matrice de Hooke endommagee inverse 
   7 : C        dans le cas de la viscoplasticite avec endommagement
   8 : C        anisotrope(materiau 142) en regime isotherme               
   9 : C----------------------------------------------------------------------------
  10 : C
  11 : C----------------------------------------------------------------------------
  12 : C Entree: NSTRS nombre de composantes des contraintes ou 
  13 : C           des deformations
  14 : C         NVARI nombre de variables internes pilotant les 
  15 : C           equations du modele                                                 
  16 : C         VAR(NVARI) tableau des variables internes
  17 : C         VARD(NVARI) tableau des variations des variables internes 
  18 : C         XMAT(NCOMAT) tableau des parametres scalaires du materiau
  19 : C           a une temperature T donnee
  20 : C           dont XMAT(1) module d'Young et XMAT(2) coeff de Poisson
  21 : C         MFR indice de la formulation mecanique(seulement massif 
  22 : C           pour les materiaux endommageables)
  23 : C--------------------------------------------------------------------------------
  24 : C 
  25 : C--------------------------------------------------------------------------------                                                                              
  26 : C Sortie: DINV(NSTRS,NSTRS) variation de l'inverse de la matrice de Hooke endommagee
  27 : C _______________________________________________________________________________
  28 : C       
  29 :        IMPLICIT INTEGER(I-N)
  30 :        IMPLICIT REAL*8(A-H,O-Z)
  31 : -INC CCOPTIO
  32 :        DIMENSION VAR(*),VARD(*),XMAT(*),DINV(NSTRS,NSTRS) 
  33 : C                                             
  34 : C --- Termes d'endommagement ---
  35 : C   
  36 :       D11=VAR(2)
  37 :       D22=VAR(3)
  38 :       D33=VAR(4)
  39 :       D12=VAR(5)
  40 :       D13=VAR(6)
  41 :       D23=VAR(7)
  42 : 
  43 :       DE1 = 1.D0-D11
  44 :       DE2 = 1.D0-D22
  45 :       DE3 = 1.D0-D33
  46 :       IF (D11.GE.1.D0) DE1 = 1.D-6
  47 :       IF (D22.GE.1.D0) DE2 = 1.D-6
  48 :       IF (D33.GE.1.D0) DE3 = 1.D-6
  49 : C      write(6,*) DE1,DE2,DE3
  50 : C
  51 : C --- Coefficients de la matrive de Hooke inversée ---
  52 : 
  53 :       YUNG=XMAT(1)
  54 :       XNU=XMAT(2) 
  55 :       COEFF1=(1.D0+XNU)/YUNG
  56 :       COEFF2=XNU/YUNG
  57 :       COEFF3=1.D0/YUNG
  58 : C
  59 : C --- Calcul du déterminant de I - D ---
  60 : 
  61 :       det=(DE1)*(DE2)*(DE3)
  62 :      &   - 2.D0*D12*D13*D23-D12*D12*(DE3)
  63 :      &   - D23*D23*(DE1)-D13*D13*(DE2)
  64 : 
  65 :       det2=det*det
  66 :       det4=det2*det2
  67 : C
  68 : C --- Calcul des dérivées partielles de det par rapport aux termes du tenseur d'endommagement
  69 : 
  70 :       detp11=D23*D23-(DE2)*(DE3)
  71 :       detp22=D13*D13-(DE1)*(DE3)
  72 :       detp33=D12*D12-(DE1)*(DE2)
  73 :       detp12=-2.D0*(D23*D13+(DE3)*D12)
  74 :       detp13=-2.D0*(D12*D23+(DE2)*D13)
  75 :       detp23=-2.D0*(D12*D13+(DE1)*D23)
  76 : C
  77 : C --- Calcul des termes de la matrice de l'inverse de I - D (multipliés par det)
  78 : 
  79 :       A11=(DE2)*(DE3)-D23*D23
  80 :       A22=(DE1)*(DE3)-D13*D13
  81 :       A33=(DE2)*(DE1)-D12*D12
  82 :       A12=D12*(DE3)+D23*D13
  83 :       A13=D13*(DE2)+D23*D12
  84 :       A23=D23*(DE1)+D13*D12
  85 : C
  86 : C --- Calcul des termes de la variation de la matrice de Hooke inverse
  87 : 
  88 :       DINV(1,1)=COEFF3*(vard(2)*(-2.D0*detp11*det*A11*A11)
  89 :      &      +vard(3)*(2.D0*(D33-1.D0)*A11*det2-2.D0*detp22*det*A11*A11)
  90 :      &      +vard(4)*(2.D0*(D22-1.D0)*A11*det2-2.D0*detp33*det*A11*A11)
  91 :      &      +vard(5)*(-2.D0*detp12*det*A11*A11)
  92 :      &      +vard(6)*(-2.D0*detp13*det*A11*A11)
  93 :      &      +vard(7)*(-4.D0*D23*A11*det2-2.D0*detp23*det*A11*A11))/det4
  94 : 
  95 :       DINV(1,2)=(COEFF1*(vard(2)*(-2.D0*detp11*det*A12*A12)           
  96 :      &      +vard(3)*(-2.D0*detp22*det*A12*A12)
  97 :      &      +vard(4)*(-2.D0*D12*A12*det2-2.D0*detp33*det*A12*A12)
  98 :      &      +vard(5)*(2.D0*(DE3)*A12*det2-2.D0*detp12*det*A12*A12)
  99 :      &      +vard(6)*(2.D0*D23*A12*det2-2.D0*detp13*det*A12*A12)
 100 :      &      +vard(7)*(2.D0*D13*A12*det2-2.D0*detp23*det*A12*A12))
 101 :      &      -COEFF2*(vard(2)*((D33-1.D0)*A11*det2
 102 :      &                       -2.D0*detp11*det*A11*A22)
 103 :      &      +vard(3)*((D33-1.D0)*A22*det2-2.D0*detp22*det*A11*A22)
 104 :      &      +vard(4)*(((D22-1.D0)*A22+(D11-1.D0)*A11)*det2
 105 :      &                -2.D0*detp33*det*A11*A22)
 106 :      &      +vard(5)*(-2.D0*detp12*det*A11*A22)
 107 :      &      +vard(6)*(-2.D0*D13*A11*det2-2.D0*detp13*det*A11*A22)
 108 :      &      +vard(7)*(-2.D0*D23*A22*det2-2.D0*detp23*det*A11*A22)))/det4
 109 : 
 110 :       DINV(1,3)=(COEFF1*(vard(2)*(-2.D0*detp11*det*A13*A13)           
 111 :      &      +vard(3)*(-2.D0*D13*A13*det2-2.D0*detp22*det*A13*A13)
 112 :      &      +vard(4)*(-2.D0*detp33*det*A13*A13)
 113 :      &      +vard(5)*(2.D0*D23*A13*det2-2.D0*detp12*det*A13*A13)
 114 :      &      +vard(6)*(2.D0*(DE2)*A13*det2-2.D0*detp13*det*A13*A13)
 115 :      &      +vard(7)*(2.D0*D12*A13*det2-2.D0*detp23*det*A13*A13))
 116 :      &      -COEFF2*(vard(2)*((D22-1.D0)*A11*det2
 117 :      &                       -2.D0*detp11*det*A11*A33)
 118 :      &      +vard(3)*(((D33-1.D0)*A33+(D11-1.D0)*A11)*det2
 119 :      &                -2.D0*detp22*det*A11*A33)
 120 :      &      +vard(4)*((D22-1.D0)*A33*det2-2.D0*detp33*det*A11*A33)
 121 :      &      +vard(5)*(-2.D0*D12*A11*det2-2.D0*detp12*det*A11*A33)
 122 :      &      +vard(6)*(-2.D0*detp13*det*A11*A33)
 123 :      &      +vard(7)*(-2.D0*D23*A33*det2-2.D0*detp23*det*A11*A33)))/det4
 124 : 
 125 :       DINV(1,4)=(2.D0*COEFF3/det4)*(vard(2)*(-2.D0*detp11*det*A11*A12)
 126 :      &      +vard(3)*((D33-1.D0)*A12*det2-2.D0*detp22*det*A11*A12)
 127 :      &      +vard(4)*(((D22-1.D0)*A12-D12*A11)*det2
 128 :      &                -2.D0*detp33*det*A11*A12)
 129 :      &      +vard(5)*((DE3)*A11*det2-2.D0*detp12*det*A11*A12)
 130 :      &      +vard(6)*(D23*A11*det2-2.D0*detp13*det*A11*A12)
 131 :      &      +vard(7)*((-2.D0*D23*A12+D13*A11)*det2
 132 :      &                -2.D0*detp23*det*A11*A12))
 133 : 
 134 :       IF (IFOUR.GT.0) THEN                                                    
 135 :       DINV(1,5)=(2.D0*COEFF3/det4)*(vard(2)*(-2.D0*detp11*det*A11*A13)
 136 :      &      +vard(3)*(((D33-1.D0)*A13-D13*A11)*det2
 137 :      &                -2.D0*detp22*det*A11*A13)
 138 :      &      +vard(4)*((D22-1.D0)*A13*det2-2.D0*detp33*det*A11*A13)
 139 :      &      +vard(5)*(D23*A11*det2-2.D0*detp12*det*A11*A13)
 140 :      &      +vard(6)*((DE2)*A11*det2-2.D0*detp13*det*A11*A13)
 141 :      &      +vard(7)*((-2.D0*D23*A13+D12*A11)*det2
 142 :      &                -2.D0*detp23*det*A11*A13))
 143 : 
 144 :       DINV(1,6)=(COEFF1*(vard(2)*(-2.D0*detp11*det*A12*A13)
 145 :      &      +vard(3)*(-D13*A12*det2-2.D0*detp22*det*A12*A13)
 146 :      &      +vard(4)*(-D12*A13*det2-2.D0*detp33*det*A12*A13)
 147 :      &      +vard(5)*(((DE3)*A13+D23*A12)*det2
 148 :      &                -2.D0*detp12*det*A12*A13)
 149 :      &      +vard(6)*((D23*A13+(DE2)*A12)*det2
 150 :      &                -2.D0*detp13*det*A12*A13)
 151 :      &      +vard(7)*((D13*A13+D12*A12)*det2-2.D0*detp23*det*A12*A13))
 152 :      &      -COEFF2*(vard(2)*(-D23*A11*det2-2.D0*detp11*det*A11*A23)
 153 :      &      +vard(3)*((D33-1.D0)*A23*det2-2.D0*detp22*det*A11*A23)
 154 :      &      +vard(4)*((D22-1.D0)*A23*det2-2.D0*detp33*det*A11*A23)
 155 :      &      +vard(5)*(D13*A11*det2-2.D0*detp12*det*A11*A23)
 156 :      &      +vard(6)*(D12*A11*det2-2.D0*detp13*det*A11*A23)
 157 :      &      +vard(7)*(((DE1)*A11-2.D0*D23*A23)*det2
 158 :      &                -2.D0*detp23*det*A11*A23)))*2.D0/det4
 159 :       ENDIF
 160 : 
 161 :       DINV(2,2)=COEFF3*(vard(2)*(2.D0*(D33-1.D0)*A22*det2
 162 :      &                  -2.D0*detp11*det*A22*A22)
 163 :      &      +vard(3)*(-2.D0*detp22*det*A22*A22)
 164 :      &      +vard(4)*(2.D0*(D11-1.D0)*A22*det2-2.D0*detp33*det*A22*A22)
 165 :      &      +vard(5)*(-2.D0*detp12*det*A22*A22)
 166 :      &      +vard(6)*(-4.D0*D13*A22*det2-2.D0*detp13*det*A22*A22))
 167 :      &      +vard(7)*(-2.D0*detp23*det*A22*A22)/det4
 168 : 
 169 :       DINV(2,3)=(COEFF1*(vard(2)*(-2.D0*D23*A23*det2
 170 :      &                            -2.D0*detp11*det*A23*A23)           
 171 :      &      +vard(3)*(-2.D0*detp22*det*A23*A23)
 172 :      &      +vard(4)*(-2.D0*detp33*det*A23*A23)
 173 :      &      +vard(5)*(2.D0*D13*A23*det2-2.D0*detp12*det*A23*A23)
 174 :      &      +vard(6)*(2.D0*D12*A23*det2-2.D0*detp13*det*A23*A23)
 175 :      &      +vard(7)*(2.D0*(DE1)*A23*det2-2.D0*detp23*det*A23*A23))
 176 :      &      -COEFF2*(vard(2)*(((D33-1.D0)*A33+(D22-1.D0)*A22)*det2
 177 :      &                       -2.D0*detp11*det*A22*A33)
 178 :      &      +vard(3)*((D11-1.D0)*A22*det2-2.D0*detp22*det*A22*A33)
 179 :      &      +vard(4)*((D11-1.D0)*A33*det2-2.D0*detp33*det*A22*A33)
 180 :      &      +vard(5)*(-2.D0*D12*A22*det2-2.D0*detp12*det*A22*A33)
 181 :      &      +vard(6)*(-2.D0*D13*A33*det2-2.D0*detp13*det*A22*A33)
 182 :      &      +vard(7)*(-2.D0*detp23*det*A22*A33)))/det4
 183 : 
 184 :       DINV(2,4)=(vard(2)*((D33-1.D0)*A12*det2-2.D0*detp11*det*A22*A12)
 185 :      &      +vard(3)*(-2.D0*detp22*det*A22*A12)
 186 :      &      +vard(4)*(((D11-1.D0)*A12-D12*A22)*det2
 187 :      &                -2.D0*detp33*det*A22*A12)
 188 :      &      +vard(5)*((DE3)*A22*det2-2.D0*detp12*det*A22*A12)
 189 :      &      +vard(6)*((-2.D0*D13*A12+D23*A22)*det2
 190 :      &                -2.D0*detp13*det*A22*A12)
 191 :      &      +vard(7)*(D13*A22*det2-2.D0*detp23*det*A22*A12))
 192 :      &      *(2.D0*COEFF3/det4)
 193 : 
 194 :       IF (IFOUR.GT.0) THEN                                                    
 195 :       DINV(2,5)=(COEFF1*(vard(2)*(-D23*A12*det2
 196 :      &                            -2.D0*detp11*det*A12*A23)
 197 :      &      +vard(3)*(-2.D0*detp22*det*A12*A23)
 198 :      &      +vard(4)*(-D12*A23*det2-2.D0*detp33*det*A12*A23)
 199 :      &      +vard(5)*(((DE3)*A23+D13*A12)*det2
 200 :      &                -2.D0*detp12*det*A12*A23)
 201 :      &      +vard(6)*((D23*A23+D12*A12)*det2-2.D0*detp13*det*A12*A23)
 202 :      &      +vard(7)*((D13*A23+(DE1)*A12)*det2
 203 :      &                -2.D0*detp23*det*A12*A23))
 204 :      &      -COEFF2*(vard(2)*((D33-1.D0)*A13*det2
 205 :      &                        -2.D0*detp11*det*A22*A13)
 206 :      &      +vard(3)*(-D13*A22*det2-2.D0*detp22*det*A22*A13)
 207 :      &      +vard(4)*((D11-1.D0)*A13*det2-2.D0*detp33*det*A22*A13)
 208 :      &      +vard(5)*(D23*A22*det2-2.D0*detp12*det*A22*A13)
 209 :      &      +vard(6)*(((DE2)*A22-2.D0*D13*A13)*det2
 210 :      &                -2.D0*detp13*det*A22*A13)
 211 :      &      +vard(7)*(D12*A22*det2-2.D0*detp23*det*A22*A13)))*2.D0/det4 
 212 : 
 213 :       DINV(2,6)=2.D0*COEFF3*(vard(2)*(((D33-1.D0)*A23-D23*A22)*det2
 214 :      &                    -2.D0*detp11*det*A22*A23)
 215 :      &      +vard(3)*(-2.D0*detp22*det*A22*A23)
 216 :      &      +vard(4)*((D11-1.D0)*A23*det2-2.D0*detp33*det*A22*A23)
 217 :      &      +vard(5)*(D13*A22*det2-2.D0*detp12*det*A22*A23)
 218 :      &      +vard(6)*((-2.D0*D13*A23+D12*A22)*det2
 219 :      &                -2.D0*detp13*det*A22*A23)
 220 :      &      +vard(7)*((DE1)*A22*det2-2.D0*detp23*det*A22*A23))/det4
 221 :       ENDIF
 222 : 
 223 :       DINV(3,3)=COEFF3*(vard(2)*(2.D0*(D22-1.D0)*A33*det2
 224 :      &                  -2.D0*detp11*det*A33*A33)
 225 :      &      +vard(3)*(2.D0*(D11-1.D0)*A33*det2-2.D0*detp22*det*A33*A33)
 226 :      &      +vard(4)*(-2.D0*detp33*det*A33*A33)
 227 :      &      +vard(5)*(-4.D0*D12*A33*det2-2.D0*detp12*det*A33*A33)
 228 :      &      +vard(6)*(-2.D0*detp13*det*A33*A33))
 229 :      &      +vard(7)*(-2.D0*detp23*det*A33*A33)/det4
 230 : 
 231 :       DINV(3,4)=(COEFF1*(vard(2)*(-D23*A13*det2-2.D0*detp11*det*A13*A23)
 232 :      &      +vard(3)*(-D13*A23*det2-2.D0*detp22*det*A13*A23)
 233 :      &      +vard(4)*(-2.D0*detp33*det*A13*A23)
 234 :      &      +vard(5)*((D23*A23+D13*A13)*det2-2.D0*detp12*det*A13*A23)
 235 :      &      +vard(6)*(((DE2)*A23+D12*A13)*det2
 236 :      &                -2.D0*detp13*det*A13*A23)
 237 :      &      +vard(7)*((D12*A23+(DE1)*A13)*det2
 238 :      &                -2.D0*detp23*det*A13*A23))
 239 :      &      -COEFF2*(vard(2)*((D22-1.D0)*A12*det2
 240 :      &                        -2.D0*detp11*det*A33*A12)
 241 :      &      +vard(3)*((D11-1.D0)*A12*det2-2.D0*detp22*det*A33*A12)
 242 :      &      +vard(4)*(-D12*A33*det2-2.D0*detp33*det*A33*A12)
 243 :      &      +vard(5)*(((DE3)*A33-2.D0*D12*A12)*det2
 244 :      &                -2.D0*detp12*det*A33*A12)
 245 :      &      +vard(6)*(D23*A33*det2-2.D0*detp13*det*A33*A12)
 246 :      &      +vard(7)*(D13*A33*det2-2.D0*detp23*det*A33*A12)))*2.D0/det4
 247 : 
 248 :       IF (IFOUR.GT.0) THEN                                                    
 249 :       DINV(3,5)=2.D0*COEFF3*(vard(2)*((D22-1.D0)*A13*det2
 250 :      &                      -2.D0*detp11*det*A33*A13)
 251 :      &      +vard(3)*(((D11-1.D0)*A13-D13*A33)*det2
 252 :      &                -2.D0*detp22*det*A33*A13)
 253 :      &      +vard(4)*(-2.D0*detp33*det*A33*A13)
 254 :      &      +vard(5)*((-2.D0*D12*A13+D23*A33)*det2
 255 :      &                -2.D0*detp12*det*A33*A13)
 256 :      &      +vard(6)*((DE2)*A33*det2-2.D0*detp13*det*A33*A13)
 257 :      &      +vard(7)*(D12*A33*det2-2.D0*detp23*det*A33*A13))/det4
 258 : 
 259 :       DINV(3,6)=2.D0*COEFF3*(vard(2)*(((D22-1.D0)*A23-D23*A33)*det2
 260 :      &                                -2.D0*detp11*det*A33*A23)
 261 :      &      +vard(3)*((D11-1.D0)*A23*det2-2.D0*detp22*det*A33*A23)
 262 :      &      +vard(4)*(-2.D0*detp33*det*A33*A23)
 263 :      &      +vard(5)*((-2.D0*D12*A23+D13*A33)*det2
 264 :      &                -2.D0*detp12*det*A33*A23)
 265 :      &      +vard(6)*(D12*A33*det2-2.D0*detp13*det*A33*A23)
 266 :      &      +vard(7)*((DE1)*A33*det2
 267 :      &                -2.D0*detp23*det*A33*A23))/det4
 268 :       ENDIF
 269 : 
 270 :       DINV(4,4)=(2.D0/det4)*(COEFF1*(vard(2)*((D33-1.D0)*A11*det2
 271 :      &                         -2.D0*detp11*det*(A12*A12+A11*A22))
 272 :      &      +vard(3)*((D33-1.D0)*A22*det2
 273 :      &                -2.D0*detp22*det*(A12*A12+A11*A22))
 274 :      &      +vard(4)*((-2.D0*D12*A12+(D22-1.D0)*A22+(D11-1.D0)*A11)
 275 :      &                *det2-2.D0*detp33*det*(A12*A12+A11*A22))
 276 :      &      +vard(5)*(2.D0*(DE3)*A12*det2
 277 :      &                -2.D0*detp12*det*(A12*A12+A11*A22))
 278 :      &      +vard(6)*((2.D0*D23*A12-2.D0*D13*A11)*det2
 279 :      &                -2.D0*detp13*det*(A12*A12+A11*A22))
 280 :      &      +vard(7)*((2.D0*D13*A12-2.D0*D23*A22)*det2
 281 :      &                -2.D0*detp23*det*(A12*A12+A11*A22)))
 282 :      &      -2.D0*COEFF2*(vard(2)*(-2.D0*detp11*det*A12*A12)           
 283 :      &      +vard(3)*(-2.D0*detp22*det*A12*A12)
 284 :      &      +vard(4)*(-2.D0*D12*A12*det2-2.D0*detp33*det*A12*A12)
 285 :      &      +vard(5)*(2.D0*(DE3)*A12*det2-2.D0*detp12*det*A12*A12)
 286 :      &      +vard(6)*(2.D0*D23*A12*det2-2.D0*detp13*det*A12*A12)
 287 :      &      +vard(7)*(2.D0*D13*A12*det2-2.D0*detp23*det*A12*A12)))
 288 : 
 289 :       IF (IFOUR.GT.0) THEN                                                    
 290 :       DINV(4,5)=(2.D0/det4)*(COEFF1*(vard(2)*(-D23*A11*det2
 291 :      &                -2.D0*detp11*det*(A13*A12+A11*A23))
 292 :      &      +vard(3)*((-D13*A12+(D33-1.D0)*A23)*det2
 293 :      &                -2.D0*detp22*det*(A13*A12+A11*A23))
 294 :      &      +vard(4)*((-D12*A13+(D22-1.D0)*A23)*det2
 295 :      &                -2.D0*detp33*det*(A13*A12+A11*A23))
 296 :      &      +vard(5)*((D23*A12+(DE3)*A13+D13*A11)*det2
 297 :      &                -2.D0*detp12*det*(A13*A12+A11*A23))
 298 :      &      +vard(6)*(((DE2)*A12+D23*A13+D12*A11)*det2
 299 :      &                -2.D0*detp13*det*(A13*A12+A11*A23))
 300 :      &      +vard(7)*((D12*A12+D13*A13-2.D0*D23*A23+(DE1)*A11)
 301 :      &                *det2-2.D0*detp23*det*(A13*A12+A11*A23)))
 302 :      &      -2.D0*COEFF2*(vard(2)*(-2.D0*detp11*det*A12*A13)
 303 :      &      +vard(3)*(-D13*A12*det2-2.D0*detp22*det*A12*A13)
 304 :      &      +vard(4)*(-D12*A13*det2-2.D0*detp33*det*A12*A13)
 305 :      &      +vard(5)*(((DE3)*A13+D23*A12)*det2
 306 :      &       -2.D0*detp12*det*A12*A13) +vard(6)*((D23*A13+(DE2)
 307 :      &          *A12)*det2-2.D0*detp13*det*A12*A13)
 308 :      &      +vard(7)*((D13*A13+D12*A12)*det2-2.D0*detp23*det*A12*A13)))
 309 : 
 310 :       DINV(4,6)=(2.D0/det4)*(COEFF1*(vard(2)*((-D23*A12
 311 :      &          +(D33-1.D0)*A13)*det2-2.D0*detp11*det*(A23*A12+A22*A13))
 312 :      &      +vard(3)*(-D13*A22*det2-2.D0*detp22*det*(A23*A12+A22*A13))
 313 :      &      +vard(4)*((-D12*A23+(D11-1.D0)*A13)*det2
 314 :      &                -2.D0*detp33*det*(A23*A12+A22*A13))
 315 :      &      +vard(5)*((D13*A12+(DE3)*A23+D23*A22)*det2
 316 :      &                -2.D0*detp12*det*(A23*A12+A22*A13))
 317 :      &      +vard(6)*((D12*A12+D23*A23-2.D0*D13*A13+(DE2)*A22)
 318 :      &                *det2-2.D0*detp13*det*(A23*A12+A22*A13))
 319 :      &      +vard(7)*(((DE1)*A12+D13*A23+D12*A22)*det2
 320 :      &                -2.D0*detp23*det*(A23*A12+A22*A13)))
 321 :      &      -2.D0*COEFF2*(vard(2)*(-D23*A12*det2-2.D0*detp11*det*A12
 322 :      &         *A23) + vard(3)*(-2.D0*detp22*det*A12*A23)
 323 :      &      +vard(4)*(-D12*A23*det2-2.D0*detp33*det*A12*A23)
 324 :      &      +vard(5)*(((DE3)*A23+D13*A12)*det2
 325 :      &                -2.D0*detp12*det*A12*A23)
 326 :      &      +vard(6)*((D23*A23+D12*A12)*det2-2.D0*detp13*det*A12*A23)
 327 :      &      +vard(7)*((D13*A23+(DE1)*A12)*det2
 328 :      &                -2.D0*detp23*det*A12*A23)))
 329 : 
 330 :       DINV(5,5)=(2.D0/det4)*(COEFF1*(vard(2)*((D22-1.D0)*A11*det2
 331 :      &                         -2.D0*detp11*det*(A13*A13+A11*A33))
 332 :      &      +vard(3)*((-2.D0*D13*A13+(D33-1.D0)*A33+(D11-1.D0)*A11)*det2
 333 :      &                -2.D0*detp22*det*(A13*A13+A11*A33))
 334 :      &      +vard(4)*((D22-1.D0)*A33*det2
 335 :      &                -2.D0*detp33*det*(A13*A13+A11*A33))
 336 :      &      +vard(5)*((2.D0*D23*A13-2.D0*D12*A11)*det2
 337 :      &                -2.D0*detp12*det*(A13*A13+A11*A33))
 338 :      &      +vard(6)*(2.D0*(DE2)*A13*det2
 339 :      &                -2.D0*detp13*det*(A13*A13+A11*A33))
 340 :      &      +vard(7)*((2.D0*D12*A13-2.D0*D23*A33)*det2
 341 :      &                -2.D0*detp23*det*(A13*A13+A11*A33)))
 342 :      &      -2.D0*COEFF2*(vard(2)*(-2.D0*detp11*det*A13*A13)           
 343 :      &      +vard(3)*(-2.D0*D13*A13*det2-2.D0*detp22*det*A13*A13)
 344 :      &      +vard(4)*(-2.D0*detp33*det*A13*A13)
 345 :      &      +vard(5)*(2.D0*D23*A13*det2-2.D0*detp12*det*A13*A13)
 346 :      &      +vard(6)*(2.D0*(DE2)*A13*det2-2.D0*detp13*det*A13*A13)
 347 :      &      +vard(7)*(2.D0*D12*A13*det2-2.D0*detp23*det*A13*A13)))
 348 : 
 349 :       DINV(5,6)=(2.D0/det4)*(COEFF1*(vard(2)*((-D23*A13
 350 :      &          +(D22-1.D0)*A12)*det2-2.D0*detp11*det*(A23*A13+A33*A12))
 351 :      &      +vard(3)*((-D13*A23+(D11-1.D0)*A12)*det2
 352 :      &                -2.D0*detp22*det*(A23*A13+A33*A12))
 353 :      &      +vard(4)*(-D12*A33*det2-2.D0*detp33*det*(A23*A13+A33*A12))
 354 :      &      +vard(5)*((D13*A13+D23*A23-2.D0*D12*A12+(DE3)*A33)*det2
 355 :      &                -2.D0*detp12*det*(A23*A13+A33*A12))
 356 :      &      +vard(6)*((D12*A13+(DE2)*A23+D23*A33)*det2
 357 :      &                -2.D0*detp13*det*(A23*A13+A33*A12))
 358 :      &      +vard(7)*(((DE1)*A13+D12*A23+D13*A33)*det2
 359 :      &                -2.D0*detp23*det*(A23*A13+A33*A12)))
 360 :      &      -2.D0*COEFF2*(vard(2)*(-D23*A13*det2-2.D0*detp11*det*A13
 361 :      &       *A23) +vard(3)*(-D13*A23*det2-2.D0*detp22*det*A12*A23)
 362 :      &      +vard(4)*(-2.D0*detp33*det*A13*A23)
 363 :      &      +vard(5)*((D23*A23+D13*A13)*det2-2.D0*detp12*det*A13*A23)
 364 :      &      +vard(6)*(((DE2)*A23+D12*A13)*det2
 365 :      &                -2.D0*detp13*det*A13*A23)
 366 :      &      +vard(7)*((D12*A23+(DE1)*A13)*det2
 367 :      &                -2.D0*detp23*det*A13*A23)))
 368 : 
 369 :       DINV(6,6)=(2.D0/det4)*(COEFF1*(vard(2)*((-2.D0*D23*A23
 370 :      &           +(D33-1.D0)*A33+(D22-1.D0)*A22)*det2
 371 :      &           -2.D0*detp11*det*(A23*A23+A22*A33))
 372 :      &      +vard(3)*((D11-1.D0)*A22*det2
 373 :      &                -2.D0*detp22*det*(A23*A23+A22*A33))
 374 :      &      +vard(4)*((D11-1.D0)*A33*det2
 375 :      &                -2.D0*detp33*det*(A23*A23+A22*A33))
 376 :      &      +vard(5)*((2.D0*D13*A23-2.D0*D12*A22)*det2
 377 :      &                -2.D0*detp12*det*(A23*A23+A22*A33))
 378 :      &      +vard(6)*((2.D0*D12*A23-2.D0*D13*A33)*det2
 379 :      &                -2.D0*detp13*det*(A23*A23+A22*A33))
 380 :      &      +vard(7)*(2.D0*(DE1)*A23*det2
 381 :      &                -2.D0*detp23*det*(A23*A23+A22*A33)))
 382 :      &      -2.D0*COEFF2*(vard(2)*(-2.D0*D23*A23*det2-2.D0
 383 :      &        *detp11*det*A23*A23) +vard(3)*(-2.D0*detp22
 384 :      &        *det*A23*A23) +vard(4)*(-2.D0*detp33*det*A23*A23)
 385 :      &      +vard(5)*(2.D0*D13*A23*det2-2.D0*detp12*det*A23*A23)
 386 :      &      +vard(6)*(2.D0*D12*A23*det2-2.D0*detp13*det*A23*A23)
 387 :      &      +vard(7)*(2.D0*(DE1)*A23*det2
 388 :      &                -2.D0*detp23*det*A23*A23)))
 389 :       ENDIF
 390 : 
 391 :       DINV(2,1)=DINV(1,2)
 392 : 
 393 :       DINV(3,1)=DINV(1,3)
 394 :       DINV(3,2)=DINV(2,3)
 395 : 
 396 :       DINV(4,1)=DINV(1,4)
 397 :       DINV(4,2)=DINV(2,4)
 398 :       DINV(4,3)=DINV(3,4)
 399 : 
 400 :       IF (IFOUR.GT.0) THEN                                                    
 401 :       DINV(5,1)=DINV(1,5)
 402 :       DINV(5,2)=DINV(2,5)
 403 :       DINV(5,3)=DINV(3,5)
 404 :       DINV(5,4)=DINV(4,5)
 405 : 
 406 :       DINV(6,1)=DINV(1,6)
 407 :       DINV(6,2)=DINV(2,6)
 408 :       DINV(6,3)=DINV(3,6)
 409 :       DINV(6,4)=DINV(4,6)
 410 :       DINV(6,5)=DINV(5,6)
 411 :       ENDIF
 412 : 
 413 :       RETURN                                                                    
 414 :       END  
 415 : 
 416 : 
 417 : 
 418 :  
 419 :  

© Cast3M 2003 - All rights reserved.
Disclaimer