29 1 X ,NSV ,MSR ,NSN ,NMN ,
30 2 ITASK ,XSAV ,NIN ,STFN ,V ,
31 3 XSLV_G ,XMSR_G ,VSLV_G ,VMSR_G )
35#include "implicit_f.inc"
46 INTEGER NSN,NMN,ITASK,NIN,NSV(*),MSR(*)
48 . X(3,*), V(3,*), XSAV(3,*), STFN(*),
49 . xslv_g(*),xmsr_g(*), vslv_g(*), vmsr_g(*)
53 INTEGER NSNF,NMNF,NSNL,NMNL,I, J, K, II, N,IAD,NES,JG,
56 . xslv(18),xmsr(12), vslv(6), vmsr(6)
90 nsnf = 1 + itask*nsn / nthread
91 nsnl = (itask+1)*nsn / nthread
92 nmnf = 1 + itask*nmn / nthread
93 nmnl = (itask+1)*nmn / nthread
96 IF(nsn+nmn < numnod)
THEN
98#include "vectorize.inc"
101 IF(stfn(i)/=zero .AND. j<=numnod)
THEN
103 xslv(1) =
max(xslv(1),x(1,j)-xsav(1,i))
104 xslv(2) =
max(xslv(2),x(2,j)-xsav(2,i))
105 xslv(3) =
max(xslv(3),x(3,j)-xsav(3,i))
106 xslv(4) =
min(xslv(4),x(1,j)-xsav(1,i))
107 xslv(5) =
min(xslv(5),x(2,j)-xsav(2,i))
108 xslv(6) =
min(xslv(6),x(3,j)-xsav(3,i))
110 vslv(1)=
max(vslv(1),v(1,j))
111 vslv(2)=
max(vslv(2),v(2,j))
112 vslv(3)=
max(vslv(3),v(3,j))
113 vslv(4)=
min(vslv(4),v(1,j))
114 vslv(5)=
min(vslv(5),v(2,j))
115 vslv(6)=
min(vslv(6),v(3,j))
118#include "vectorize.inc"
124 xmsr(1) =
max(xmsr(1),x(1,j)-xsav(1,ii))
125 xmsr(2) =
max(xmsr(2),x(2,j)-xsav(2,ii))
126 xmsr(3) =
max(xmsr(3),x(3,j)-xsav(3,ii))
127 xmsr(4) =
min(xmsr(4),x(1,j)-xsav(1,ii))
128 xmsr(5) =
min(xmsr(5),x(2,j)-xsav(2,ii))
129 xmsr(6) =
min(xmsr(6),x(3,j)-xsav(3,ii))
131 vmsr(1)=
max(vmsr(1),v(1,j))
132 vmsr(2)=
max(vmsr(2),v(2,j))
133 vmsr(3)=
max(vmsr(3),v(3,j))
134 vmsr(4)=
min(vmsr(4),v(1,j))
135 vmsr(5)=
min(vmsr(5),v(2,j))
136 vmsr(6)=
min(vmsr(6),v(3,j))
141#include "vectorize.inc"
144 IF(stfn(i)/=zero .AND. j<=numnod)
THEN
146 xslv(1)=
max(xslv(1),x(1,j)-xsav(1,j))
147 xslv(2)=
max(xslv(2),x(2,j)-xsav(2,j))
148 xslv(3)=
max(xslv(3),x(3,j)-xsav(3,j))
149 xslv(4)=
min(xslv(4),x(1,j)-xsav(1,j))
150 xslv(5)=
min(xslv(5),x(2,j)-xsav(2,j))
151 xslv(6)=
min(xslv(6),x(3,j)-xsav(3,j))
153 vslv(1)=
max(vslv(1),v(1,j))
154 vslv(2)=
max(vslv(2),v(2,j))
156 vslv(4)=
min(vslv(4),v(1,j))
157 vslv(5)=
min(vslv(5),v(2,j))
158 vslv(6)=
min(vslv(6),v(3,j))
163#include "vectorize.inc"
168 xmsr(1)=
max(xmsr(1),x(1,j)-xsav(1,j))
169 xmsr(2)=
max(xmsr(2),x(2,j)-xsav(2,j))
170 xmsr(3)=
max(xmsr(3),x(3,j)-xsav(3,j))
171 xmsr(4)=
min(xmsr(4),x(1,j)-xsav(1,j))
172 xmsr(5)=
min(xmsr(5),x(2,j)-xsav(2,j))
173 xmsr(6)=
min(xmsr(6),x(3,j)-xsav(3,j))
175 vmsr(1)=
max(vmsr(1),v(1,j))
176 vmsr(2)=
max(vmsr(2),v(2,j))
177 vmsr(3)=
max(vmsr(3),v(3,j))
178 vmsr(4)=
min(vmsr(4),v(1,j))
179 vmsr(5)=
min(vmsr(5),v(2,j))
180 vmsr(6)=
min(vmsr(6),v(3,j))
189 stfn(i)=
max(stfn(i),zero)
195 xslv_g(1)=
max(xslv_g(1),xslv(1))
196 xslv_g(2)=
max(xslv_g(2),xslv(2))
197 xslv_g(3)=
max(xslv_g(3),xslv(3))
198 xslv_g(4)=
min(xslv_g(4),xslv(4))
199 xslv_g(5)=
min(xslv_g(5),xslv(5))
200 xslv_g(6)=
min(xslv_g(6),xslv(6))
202 xmsr_g(1)=
max(xmsr_g(1),xmsr(1))
203 xmsr_g(2)=
max(xmsr_g(2),xmsr(2))
204 xmsr_g(3)=
max(xmsr_g(3),xmsr(3))
205 xmsr_g(4)=
min(xmsr_g(4),xmsr(4))
206 xmsr_g(5)=
min(xmsr_g(5),xmsr(5))
207 xmsr_g(6)=
min(xmsr_g(6),xmsr(6))
209 vslv_g(1)=
max(vslv_g(1),vslv(1))
210 vslv_g(2)=
max(vslv_g(2),vslv(2))
211 vslv_g(3)=
max(vslv_g(3),vslv(3))
212 vslv_g(4)=
min(vslv_g(4),vslv(4))
213 vslv_g(5)=
min(vslv_g(5),vslv(5))
214 vslv_g(6)=
min(vslv_g(6),vslv(6))
215 vmsr_g(1)=
max(vmsr_g(1),vmsr(1))
216 vmsr_g(2)=
max(vmsr_g(2),vmsr(2))
217 vmsr_g(3)=
max(vmsr_g(3),vmsr(3))
218 vmsr_g(4)=
min(vmsr_g(4),vmsr(4))
219 vmsr_g(5)=
min(vmsr_g(5),vmsr(5))
220 vmsr_g(6)=
min(vmsr_g(6),vmsr(6))
222#include "lockoff.inc"