13 INTEGER,
DIMENSION(:,:),
INTENT(IN) :: jj
14 REAL(KIND=8),
DIMENSION(:,:),
INTENT(IN) :: rr
15 REAL(KIND=8),
DIMENSION(:),
INTENT(INOUT) :: uu
17 INTEGER :: m, n1, n2, n3
19 OPEN(unit = 20, file =
'vit_u',
form =
'formatted', status =
'unknown')
21 WRITE (20, *)
'$ DATA = CONTCURVE' 22 WRITE (20, *)
'% contstyle = 2' 23 WRITE (20,*)
'% meshplot = False' 37 WRITE (20, *) rr(1,n1), rr(2,n1), uu(n1), n1
38 WRITE (20, *) rr(1,n2), rr(2,n2), uu(n2), n2
39 WRITE (20, *) rr(1,n3), rr(2,n3), uu(n3), n3
46 WRITE (20, *) rr(1,n1), rr(2,n1), uu(n1), n1
47 WRITE (20, *) rr(1,n2), rr(2,n2), uu(n2), n2
48 WRITE (20, *) rr(1,n3), rr(2,n3), uu(n3), n3
54 WRITE (20, *) rr(1,n1), rr(2,n1), uu(n1), n1
55 WRITE (20, *) rr(1,n2), rr(2,n2), uu(n2), n2
56 WRITE (20, *) rr(1,n3), rr(2,n3), uu(n3), n3
62 WRITE (20, *) rr(1,n1), rr(2,n1), uu(n1), n1
63 WRITE (20, *) rr(1,n2), rr(2,n2), uu(n2), n2
64 WRITE (20, *) rr(1,n3), rr(2,n3), uu(n3), n3
77 INTEGER,
DIMENSION(:,:),
INTENT(IN) :: jj
78 REAL(KIND=8),
DIMENSION(:,:),
INTENT(IN) :: rr, vv
81 REAL(KIND=8) :: z_d, w_d
83 OPEN(unit = 20,file =
'velocity',
form =
'formatted',status =
'unknown')
85 WRITE (20, 9000)
SIZE(rr,2),
SIZE(jj,1),
SIZE(jj,2)
87 WRITE (20, *)
'$ DATA = VECTOR' 88 WRITE (20, *)
'% axisscale = FALSE' 89 WRITE (20, *)
'% vscale = 1.' 94 SELECT CASE(
SIZE(rr,1))
100 WRITE (20,*) rr(1,n), rr(2,n), z_d, vv(1,n), vv(2,n), w_d
104 DO n = 1,
SIZE(rr, 2)
105 WRITE (20,*) rr(:,n), vv(:,n)
121 INTEGER,
DIMENSION(:,:),
INTENT(IN) :: jj
122 REAL(KIND=8),
DIMENSION(:,:),
INTENT(IN) :: rr
123 REAL(KIND=8),
DIMENSION(:),
INTENT(INOUT) :: uu
125 INTEGER :: na, nb, n, m, n1, n2, n3
126 REAL(KIND=8) :: xa, xb, xm, r, p_midpoint
128 OPEN (unit = 20, file =
'pressure_2D.plt',
form =
'formatted', status =
'unknown')
135 xa = 0; xb = 1; xm = 0.5
139 IF (rr(2,n) < 1.0d-4)
THEN 142 IF (r < xm .AND. r > xa) then; xa = r; na = n
144 IF (r > xm .AND. r < xb) then; xb = r; nb = n
151 p_midpoint = uu(na) + (uu(nb) - uu(na)) * (xm-xa)/(xb-xa)
157 WRITE (20, *)
'$ DATA = CONTCURVE' 158 WRITE (20, *)
'% contstyle = 1' 159 WRITE (20, *)
'% contours = "( -.12 -.06 -.03 )"' 160 WRITE (20, *)
'% contours = "( -.015 -.0075 -.00375 )"' 161 WRITE (20, *)
'% contours = "( 0.0 )"' 162 WRITE (20, *)
'% contours = "( .12 .06 .03 )"' 163 WRITE (20, *)
'% contours = "( .015 .0075 .00375 )"' 165 WRITE (20,*)
'% meshplot = False' 167 DO m = 1,
SIZE(jj, 2)
171 WRITE (20, *) rr(1,n1), rr(2,n1), uu(n1), n1
172 WRITE (20, *) rr(1,n2), rr(2,n2), uu(n2), n2
173 WRITE (20, *) rr(1,n3), rr(2,n3), uu(n3), n3
190 INTEGER,
DIMENSION(:,:),
INTENT(IN) :: jj
191 REAL(KIND=8),
DIMENSION(:,:),
INTENT(IN) :: rr, vo, vv
193 REAL(KIND=8),
DIMENSION(SIZE(vv,2)) :: uu
194 REAL(KIND=8) :: vo_n_mod
195 INTEGER :: n, m, n1, n2, n3
197 OPEN (unit=20, file =
'speed_var',
form =
'formatted',status =
'unknown')
202 vo_n_mod = sqrt(sum(vo(:,n)**2))
204 IF (vo_n_mod < 1.0d-15)
THEN 210 uu(n) = sqrt(sum( (vo(:,n) - vv(:,n))**2 ))/vo_n_mod
217 WRITE (20, *)
'$ DATA = CONTCURVE' 218 WRITE (20, *)
'% contstyle = 2' 219 WRITE (20, *)
'% meshplot = True' 221 DO m = 1,
SIZE(jj, 2)
225 WRITE (20, *) rr(1,n1), rr(2,n1), uu(n1), n1
226 WRITE (20, *) rr(1,n2), rr(2,n2), uu(n2), n2
227 WRITE (20, *) rr(1,n3), rr(2,n3), uu(n3), n3
240 INTEGER,
DIMENSION(:,:),
INTENT(IN) :: jj
241 REAL(KIND=8),
DIMENSION(:,:),
INTENT(IN) :: rr
242 REAL(KIND=8),
DIMENSION(:),
INTENT(INOUT) :: uu
243 INTEGER :: m, n1, n2, n3
245 OPEN (unit=20, file=
'pressure',
form=
'formatted', status=
'unknown')
247 WRITE (20, *)
'$ DATA = CONTCURVE' 248 WRITE (20, *)
'% contstyle = 2' 249 WRITE (20, *)
'% cstep = 20' 250 WRITE (20, *)
'% meshplot = False' 252 DO m = 1,
SIZE(jj, 2)
256 WRITE (20, *) rr(1,n1), rr(2,n1), uu(n1), n1
257 WRITE (20, *) rr(1,n2), rr(2,n2), uu(n2), n2
258 WRITE (20, *) rr(1,n3), rr(2,n3), uu(n3), n3
269 CHARACTER(*) :: file_name
270 INTEGER,
DIMENSION(:,:),
INTENT(IN) :: jj
271 REAL(KIND=8),
DIMENSION(:,:),
INTENT(IN) :: rr
272 REAL(KIND=8),
DIMENSION(:),
INTENT(IN) :: uu
273 INTEGER :: m, n1, n2, n3
275 OPEN (unit=20, file=file_name,
form=
'formatted', status=
'unknown')
277 WRITE (20, *)
'$ DATA = CONTCURVE' 278 WRITE (20, *)
'% contstyle = 2' 279 WRITE (20, *)
'% nsteps = 50' 280 WRITE (20, *)
'% meshplot = true' 283 DO m = 1,
SIZE(jj, 2)
287 WRITE (20, 100) rr(1,n1), rr(2,n1), uu(m), n1
288 WRITE (20, 100) rr(1,n2), rr(2,n2), uu(m), n2
289 WRITE (20, 100) rr(1,n3), rr(2,n3), uu(m), n3
292 100
FORMAT(3(e12.5,3x),i5)
302 CHARACTER(*) :: file_name
303 INTEGER,
DIMENSION(:,:),
INTENT(IN) :: jj
304 REAL(KIND=8),
DIMENSION(:,:),
INTENT(IN) :: rr
305 REAL(KIND=8),
DIMENSION(:),
INTENT(INOUT) :: uu
306 INTEGER :: m, n1, n2, n3
308 OPEN (unit=20, file=file_name,
form=
'formatted', status=
'unknown')
310 WRITE (20, *)
'$ DATA = CONTCURVE' 311 WRITE (20, *)
'% contstyle = 2' 312 WRITE (20, *)
'% nsteps = 50' 313 WRITE (20, *)
'% meshplot = false' 316 DO m = 1,
SIZE(jj, 2)
321 WRITE (20, 100) rr(1,n1), rr(2,n1), uu(n1), n1
322 WRITE (20, 100) rr(1,n2), rr(2,n2), uu(n2), n2
323 WRITE (20, 100) rr(1,n3), rr(2,n3), uu(n3), n3
326 100
FORMAT(3(e12.5,3x),i5)
336 CHARACTER(*) :: file_name
337 INTEGER,
DIMENSION(:,:),
INTENT(IN) :: jj, jjs
338 INTEGER,
DIMENSION(:),
INTENT(IN) :: sides, list
339 REAL(KIND=8),
DIMENSION(:,:),
INTENT(IN) :: rr
340 REAL(KIND=8),
DIMENSION(:),
INTENT(INOUT) :: uu
342 INTEGER :: m, n1, n2, n3, ms
344 OPEN (unit=20, file=file_name,
form=
'formatted', status=
'unknown')
346 WRITE (20, *)
'$ DATA = CONTCURVE' 347 WRITE (20, *)
'% contstyle = 2' 348 WRITE (20, *)
'% nsteps = 50' 349 WRITE (20, *)
'% meshplot = f' 352 DO ms = 1,
SIZE(sides)
353 IF(minval(abs(list-sides(ms))) /= 0 ) cycle
356 WRITE(20,110)
'@line x1=',rr(1,n1),
'y1=',rr(2,n1),
'z1=',0., &
357 'x2=',rr(1,n2),
'y2=',rr(2,n2),
'z2=',0.
359 110
FORMAT(6(a,x,e12.5,3x))
362 DO m = 1,
SIZE(jj, 2)
366 WRITE (20, 100) rr(1,n1), rr(2,n1), uu(n1), n1
367 WRITE (20, 100) rr(1,n2), rr(2,n2), uu(n2), n2
368 WRITE (20, 100) rr(1,n3), rr(2,n3), uu(n3), n3
371 100
FORMAT(3(e12.5,3x),i5)
381 CHARACTER(*) :: file_name
382 INTEGER,
DIMENSION(:,:),
INTENT(IN) :: jj, neigh
383 INTEGER,
DIMENSION(:),
INTENT(IN) :: i_d
384 REAL(KIND=8),
DIMENSION(:,:),
INTENT(IN) :: rr
385 REAL(KIND=8),
DIMENSION(:),
INTENT(INOUT) :: uu
387 INTEGER :: n, m, n1, n2, n3, nghm
389 OPEN (unit=20, file=file_name,
form=
'formatted', status=
'unknown')
391 WRITE (20, *)
'$ DATA = CONTCURVE' 392 WRITE (20, *)
'% contstyle = 2' 393 WRITE (20, *)
'% nsteps = 50' 394 WRITE (20, *)
'% meshplot = f' 397 DO m = 1,
SIZE(neigh,2)
403 ELSE IF (i_d(nghm) /= i_d(m))
THEN 409 n1 = jj(modulo(n,3) + 1,m)
410 n2 = jj(modulo(n+1,3) + 1,m)
411 WRITE(20,110)
'@line x1=',rr(1,n1),
'y1=',rr(2,n1),
'z1=',0., &
412 'x2=',rr(1,n2),
'y2=',rr(2,n2),
'z2=',0.
415 110
FORMAT(6(a,x,e12.5,3x))
418 DO m = 1,
SIZE(jj, 2)
422 WRITE (20, 100) rr(1,n1), rr(2,n1), uu(n1), n1
423 WRITE (20, 100) rr(1,n2), rr(2,n2), uu(n2), n2
424 WRITE (20, 100) rr(1,n3), rr(2,n3), uu(n3), n3
427 100
FORMAT(3(e12.5,3x),i5)
437 CHARACTER(*) :: file_name
438 INTEGER,
DIMENSION(:,:),
INTENT(IN) :: jj
439 REAL(KIND=8),
DIMENSION(:,:),
INTENT(IN) :: rr
440 REAL(KIND=8),
DIMENSION(:),
INTENT(INOUT) :: uu
442 INTEGER :: m, n1, n2, n3
444 OPEN (unit=20, file=file_name,
form=
'formatted', status=
'unknown')
446 WRITE (20, *)
'$ DATA = CONTCURVE' 447 WRITE (20, *)
'% contstyle = 2' 448 WRITE (20, *)
'% nsteps = 50' 449 WRITE (20, *)
'% meshplot = False' 452 DO m = 1,
SIZE(jj, 2)
456 WRITE (20, 100) rr(1,n1), rr(2,n1), uu(n1), n1
457 WRITE (20, 100) rr(1,n2), rr(2,n2), uu(n2), n2
458 WRITE (20, 100) rr(1,n3), rr(2,n3), uu(n3), n3
461 100
FORMAT(3(e12.5,3x),i5)
472 CHARACTER(*) :: file_name
473 INTEGER,
DIMENSION(:,:),
INTENT(IN) :: jj
474 REAL(KIND=8),
DIMENSION(:,:),
INTENT(IN) :: rr, vv
477 REAL(KIND=8) :: z_d, w_d
479 OPEN (unit=20, file=file_name,
form=
'formatted', status=
'unknown')
481 WRITE (20, 9000)
SIZE(rr,2),
SIZE(jj,1),
SIZE(jj,2)
482 9000
FORMAT(
'#',3i10)
483 WRITE (20, *)
'$ DATA = VECTOR' 484 WRITE (20, *)
'% axisscale = FALSE' 485 WRITE (20, *)
'% vscale = 1.' 490 SELECT CASE(
SIZE(rr,1))
495 IF (
SIZE(vv,1)/=2)
THEN 496 DO n = 1,
SIZE(rr, 2)
497 WRITE (20,100) rr(1,n), rr(2,n), z_d, vv(n,1), vv(n,2), w_d
500 DO n = 1,
SIZE(rr, 2)
501 WRITE (20,100) rr(1,n), rr(2,n), z_d, vv(1,n), vv(2,n), w_d
505 IF (
SIZE(vv,1)/=3)
THEN 506 DO n = 1,
SIZE(rr, 2)
507 WRITE (20,100) rr(:,n), vv(:,n)
510 DO n = 1,
SIZE(rr, 2)
511 WRITE (20,100) rr(:,n), vv(:,n)
517 100
FORMAT(6(e12.5,3x))
526 INTEGER,
DIMENSION(:,:),
INTENT(IN) :: jj
527 REAL(KIND=8),
DIMENSION(:,:),
INTENT(IN) :: rr
528 REAL(KIND=8),
DIMENSION(:),
INTENT(INOUT) :: uu
529 CHARACTER(*) :: file_name
531 INTEGER :: m, n1, n2, n3
533 OPEN (unit=20, file=file_name,
form=
'formatted', status=
'unknown')
535 WRITE (20, *)
'$ DATA = CONTCURVE' 536 WRITE (20, *)
'% contstyle = 2' 537 WRITE (20, *)
'% nsteps = 50' 538 WRITE (20,*)
'% meshplot = false' 540 DO m = 1,
SIZE(jj, 2)
545 WRITE (20, 100) rr(1,n1), rr(2,n1), uu(n1), n1
546 WRITE (20, 100) rr(1,n2), rr(2,n2), uu(n2), n2
547 WRITE (20, 100) rr(1,n3), rr(2,n3), uu(n3), n3
554 WRITE (20, 100) rr(1,n1), rr(2,n1), uu(n1), n1
555 WRITE (20, 100) rr(1,n2), rr(2,n2), uu(n2), n2
556 WRITE (20, 100) rr(1,n3), rr(2,n3), uu(n3), n3
562 WRITE (20, 100) rr(1,n1), rr(2,n1), uu(n1), n1
563 WRITE (20, 100) rr(1,n2), rr(2,n2), uu(n2), n2
564 WRITE (20, 100) rr(1,n3), rr(2,n3), uu(n3), n3
570 WRITE (20, 100) rr(1,n1), rr(2,n1), uu(n1), n1
571 WRITE (20, 100) rr(1,n2), rr(2,n2), uu(n2), n2
572 WRITE (20, 100) rr(1,n3), rr(2,n3), uu(n3), n3
575 100
FORMAT(3(e12.5,3x),i5)
588 CHARACTER(LEN=*),
INTENT(IN) :: vit
589 REAL(KIND=8),
DIMENSION(:,:),
INTENT(IN) :: u8
590 CHARACTER(LEN=80) :: sketuve
593 OPEN(unit=33,file=vit,status=
'unknown',
form=
'UNFORMATTED')
598 WRITE(33) ((
REAL(u8(i,j),KIND=4),i=1,size(u8,1)),j=1,
SIZE(u8,2))
611 CHARACTER(LEN=*),
INTENT(IN) :: pres
612 REAL(KIND=8),
DIMENSION(:),
INTENT(IN) :: p8
613 CHARACTER(LEN=80) :: sketuve
616 OPEN(unit=44,file=pres,status=
'unknown',
form=
'UNFORMATTED')
621 WRITE(44) (
REAL(p8(i),KIND =4),i=1,size(p8))
631 INTEGER,
DIMENSION(:,:),
INTENT(IN) :: jj
632 REAL(KIND=8),
DIMENSION(:,:),
INTENT(IN) :: rr
633 REAL(KIND=8),
DIMENSION(:),
INTENT(IN) :: zz
634 INTEGER,
INTENT(IN) :: i
636 INTEGER :: m, n1, n2, n3
640 WRITE (i, *)
'$ DATA = CONTCURVE' 641 WRITE (i, *)
'% contstyle = 1' 642 WRITE (i, *)
'% nsteps = 40' 648 WRITE (i, *)
'% meshplot = False' 650 DO m = 1,
SIZE(jj, 2)
654 WRITE (i, *) rr(1,n1), rr(2,n1), zz(n1), n1
655 WRITE (i, *) rr(1,n2), rr(2,n2), zz(n2), n2
656 WRITE (i, *) rr(1,n3), rr(2,n3), zz(n3), n3
668 INTEGER,
DIMENSION(:,:),
INTENT(IN) :: jj
669 REAL(KIND=8),
DIMENSION(:,:),
INTENT(IN) :: rr
670 REAL(KIND=8),
DIMENSION(:),
INTENT(IN) :: pp
671 INTEGER,
INTENT(IN) :: i
673 INTEGER :: m, n1, n2, n3
677 WRITE (i, *)
'$ DATA = CONTCURVE' 678 WRITE (i, *)
'% contstyle = 1' 679 WRITE (i, *)
'% nsteps = 30' 687 WRITE (i, *)
'% meshplot = False' 689 DO m = 1,
SIZE(jj, 2)
693 WRITE (i, *) rr(1,n1), rr(2,n1), pp(n1), n1
694 WRITE (i, *) rr(1,n2), rr(2,n2), pp(n2), n2
695 WRITE (i, *) rr(1,n3), rr(2,n3), pp(n3), n3
708 INTEGER,
DIMENSION(:,:),
INTENT(IN) :: jj
709 REAL(KIND=8),
DIMENSION(:,:),
INTENT(IN) :: rr
710 REAL(KIND=8),
DIMENSION(:),
INTENT(IN) :: uu
711 CHARACTER(*) :: file_name
713 INTEGER :: m, n1, n2, n3, unit_w=47
715 100
FORMAT(3(e15.8,3x),i5)
716 OPEN (unit=unit_w, file=file_name,
form=
'formatted', status=
'unknown')
718 WRITE (unit_w,
'(A)')
'$ DATA = CONTCURVE' 719 WRITE (unit_w,
'(A)')
'% contstyle = 2' 720 WRITE (unit_w,
'(A)')
'% nsteps = 50' 721 WRITE (unit_w,
'(A)')
'% meshplot = false' 722 WRITE (unit_w,
'(A)')
724 IF (
SIZE(jj,1)==3)
THEN 725 DO m = 1,
SIZE(jj, 2)
729 WRITE (unit_w, 100) rr(1,n1), rr(2,n1), uu(n1), n1
730 WRITE (unit_w, 100) rr(1,n2), rr(2,n2), uu(n2), n2
731 WRITE (unit_w, 100) rr(1,n3), rr(2,n3), uu(n3), n3
734 ELSE IF (
SIZE(jj,1)==6)
THEN 735 DO m = 1,
SIZE(jj, 2)
739 WRITE (unit_w, 100) rr(1,n1), rr(2,n1), uu(n1), n1
740 WRITE (unit_w, 100) rr(1,n2), rr(2,n2), uu(n2), n2
741 WRITE (unit_w, 100) rr(1,n3), rr(2,n3), uu(n3), n3
747 WRITE (unit_w, 100) rr(1,n1), rr(2,n1), uu(n1), n1
748 WRITE (unit_w, 100) rr(1,n2), rr(2,n2), uu(n2), n2
749 WRITE (unit_w, 100) rr(1,n3), rr(2,n3), uu(n3), n3
755 WRITE (unit_w, 100) rr(1,n1), rr(2,n1), uu(n1), n1
756 WRITE (unit_w, 100) rr(1,n2), rr(2,n2), uu(n2), n2
757 WRITE (unit_w, 100) rr(1,n3), rr(2,n3), uu(n3), n3
763 WRITE (unit_w, 100) rr(1,n1), rr(2,n1), uu(n1), n1
764 WRITE (unit_w, 100) rr(1,n2), rr(2,n2), uu(n2), n2
765 WRITE (unit_w, 100) rr(1,n3), rr(2,n3), uu(n3), n3
769 ELSE IF (
SIZE(jj,1)==10)
THEN 771 DO m = 1,
SIZE(jj, 2)
775 WRITE (unit_w, 100) rr(1,n1), rr(2,n1), uu(n1), n1
776 WRITE (unit_w, 100) rr(1,n2), rr(2,n2), uu(n2), n2
777 WRITE (unit_w, 100) rr(1,n3), rr(2,n3), uu(n3), n3
783 WRITE (unit_w, 100) rr(1,n1), rr(2,n1), uu(n1), n1
784 WRITE (unit_w, 100) rr(1,n2), rr(2,n2), uu(n2), n2
785 WRITE (unit_w, 100) rr(1,n3), rr(2,n3), uu(n3), n3
791 WRITE (unit_w, 100) rr(1,n1), rr(2,n1), uu(n1), n1
792 WRITE (unit_w, 100) rr(1,n2), rr(2,n2), uu(n2), n2
793 WRITE (unit_w, 100) rr(1,n3), rr(2,n3), uu(n3), n3
799 WRITE (unit_w, 100) rr(1,n1), rr(2,n1), uu(n1), n1
800 WRITE (unit_w, 100) rr(1,n2), rr(2,n2), uu(n2), n2
801 WRITE (unit_w, 100) rr(1,n3), rr(2,n3), uu(n3), n3
807 WRITE (unit_w, 100) rr(1,n1), rr(2,n1), uu(n1), n1
808 WRITE (unit_w, 100) rr(1,n2), rr(2,n2), uu(n2), n2
809 WRITE (unit_w, 100) rr(1,n3), rr(2,n3), uu(n3), n3
815 WRITE (unit_w, 100) rr(1,n1), rr(2,n1), uu(n1), n1
816 WRITE (unit_w, 100) rr(1,n2), rr(2,n2), uu(n2), n2
817 WRITE (unit_w, 100) rr(1,n3), rr(2,n3), uu(n3), n3
823 WRITE (unit_w, 100) rr(1,n1), rr(2,n1), uu(n1), n1
824 WRITE (unit_w, 100) rr(1,n2), rr(2,n2), uu(n2), n2
825 WRITE (unit_w, 100) rr(1,n3), rr(2,n3), uu(n3), n3
831 WRITE (unit_w, 100) rr(1,n1), rr(2,n1), uu(n1), n1
832 WRITE (unit_w, 100) rr(1,n2), rr(2,n2), uu(n2), n2
833 WRITE (unit_w, 100) rr(1,n3), rr(2,n3), uu(n3), n3
839 WRITE (unit_w, 100) rr(1,n1), rr(2,n1), uu(n1), n1
840 WRITE (unit_w, 100) rr(1,n2), rr(2,n2), uu(n2), n2
841 WRITE (unit_w, 100) rr(1,n3), rr(2,n3), uu(n3), n3
845 WRITE(*,*)
' Problem in plot_scalar_field ',
SIZE(jj,1)
858 INTEGER,
DIMENSION(:,:),
INTENT(IN) :: jj, jj2
859 REAL(KIND=8),
DIMENSION(:,:),
INTENT(IN) :: rr, rr2
860 REAL(KIND=8),
DIMENSION(:) :: uu, uu2
861 CHARACTER(*) :: file_name
863 INTEGER :: m, n1, n2, n3
865 OPEN (unit=20, file=file_name,
form=
'formatted', status=
'unknown')
867 WRITE (20, *)
'$ DATA = CONTCURVE' 868 WRITE (20, *)
'% contstyle = 2' 869 WRITE (20, *)
'% nsteps = 50' 870 WRITE (20, *)
'% meshplot = false' 873 IF (
SIZE(jj,1)==3)
THEN 874 DO m = 1,
SIZE(jj, 2)
879 WRITE (20, 100) rr(1,n1), rr(2,n1), uu(n1), n1
880 WRITE (20, 100) rr(1,n2), rr(2,n2), uu(n2), n2
881 WRITE (20, 100) rr(1,n3), rr(2,n3), uu(n3), n3
884 DO m = 1,
SIZE(jj2, 2)
889 WRITE (20, 100) rr2(1,n1), rr2(2,n1), uu2(n1), n1
890 WRITE (20, 100) rr2(1,n2), rr2(2,n2), uu2(n2), n2
891 WRITE (20, 100) rr2(1,n3), rr2(2,n3), uu2(n3), n3
896 ELSE IF (
SIZE(jj,1)==6)
THEN 898 DO m = 1,
SIZE(jj, 2)
903 WRITE (20, 100) rr(1,n1), rr(2,n1), uu(n1), n1
904 WRITE (20, 100) rr(1,n2), rr(2,n2), uu(n2), n2
905 WRITE (20, 100) rr(1,n3), rr(2,n3), uu(n3), n3
912 WRITE (20, 100) rr(1,n1), rr(2,n1), uu(n1), n1
913 WRITE (20, 100) rr(1,n2), rr(2,n2), uu(n2), n2
914 WRITE (20, 100) rr(1,n3), rr(2,n3), uu(n3), n3
920 WRITE (20, 100) rr(1,n1), rr(2,n1), uu(n1), n1
921 WRITE (20, 100) rr(1,n2), rr(2,n2), uu(n2), n2
922 WRITE (20, 100) rr(1,n3), rr(2,n3), uu(n3), n3
928 WRITE (20, 100) rr(1,n1), rr(2,n1), uu(n1), n1
929 WRITE (20, 100) rr(1,n2), rr(2,n2), uu(n2), n2
930 WRITE (20, 100) rr(1,n3), rr(2,n3), uu(n3), n3
933 ELSE IF (
SIZE(jj,1)==10)
THEN 934 DO m = 1,
SIZE(jj2, 2)
939 WRITE (20, 100) rr2(1,n1), rr2(2,n1), uu2(n1), n1
940 WRITE (20, 100) rr2(1,n2), rr2(2,n2), uu2(n2), n2
941 WRITE (20, 100) rr2(1,n3), rr2(2,n3), uu2(n3), n3
948 WRITE (20, 100) rr2(1,n1), rr2(2,n1), uu2(n1), n1
949 WRITE (20, 100) rr2(1,n2), rr2(2,n2), uu2(n2), n2
950 WRITE (20, 100) rr2(1,n3), rr2(2,n3), uu2(n3), n3
956 WRITE (20, 100) rr2(1,n1), rr2(2,n1), uu2(n1), n1
957 WRITE (20, 100) rr2(1,n2), rr2(2,n2), uu2(n2), n2
958 WRITE (20, 100) rr2(1,n3), rr2(2,n3), uu2(n3), n3
964 WRITE (20, 100) rr2(1,n1), rr2(2,n1), uu2(n1), n1
965 WRITE (20, 100) rr2(1,n2), rr2(2,n2), uu2(n2), n2
966 WRITE (20, 100) rr2(1,n3), rr2(2,n3), uu2(n3), n3
970 WRITE(*,*)
' Problem in plot_two_scalar_field ',
SIZE(jj,1)
974 100
FORMAT(3(e12.5,3x),i5)
985 INTEGER,
DIMENSION(:,:),
INTENT(IN) :: jj
986 REAL(KIND=8),
DIMENSION(:,:),
INTENT(IN) :: rr
987 INTEGER,
DIMENSION(:),
INTENT(IN) :: id
988 INTEGER,
INTENT(IN) :: index_dom
989 CHARACTER(*) :: file_name
991 INTEGER :: m, n1, n2, n3
993 OPEN (unit=20, file=file_name,
form=
'formatted', status=
'unknown')
995 WRITE (20, *)
'$ DATA = CONTCURVE' 996 WRITE (20, *)
'% contstyle = 2' 997 WRITE (20, *)
'% nsteps = 50' 998 WRITE (20, *)
'% meshplot = true' 1001 IF (
SIZE(jj,1)==3)
THEN 1002 DO m = 1,
SIZE(jj, 2)
1003 IF (id(m)/=index_dom) cycle
1007 WRITE (20, 100) rr(1,n1), rr(2,n1), id(m), n1
1008 WRITE (20, 100) rr(1,n2), rr(2,n2), id(m), n2
1009 WRITE (20, 100) rr(1,n3), rr(2,n3), id(m), n3
1013 ELSE IF (
SIZE(jj,1)==6)
THEN 1015 DO m = 1,
SIZE(jj, 2)
1016 IF (id(m)/=index_dom) cycle
1020 WRITE (20, 100) rr(1,n1), rr(2,n1), id(m), n1
1021 WRITE (20, 100) rr(1,n2), rr(2,n2), id(m), n2
1022 WRITE (20, 100) rr(1,n3), rr(2,n3), id(m), n3
1028 WRITE (20, 100) rr(1,n1), rr(2,n1), id(m), n1
1029 WRITE (20, 100) rr(1,n2), rr(2,n2), id(m), n2
1030 WRITE (20, 100) rr(1,n3), rr(2,n3), id(m), n3
1036 WRITE (20, 100) rr(1,n1), rr(2,n1), id(m), n1
1037 WRITE (20, 100) rr(1,n2), rr(2,n2), id(m), n2
1038 WRITE (20, 100) rr(1,n3), rr(2,n3), id(m), n3
1044 WRITE (20, 100) rr(1,n1), rr(2,n1), id(m), n1
1045 WRITE (20, 100) rr(1,n2), rr(2,n2), id(m), n2
1046 WRITE (20, 100) rr(1,n3), rr(2,n3), id(m), n3
1051 WRITE(*,*)
' Problem in plot_scalar_field_domain ',
SIZE(jj,1)
1055 100
FORMAT(2(e12.5,3x),i5,3x,i5)
1061 SUBROUTINE vtk_p1_2d(mesh, champ, unit_file, file_name)
1068 REAL(KIND=8),
DIMENSION(:),
INTENT(IN) :: champ
1069 INTEGER,
INTENT(IN) :: unit_file
1070 CHARACTER(*),
INTENT(IN) :: file_name
1073 write(*,*)
'ecriture header' 1074 OPEN (unit=unit_file,file=file_name,
form =
'formatted',&
1077 write(unit_file,
'(A)')
'# vtk DataFile Version 3.0' 1078 write(unit_file,
'(A)')
'vtk '//file_name//
'' 1079 write(unit_file,
'(A)')
'ASCII' 1080 write(unit_file,
'(A)')
'DATASET UNSTRUCTURED_GRID' 1081 write(unit_file,
'(A,I7,A)')
'POINTS ', mesh%np,
' float' 1082 write(*,*)
'points ...' 1084 write(unit_file,
'(2(e14.7,2x),A)') mesh%rr(1,i), &
1085 mesh%rr(2,i),
' 0.0 ' 1087 write(*,*)
'cells ...' 1088 write(unit_file,
'(A,I7,I8)')
'CELLS ', mesh%me, mesh%me*4
1090 write(unit_file,
'(A,3(I8,1x))')
'3 ', mesh%jj(1,i)-1, &
1091 mesh%jj(2,i)-1, mesh%jj(3,i)-1
1093 write(unit_file,
'(A,I7)')
'CELL_TYPES ', mesh%me
1095 write(unit_file,
'(A)')
'5' 1098 write(*,*)
'data ...' 1099 write(unit_file,
'(A,I7)')
'POINT_DATA ',mesh%np
1100 write(unit_file,
'(A)')
'SCALARS scalars float 1' 1101 write(unit_file,
'(A)')
'LOOKUP_TABLE default' 1103 write(unit_file,
'(e14.7,2x)') champ(i)
1108 SUBROUTINE vtk_2d(mesh, champ, unit_file, file_name)
1115 REAL(KIND=8),
DIMENSION(:),
INTENT(IN) :: champ
1116 INTEGER,
INTENT(IN) :: unit_file
1117 CHARACTER(*),
INTENT(IN) :: file_name
1118 INTEGER :: i, vtk_cell, n, m
1121 write(*,*)
'ecriture header' 1122 OPEN (unit=unit_file,file=file_name,
form =
'formatted',&
1125 write(unit_file,
'(A)')
'# vtk DataFile Version 3.0' 1126 write(unit_file,
'(A)')
'vtk '//file_name//
'' 1127 write(unit_file,
'(A)')
'ASCII' 1128 write(unit_file,
'(A)')
'DATASET UNSTRUCTURED_GRID' 1129 write(unit_file,
'(A,I7,A)')
'POINTS ', mesh%np,
' float' 1130 write(*,*)
'points ...' 1132 write(unit_file,
'(2(e14.7,2x),A)') mesh%rr(1,i), &
1133 mesh%rr(2,i),
' 0.0 ' 1135 write(*,*)
'cells ...' 1137 write(unit_file,
'(A,I7,I8)')
'CELLS ', mesh%me, mesh%me*(mesh%gauss%n_w+1)
1138 IF (mesh%gauss%n_w==3)
THEN 1141 write(unit_file,
'(I2,6(I8,1x))') mesh%gauss%n_w, (mesh%jj(n,m)-1, n=1,mesh%gauss%n_w)
1143 ELSE IF (mesh%gauss%n_w==6)
THEN 1146 write(unit_file,
'(I2,6(I8,1x))') mesh%gauss%n_w, &
1147 mesh%jj(1,m)-1, mesh%jj(2,m)-1, mesh%jj(3,m)-1, mesh%jj(6,m)-1, mesh%jj(4,m)-1, mesh%jj(5,m)-1
1150 WRITE(*,*)
' BUG in vtk_2d ' 1152 write(unit_file,
'(A,I7)')
'CELL_TYPES ', mesh%me
1154 write(unit_file,
'(i2)') vtk_cell
1157 write(*,*)
'data ...' 1158 write(unit_file,
'(A,I7)')
'POINT_DATA ',mesh%np
1159 write(unit_file,
'(A)')
'SCALARS scalars float 1' 1160 write(unit_file,
'(A)')
'LOOKUP_TABLE default' 1162 write(unit_file,
'(e14.7,2x)') champ(i)
1167 write(*,*)
'ecriture header' 1168 OPEN (unit=unit_file,file=file_name,
form =
'formatted',&
1208 SUBROUTINE trace_profile(mesh, v, it, freq_plot, list_mode, nom_champ, num_dom)
1215 REAL(KIND=8) ,
DIMENSION(:,:,:),
INTENT(INOUT):: v
1216 INTEGER,
INTENT(IN) :: it, freq_plot
1217 INTEGER,
DIMENSION(:),
INTENT(IN) :: list_mode
1218 CHARACTER(len=3),
INTENT(IN) :: nom_champ
1219 INTEGER,
OPTIONAL,
INTENT(IN) :: num_dom
1221 INTEGER :: l, lblank, rang_S
1222 CHARACTER(len=3) :: tit, tmode, tit_S
1223 CHARACTER(len=1) :: tcomp
1226 IF (
PRESENT(num_dom))
THEN 1232 WRITE(tit_s,
'(i3)') rang_s
1234 DO l = 1, lblank - 1
1238 WRITE(tit,
'(i3)') it/freq_plot
1240 DO l = 1, lblank - 1
1246 WRITE(tmode,
'(i3)') list_mode(i)
1248 DO l = 1, lblank - 1
1253 WRITE(tcomp,
'(i1)') k
1255 v(:,k,i) , nom_champ//tcomp//
'_m='//tmode//
'_'//tit_s//
'_'//tit//
'.plt')
subroutine plot_arrow_label(jj, rr, vv, file_name)
subroutine plot_stream(jj, rr, pp, i)
subroutine plot_pressure_2d(jj, rr, uu)
subroutine plot_ensight_vecteur(u8, vit)
subroutine plot_scalar_field(jj, rr, uu, file_name)
subroutine vtk_p1_2d(mesh, champ, unit_file, file_name)
integer function eval_blank(len_str, string)
subroutine plot_pressure_p1_label(jj, rr, uu, file_name)
subroutine plot_const_p1_label(jj, rr, uu, file_name)
subroutine plot_two_scalar_field(jj, rr, uu, jj2, rr2, uu2, file_name)
subroutine plot_vorticity(jj, rr, zz, i)
subroutine plot_vit_2d(jj, rr, uu)
subroutine vtk_2d(mesh, champ, unit_file, file_name)
subroutine plot_arrow(jj, rr, vv)
subroutine plot_scalar_field_domain(jj, rr, id, index_dom, file_name)
subroutine plot_pressure_label(jj, rr, uu, file_name)
subroutine plot_p1_cont_label(jj, jjs, sides, list, rr, uu, file_name)
subroutine plot_p1_matiere_label(jj, neigh, i_d, rr, uu, file_name)
subroutine trace_profile(mesh, v, it, freq_plot, list_mode, nom_champ, num_dom)
subroutine plot_loc_rel_var(jj, rr, vo, vv)
subroutine plot_ensight_scalaire(p8, pres)
subroutine plot_pressure(jj, rr, uu)
subroutine plot_pressure_p2_label(jj, rr, uu, file_name)
section doc_intro_frame_work_num_app Numerical approximation subsection doc_intro_fram_work_num_app_Fourier_FEM Fourier Finite element representation The SFEMaNS code uses a hybrid Fourier Finite element formulation The Fourier decomposition allows to approximate the problem’s solutions for each Fourier mode modulo nonlinear terms that are made explicit The variables are then approximated on a meridian section of the domain with a finite element method The numerical approximation of a function f $f f is written in the following generic form