30
31
32
33#include "implicit_f.inc"
34 INTEGER, INTENT(IN) :: NEL
35 my_real,
DIMENSION(NEL,3, 3),
INTENT(IN) :: a
36 my_real,
DIMENSION(NEL,3, 3),
INTENT(OUT) :: c
37 my_real,
DIMENSION(NEL,6) ,
INTENT(OUT) :: e
38
39 INTEGER I
40
41 DO i =1, nel
42
43
44 c(i,1,1) = a(i,1,1)**2 + a(i,2,1)**2 + a(i,3,1)**2
45 c(i,2,2) = a(i,1,2)**2 + a(i,2,2)**2 + a(i,3,2)**2
46 c(i,3,3) = a(i,1,3)**2 + a(i,2,3)**2 + a(i,3,3)**2
47
48 c(i,1,2) = a(i,1,1)*a(i,1,2) + a(i,2,1)*a(i,2,2) + a(i,3,1)*a(i,3,2)
49 c(i,1,3) = a(i,1,1)*a(i,1,3) + a(i,2,1)*a(i,2,3) + a(i,3,1)*a(i,3,3)
50 c(i,2,3) = a(i,1,2)*a(i,1,3) + a(i,2,2)*a(i,2,3) + a(i,3,2)*a(i,3,3)
51
52 c(i,2,1) = c(i,1,2)
53 c(i,3,1) = c(i,1,3)
54 c(i,3,2) = c(i,2,3)
55
56
57 e(i,1) = (c(i,1,1) - one) /two
58 e(i,2) = (c(i,2,2) - one) /two
59 e(i,3) = (c(i,3,3) - one) /two
60 e(i,4) = c(i,1,2) /two
61 e(i,5) = c(i,2,3) /two
62 e(i,6) = c(i,1,3) /two
63
64 ENDDO
65
66 RETURN