30
31
32
33#include "implicit_f.inc"
34
35
36
37 INTEGER NBDAMA,NEL,DAMAI(NEL)
38 my_real,
DIMENSION(NEL) ,
INTENT(INOUT) :: deps1,deps2,deps3,
39 . deps4,deps5,deps6
40 my_real,
DIMENSION(NEL,6) ,
INTENT(IN) :: ang
41
42
43
44 INTEGER I,K
45 my_real,
DIMENSION(NEL) :: s11,s12,s13,s21,s22,s23,s31,s32,s33,
46 . a11,a12,a13,a21,a22,a23,a31,a32,a33
47
48 DO k=1,nbdama
49 i = damai(k)
50 s11(i)=ang(i,1)
51 s21(i)=ang(i,2)
52 s31(i)=ang(i,3)
53 s12(i)=ang(i,4)
54 s22(i)=ang(i,5)
55 s32(i)=ang(i,6)
56 s13(i)= s21(i)*s32(i)-s31(i)*s22(i)
57 s23(i)= s31(i)*s12(i)-s11(i)*s32(i)
58 s33(i)= s11(i)*s22(i)-s21(i)*s12(i)
59 ENDDO
60
61
62
63
64 DO k=1,nbdama
65 i= damai(k)
66 deps4(i)=half*deps4(i)
67 deps5(i)=half*deps5(i)
68 deps6(i)=half*deps6(i)
69 a11(i)=deps1(i)*s11(i)+deps4(i)*s21(i)+deps6(i)*s31(i)
70 a12(i)=deps1(i)*s12(i)+deps4(i)*s22(i)+deps6(i)*s32(i)
71 a13(i)=deps1(i)*s13(i)+deps4(i)*s23(i)+deps6(i)*s33(i)
72 a21(i)=deps4(i)*s11(i)+deps2(i)*s21(i)+deps5(i)*s31(i)
73 a22(i)=deps4(i)*s12(i)+deps2(i)*s22(i)+deps5(i)*s32(i)
74 a23(i)=deps4(i)*s13(i)+deps2(i)*s23(i)+deps5(i)*s33(i)
75 a31(i)=deps6(i)*s11(i)+deps5(i)*s21(i)+deps3(i)*s31(i)
76 a32(i)=deps6(i)*s12(i)+deps5(i)*s22(i)+deps3(i)*s32(i)
77 a33(i)=deps6(i)*s13(i)+deps5(i)*s23(i)+deps3(i)*s33(i)
78 ENDDO
79 DO k = 1,nbdama
80 i = damai(k)
81 deps1(i) = s11(i)*a11(i)+s21(i)*a21(i)+s31(i)*a31(i)
82 deps2(i) = s12(i)*a12(i)+s22(i)*a22(i)+s32(i)*a32(i)
83 deps3(i) = s13(i)*a13(i)+s23(i)*a23(i)+s33(i)*a33(i)
84 deps4(i) = s11(i)*a12(i)+s21(i)*a22(i)+s31(i)*a32(i)
85 deps5(i) = s12(i)*a13(i)+s22(i)*a23(i)+s32(i)*a33(i)
86 deps6(i) = s11(i)*a13(i)+s21(i)*a23(i)+s31(i)*a33(i)
87 deps4(i) = two*deps4(i)
88 deps5(i) = two*deps5(i)
89 deps6(i) = two*deps6(i)
90 ENDDO
91 RETURN