37
38
39
40#include "implicit_f.inc"
41#include "comlock.inc"
42
43
44
45#include "mvsiz_p.inc"
46
47
48
49#include "parit_c.inc"
50
51
52
53 INTEGER, INTENT(IN) :: NEL
54 INTEGER, INTENT(IN) :: NFT
55 INTEGER NC1(MVSIZ),NC2(MVSIZ),NC3(MVSIZ)
57 . fskyv(lsky,8),fsky(8,lsky),stir(*),
58 . mx1(mvsiz),my1(mvsiz),mz1(mvsiz),
59 . mx2(mvsiz),my2(mvsiz),mz2(mvsiz),
60 . e1x(mvsiz),e1y(mvsiz),e1z(mvsiz),
61 . e2x(mvsiz),e2y(mvsiz),e2z(mvsiz),
62 . e3x(mvsiz),e3y(mvsiz),e3z(mvsiz),
63 . m11(mvsiz),m12(mvsiz),m21(mvsiz),
64 . m22(mvsiz),m31(mvsiz),m32(mvsiz)
65 INTEGER IADP(2,*)
66
67
68
69 INTEGER I, II, N,J
71 . g11(mvsiz),g21(mvsiz),g31(mvsiz),
72 . g12(mvsiz),g22(mvsiz),g32(mvsiz)
73
74 DO i=1,nel
75 g11(i)=m11(i)
76 g21(i)=m21(i)
77 g31(i)=m31(i)
78 g12(i)=m12(i)
79 g22(i)=m22(i)
80 g32(i)=m32(i)
81 ENDDO
82
83 DO i=1,nel
84 m11(i)=e1x(i)*g11(i)+e2x(i)*g21(i)+e3x(i)*g31(i)
85 m21(i)=e1y(i)*g11(i)+e2y(i)*g21(i)+e3y(i)*g31(i)
86 m31(i)=e1z(i)*g11(i)+e2z(i)*g21(i)+e3z(i)*g31(i)
87 m12(i)=e1x(i)*g12(i)+e2x(i)*g22(i)+e3x(i)*g32(i)
88 m22(i)=e1y(i)*g12(i)+e2y(i)*g22(i)+e3y(i)*g32(i)
89 m32(i)=e1z(i)*g12(i)+e2z(i)*g22(i)+e3z(i)*g32(i)
90 ENDDO
91
92
93
94 IF (ivector == 1) THEN
95#include "vectorize.inc"
96 DO i=1,nel
97 ii = i + nft
98 n = iadp(1,ii)
99 fskyv(n,4)=-m11(i)
100 fskyv(n,5)=-m21(i)
101 fskyv(n,6)=-m31(i)
102 mx1(i) = m11(i)
103 my1(i) = m21(i)
104 mz1(i) = m31(i)
105 fskyv(n,8)=stir(i)
106 n = iadp(2,ii)
107 fskyv(n,4)=-m12(i)
108 fskyv(n,5)=-m22(i)
109 fskyv(n,6)=-m32(i)
110 mx2(i) = m12(i)
111 my2(i) = m22(i)
112 mz2(i) = m32(i)
113 fskyv(n,8)=stir(i)
114 ENDDO
115 ELSE
116 DO i=1,nel
117 ii = i + nft
118 n = iadp(1,ii)
119 fsky(4,n)=-m11(i)
120 fsky(5,n)=-m21(i)
121 fsky(6,n)=-m31(i)
122 mx1(i) = m11(i)
123 my1(i) = m21(i)
124 mz1(i) = m31(i)
125 fsky(8,n)=stir(i)
126 n = iadp(2,ii)
127 fsky(4,n)=-m12(i)
128 fsky(5,n)=-m22(i)
129 fsky(6,n)=-m32(i)
130 mx2(i) = m12(i)
131 my2(i) = m22(i)
132 mz2(i) = m32(i)
133 fsky(8,n)=stir(i)
134 ENDDO
135 ENDIF
136
137 RETURN