32
33
34
35#include "implicit_f.inc"
36
37
38 INTEGER I,NEL,N
39
40
42
43
44 DO i= 1,nel
45 deta=mat(i,1,1)*mat(i,2,2)*mat(i,3,3) -mat(i,1,1)*mat(i,2,3)*mat(i,3,2) -
46 . mat(i,3,3)*mat(i,1,2)*mat(i,2,1) +mat(i,1,2)*mat(i,2,3)*mat(i,3,1) +
47 . mat(i,2,1)*mat(i,3,2)*mat(i,1,3) -mat(i,2,2)*mat(i,3,1)*mat(i,1,3)
48 IF(deta == zero)deta = em20
49 fac=one/ deta
50
51 ainv(i,1,1)=fac*(mat(i,2,2)*mat(i,3,3)-mat(i,2,3)*mat(i,3,2))
52 ainv(i,2,2)=fac*(mat(i,1,1)*mat(i,3,3)-mat(i,3,1)*mat(i,1,3))
53 ainv(i,3,3)=fac*(mat(i,1,1)*mat(i,2,2)-mat(i,1,2)*mat(i,2,1))
54 ainv(i,1,2)=fac*(mat(i,3,2)*mat(i,1,3)-mat(i,3,3)*mat(i,1,2))
55 ainv(i,2,3)=fac*(mat(i,2,1)*mat(i,1,3)-mat(i,1,1)*mat(i,2,3))
56 ainv(i,3,1)=fac*(mat(i,2,1)*mat(i,3,2)-mat(i,2,2)*mat(i,3,1))
57 ainv(i,2,1)=fac*(mat(i,2,3)*mat(i,3,1)-mat(i,3,3)*mat(i,2,1))
58 ainv(i,3,2)=fac*(mat(i,1,2)*mat(i,3,1)-mat(i,1,1)*mat(i,3,2))
59 ainv(i,1,3)=fac*(mat(i,1,2)*mat(i,2,3)-mat(i,2,2)*mat(i,1,3))
60
61 ENDDO
62
63 RETURN