17 REAL(KIND=8),
DIMENSION(:),
INTENT(IN) :: ff, gg
18 REAL(KIND=8),
INTENT(OUT) :: t
20 INTEGER :: m, l ,i ,ni
22 TYPE(mesh_type),
TARGET :: mesh
23 INTEGER,
DIMENSION(:,:),
POINTER :: jj
24 INTEGER,
POINTER :: me
25 REAL(KIND=8) ,
DIMENSION(:,:),
POINTER :: rr
39 DO ni = 1,
n_w; i = jj(ni,m)
40 ray = ray + rr(1,i)*
ww(ni,l)
43 t = t + sum(ff(jj(:,m)) *
ww(:,l))*sum(gg(jj(:,m)) *
ww(:,l))*
rj(l,m)*ray
51 SUBROUTINE ns_0 (mesh, ff, t)
60 REAL(KIND=8),
DIMENSION(:),
INTENT(IN) :: ff
61 REAL(KIND=8),
INTENT(OUT) :: t
63 INTEGER :: m, l ,i ,ni
65 TYPE(mesh_type),
TARGET :: mesh
66 INTEGER,
DIMENSION(:,:),
POINTER :: jj
67 INTEGER,
POINTER :: me
68 REAL(KIND=8) ,
DIMENSION(:,:),
POINTER :: rr
82 DO ni = 1,
n_w; i = jj(ni,m)
83 ray = ray + rr(1,i)*
ww(ni,l)
86 t = t + sum(ff(jj(:,m)) *
ww(:,l))**2 *
rj(l,m)*ray
95 SUBROUTINE ns_l1 (mesh, ff, t)
104 REAL(KIND=8),
DIMENSION(:),
INTENT(IN) :: ff
105 REAL(KIND=8),
INTENT(OUT) :: t
107 INTEGER :: m, l ,i ,ni
109 TYPE(mesh_type),
TARGET :: mesh
110 INTEGER,
DIMENSION(:,:),
POINTER :: jj
111 INTEGER,
POINTER :: me
112 REAL(KIND=8) ,
DIMENSION(:,:),
POINTER :: rr
126 DO ni = 1,
n_w; i = jj(ni,m)
127 ray = ray + rr(1,i)*
ww(ni,l)
130 t = t + sum(ff(jj(:,m)) *
ww(:,l))*
rj(l,m)*ray
137 SUBROUTINE average (mesh, ff, t)
146 REAL(KIND=8),
DIMENSION(:),
INTENT(IN) :: ff
147 REAL(KIND=8),
INTENT(OUT) :: t
149 INTEGER :: m, l ,i ,ni
151 TYPE(mesh_type),
TARGET :: mesh
152 INTEGER,
DIMENSION(:,:),
POINTER :: jj
153 INTEGER,
POINTER :: me
154 REAL(KIND=8) ,
DIMENSION(:,:),
POINTER :: rr
155 REAL(KIND=8) :: ray, vol
164 IF (
SIZE(ff)==mesh%np)
THEN 170 DO ni = 1,
n_w; i = jj(ni,m)
171 ray = ray + rr(1,i)*
ww(ni,l)
174 t = t + sum(ff(jj(:,m)) *
ww(:,l))*
rj(l,m)*ray
175 vol = vol +
rj(l,m)*ray
178 ELSE IF (
SIZE(ff)==mesh%me)
THEN 184 DO ni = 1,
n_w; i = jj(ni,m)
185 ray = ray + rr(1,i)*
ww(ni,l)
188 t = t + ff(m)*
rj(l,m)*ray
189 vol = vol +
rj(l,m)*ray
193 WRITE(*,*)
' BUG in average ' 200 SUBROUTINE ns_anal_0 (mesh, ff, ff_anal, t)
209 REAL(KIND=8),
DIMENSION(:),
INTENT(IN) :: ff
210 REAL(KIND=8),
DIMENSION(:),
INTENT(IN) :: ff_anal
211 REAL(KIND=8),
INTENT(OUT) :: t
213 INTEGER :: m, l ,i , ni, index
215 TYPE(mesh_type),
TARGET :: mesh
216 INTEGER,
DIMENSION(:,:),
POINTER :: jj
217 INTEGER,
POINTER :: me
218 REAL(KIND=8) ,
DIMENSION(:,:),
POINTER :: rr
219 REAL(KIND=8) :: ray, fl
229 DO l = 1,
l_g; index = index + 1
234 DO ni = 1,
n_w; i = jj(ni,m)
235 ray = ray + rr(1,i)*
ww(ni,l)
236 fl = fl + ff(i) *
ww(ni,l)
239 t = t + (fl - ff_anal(index))**2 * ray*
rj(l,m)
248 SUBROUTINE ns_1 (mesh, ff, t)
257 REAL(KIND=8),
DIMENSION(:),
INTENT(IN) :: ff
258 REAL(KIND=8),
INTENT(OUT) :: t
260 INTEGER :: m, l, k,i,ni
263 TYPE(mesh_type),
TARGET :: mesh
264 INTEGER,
DIMENSION(:,:),
POINTER :: jj
265 INTEGER,
POINTER :: me
266 REAL(KIND=8) ,
DIMENSION(:,:),
POINTER :: rr
283 DO ni = 1,
n_w; i = jj(ni,m)
284 ray = ray + rr(1,i)*
ww(ni,l)
287 s = s + sum(ff(jj(:,m)) *
dw(k,:,l,m))**2*ray
300 SUBROUTINE nv_1(mesh, mod_max, ff, t)
309 TYPE(mesh_type),
TARGET :: mesh
310 INTEGER,
INTENT(IN) :: mod_max
311 REAL(KIND=8),
DIMENSION(6,mesh%np,0:mod_max),
INTENT(IN) :: ff
312 REAL(KIND=8),
INTENT(OUT) :: t
314 INTEGER :: m, l,i,ni ,j
316 INTEGER,
DIMENSION(:,:),
POINTER :: jj
317 INTEGER,
POINTER :: me
318 REAL(KIND=8) ,
DIMENSION(:,:),
POINTER :: rr
320 REAL(KIND=8),
DIMENSION(2) :: div
335 DO ni = 1,
n_w; i = jj(ni,m)
336 ray = ray + rr(1,i)*
ww(ni,l)
339 div(1) = (sum(ff(1,jj(:,m),j) *
dw(1,:,l,m)) + &
340 sum(ff(1,jj(:,m),j) *
ww(:,l))/ray + &
341 j/ray * sum(ff(4,jj(:,m),j) *
ww(:,l)) + &
342 sum(ff(5,jj(:,m),j) *
dw(2,:,l,m)))* ray*
rj(l,m)
345 div(2) = (sum(ff(2,jj(:,m),j) *
dw(1,:,l,m)) + &
346 sum(ff(2,jj(:,m),j) *
ww(:,l))/ray - &
347 j/ray * sum(ff(3,jj(:,m),j) *
ww(:,l)) + &
348 sum(ff(6,jj(:,m),j) *
dw(2,:,l,m)))* ray*
rj(l,m)
351 t = t +(div(1)**2+div(2)**2)
363 SUBROUTINE nv_0_cn(mesh, ff, p, t)
371 TYPE(mesh_type),
TARGET :: mesh
372 REAL(KIND=8),
DIMENSION(mesh%np,6),
INTENT(IN) :: ff
373 REAL(KIND=8),
INTENT(OUT) :: t, p
375 INTEGER :: m, l, i, ni
376 REAL(KIND=8) :: s, rp, rt
378 INTEGER,
DIMENSION(:,:),
POINTER :: jj
379 INTEGER,
POINTER :: me
380 REAL(KIND=8) ,
DIMENSION(:,:),
POINTER :: rr
395 DO ni = 1,
n_w; i = jj(ni,m)
396 ray = ray + rr(1,i)*
ww(ni,l)
399 rp = rp + sqrt(sum(ff(jj(:,m),1)*
ww(:,l))**2 + sum(ff(jj(:,m),5)*
ww(:,l))**2)*ray*
rj(l,m)
400 rt = rt + abs(sum(ff(jj(:,m),3)*
ww(:,l)))*ray*
rj(l,m)
subroutine average(mesh, ff, t)
subroutine ns_anal_0(mesh, ff, ff_anal, t)
subroutine ns_l1(mesh, ff, t)
real(kind=8), dimension(:,:), pointer rj
subroutine nv_1(mesh, mod_max, ff, t)
subroutine ns_1(mesh, ff, t)
subroutine dot_product(mesh, ff, gg, t)
subroutine ns_0(mesh, ff, t)
real(kind=8), dimension(:,:,:,:), pointer dw
subroutine nv_0_cn(mesh, ff, p, t)
real(kind=8), dimension(:,:), pointer ww