41
43
44
45
46#include "implicit_f.inc"
47
48
49
50#include "mvsiz_p.inc"
51
52
53
54 INTEGER JFT,JLT,NFT,IEL_CRK(*),IADC_CRK(4,*),ILEV
55
57 . vl1(mvsiz,3),vl2(mvsiz,3),vl3(mvsiz,3),vl4(mvsiz,3),
58 . vrl1(mvsiz,3),vrl2(mvsiz,3),vrl3(mvsiz,3),vrl4(mvsiz,3),
59 . x1(mvsiz),x2(mvsiz),x3(mvsiz),x4(mvsiz),y1(mvsiz),
60 . y2(mvsiz),y3(mvsiz),y4(mvsiz),z1(mvsiz),z2(mvsiz),
61 . z3(mvsiz),z4(mvsiz),
62 . vx1(mvsiz),vx2(mvsiz),vx3(mvsiz),vx4(mvsiz),
63 . vy1(mvsiz),vy2(mvsiz),vy3(mvsiz),vy4
64 . vz1(mvsiz),vz2(mvsiz
65 . vrx1(mvsiz),vrx2(mvsiz),vrx3
66 . vry1(mvsiz),vry2(mvsiz),vry3(mvsiz),vry4(mvsiz),
67 . vrz1(mvsiz),vrz2(mvsiz),vrz3(mvsiz),vrz4(mvsiz),offg(*)
68
69
70
71 INTEGER I,ELCRK,,IADC2,IADC3,IADC4
73 . off_l
74
75
76
77 DO i=jft,jlt
78 elcrk = iel_crk(i+nft)
79 iadc1 = iadc_crk(1,elcrk)
80 iadc2 = iadc_crk(2,elcrk)
81 iadc3 = iadc_crk(3,elcrk)
82 iadc4 = iadc_crk(4,elcrk)
83
84
85
86
87 x1(i) =
crkavx(ilev)%X(1,iadc1)
88 y1(i) =
crkavx(ilev)%X(2,iadc1)
89 z1(i) =
crkavx(ilev)%X(3,iadc1)
90
91 x2(i) =
crkavx(ilev)%X(1,iadc2)
92 y2(i) =
crkavx(ilev)%X(2,iadc2)
93 z2(i) =
crkavx(ilev)%X(3,iadc2)
94
95 x3(i) =
crkavx(ilev)%X(1,iadc3)
96 y3(i) =
crkavx(ilev)%X(2,iadc3)
97 z3(i) =
crkavx(ilev)%X(3,iadc3)
98
99 x4(i) =
crkavx(ilev)%X(1,iadc4)
100 y4(i) =
crkavx(ilev)%X(2,iadc4)
101 z4(i) =
crkavx(ilev)%X(3,iadc4)
102
103
104
105
106 vl1(i,1) =
crkavx(ilev)%V(1,iadc1)
107 vl1(i,2) =
crkavx(ilev)%V(2,iadc1)
108 vl1(i,3) =
crkavx(ilev)%V(3,iadc1)
109 vrl1(i,1) =
crkavx(ilev)%VR(1,iadc1)
110 vrl1(i,2) =
crkavx(ilev)%VR(2,iadc1)
111 vrl1(i,3) =
crkavx(ilev)%VR(3,iadc1)
112
113 vl2(i,1) =
crkavx(ilev)%V(1,iadc2)
114 vl2(i,2) =
crkavx(ilev)%V(2,iadc2)
115 vl2(i,3) =
crkavx(ilev)%V(3,iadc2)
116 vrl2(i,1) =
crkavx(ilev)%VR(1,iadc2)
117 vrl2(i,2) =
crkavx(ilev)%VR(2,iadc2)
118 vrl2(i,3) =
crkavx(ilev)%VR(3,iadc2)
119
120 vl3(i,1) =
crkavx(ilev)%V(1,iadc3)
121 vl3(i,2) =
crkavx(ilev)%V(2,iadc3)
122 vl3(i,3) =
crkavx(ilev)%V(3,iadc3)
123 vrl3(i,1) =
crkavx(ilev)%VR(1,iadc3)
124 vrl3(i,2) =
crkavx(ilev)%VR(2,iadc3)
125 vrl3(i,3) =
crkavx(ilev)%VR(3,iadc3)
126
127 vl4(i,1) =
crkavx(ilev)%V(1,iadc4)
128 vl4(i,2) =
crkavx(ilev)%V(2,iadc4)
129 vl4(i,3) =
crkavx(ilev)%V(3,iadc4)
130 vrl4(i,1) =
crkavx(ilev)%VR(1,iadc4)
131 vrl4(i,2) =
crkavx(ilev)%VR(2,iadc4)
132 vrl4(i,3) =
crkavx(ilev)%VR(3,iadc4)
133 END DO
134
135 off_l = zero
136 DO i=jft,jlt
137 off_l =
min(off_l,offg(i))
138 ENDDO
139
140 IF (off_l < zero) THEN
141 DO i=jft,jlt
142 IF (offg(i) < zero) THEN
143 vl1(i,1)=zero
144 vl1(i,2)=zero
145 vl1(i,3)=zero
146 vl2(i,1)=zero
147 vl2(i,2)=zero
148 vl2(i,3)=zero
149 vl3(i,1)=zero
150 vl3(i,2)=zero
151 vl3(i,3)=zero
152 vl4(i,1)=zero
153 vl4(i,2)=zero
154 vl4(i,3)=zero
155 vrl1(i,1)=zero
156 vrl1(i,2)=zero
157 vrl1(i,3)=zero
158 vrl2(i,1)=zero
159 vrl2(i,2)=zero
160 vrl2(i,3)=zero
161 vrl3(i,1)=zero
162 vrl3(i,2)=zero
163 vrl3(i,3)=zero
164 vrl4(i,1)=zero
165 vrl4(i,2)=zero
166 vrl4(i,3)=zero
167 ENDIF
168 ENDDO
169 ENDIF
170
171
172 DO i=jft,jlt
173 vx1(i)=vl1(i,1)
174 vy1(i)=vl1(i,2)
175 vz1(i)=vl1(i,3)
176 vx2(i)=vl2(i,1)
177 vy2(i)=vl2(i,2)
178 vz2(i)=vl2(i,3)
179 vx3(i)=vl3(i,1)
180 vy3(i)=vl3(i,2)
181 vz3(i)=vl3(i,3)
182 vx4(i)=vl4(i,1)
183 vy4(i)=vl4(i,2)
184 vz4(i)=vl4(i,3)
185
186 vrx1(i)=vrl1(i,1)
187 vry1(i)=vrl1(i,2)
188 vrz1(i)=vrl1(i,3)
189 vrx2(i)=vrl2(i,1)
190 vry2(i)=vrl2(i,2)
191 vrz2(i)=vrl2(i,3)
192 vrx3(i)=vrl3(i,1)
193 vry3(i)=vrl3(i,2)
194 vrz3(i)=vrl3(i,3)
195 vrx4(i)=vrl4(i,1)
196 vry4(i)=vrl4(i,2)
197 vrz4(i)=vrl4(i,3)
198 END DO
199
200 RETURN
type(xfem_avx_), dimension(:), allocatable crkavx