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(f15.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
770 WRITE(*,*)
' Problem in plot_scalar_field '
783 INTEGER,
DIMENSION(:,:),
INTENT(IN) :: jj, jj2
784 REAL(KIND=8),
DIMENSION(:,:),
INTENT(IN) :: rr, rr2
785 REAL(KIND=8),
DIMENSION(:) :: uu, uu2
786 CHARACTER(*) :: file_name
788 INTEGER :: m, n1, n2, n3
790 OPEN (unit=20, file=file_name,
form=
'formatted', status=
'unknown')
792 WRITE (20, *)
'$ DATA = CONTCURVE'
793 WRITE (20, *)
'% contstyle = 2'
794 WRITE (20, *)
'% nsteps = 50'
795 WRITE (20, *)
'% meshplot = false'
798 IF (
SIZE(jj,1)==3)
THEN
799 DO m = 1,
SIZE(jj, 2)
804 WRITE (20, 100) rr(1,n1), rr(2,n1), uu(n1), n1
805 WRITE (20, 100) rr(1,n2), rr(2,n2), uu(n2), n2
806 WRITE (20, 100) rr(1,n3), rr(2,n3), uu(n3), n3
809 DO m = 1,
SIZE(jj2, 2)
814 WRITE (20, 100) rr2(1,n1), rr2(2,n1), uu2(n1), n1
815 WRITE (20, 100) rr2(1,n2), rr2(2,n2), uu2(n2), n2
816 WRITE (20, 100) rr2(1,n3), rr2(2,n3), uu2(n3), n3
821 ELSE IF (
SIZE(jj,1)==6)
THEN
823 DO m = 1,
SIZE(jj, 2)
828 WRITE (20, 100) rr(1,n1), rr(2,n1), uu(n1), n1
829 WRITE (20, 100) rr(1,n2), rr(2,n2), uu(n2), n2
830 WRITE (20, 100) rr(1,n3), rr(2,n3), uu(n3), n3
837 WRITE (20, 100) rr(1,n1), rr(2,n1), uu(n1), n1
838 WRITE (20, 100) rr(1,n2), rr(2,n2), uu(n2), n2
839 WRITE (20, 100) rr(1,n3), rr(2,n3), uu(n3), n3
845 WRITE (20, 100) rr(1,n1), rr(2,n1), uu(n1), n1
846 WRITE (20, 100) rr(1,n2), rr(2,n2), uu(n2), n2
847 WRITE (20, 100) rr(1,n3), rr(2,n3), uu(n3), n3
853 WRITE (20, 100) rr(1,n1), rr(2,n1), uu(n1), n1
854 WRITE (20, 100) rr(1,n2), rr(2,n2), uu(n2), n2
855 WRITE (20, 100) rr(1,n3), rr(2,n3), uu(n3), n3
858 DO m = 1,
SIZE(jj2, 2)
863 WRITE (20, 100) rr2(1,n1), rr2(2,n1), uu2(n1), n1
864 WRITE (20, 100) rr2(1,n2), rr2(2,n2), uu2(n2), n2
865 WRITE (20, 100) rr2(1,n3), rr2(2,n3), uu2(n3), n3
872 WRITE (20, 100) rr2(1,n1), rr2(2,n1), uu2(n1), n1
873 WRITE (20, 100) rr2(1,n2), rr2(2,n2), uu2(n2), n2
874 WRITE (20, 100) rr2(1,n3), rr2(2,n3), uu2(n3), n3
880 WRITE (20, 100) rr2(1,n1), rr2(2,n1), uu2(n1), n1
881 WRITE (20, 100) rr2(1,n2), rr2(2,n2), uu2(n2), n2
882 WRITE (20, 100) rr2(1,n3), rr2(2,n3), uu2(n3), n3
888 WRITE (20, 100) rr2(1,n1), rr2(2,n1), uu2(n1), n1
889 WRITE (20, 100) rr2(1,n2), rr2(2,n2), uu2(n2), n2
890 WRITE (20, 100) rr2(1,n3), rr2(2,n3), uu2(n3), n3
896 WRITE(*,*)
' Problem in plot_two_scalar_field '
900 100
FORMAT(3(e12.5,3x),i5)
911 INTEGER,
DIMENSION(:,:),
INTENT(IN) :: jj
912 REAL(KIND=8),
DIMENSION(:,:),
INTENT(IN) :: rr
913 INTEGER,
DIMENSION(:),
INTENT(IN) :: id
914 INTEGER,
INTENT(IN) :: index_dom
915 CHARACTER(*) :: file_name
917 INTEGER :: m, n1, n2, n3
919 OPEN (unit=20, file=file_name,
form=
'formatted', status=
'unknown')
921 WRITE (20, *)
'$ DATA = CONTCURVE'
922 WRITE (20, *)
'% contstyle = 2'
923 WRITE (20, *)
'% nsteps = 50'
924 WRITE (20, *)
'% meshplot = true'
927 IF (
SIZE(jj,1)==3)
THEN
928 DO m = 1,
SIZE(jj, 2)
929 IF (id(m)/=index_dom) cycle
933 WRITE (20, 100) rr(1,n1), rr(2,n1), id(m), n1
934 WRITE (20, 100) rr(1,n2), rr(2,n2), id(m), n2
935 WRITE (20, 100) rr(1,n3), rr(2,n3), id(m), n3
939 ELSE IF (
SIZE(jj,1)==6)
THEN
941 DO m = 1,
SIZE(jj, 2)
942 IF (id(m)/=index_dom) cycle
946 WRITE (20, 100) rr(1,n1), rr(2,n1), id(m), n1
947 WRITE (20, 100) rr(1,n2), rr(2,n2), id(m), n2
948 WRITE (20, 100) rr(1,n3), rr(2,n3), id(m), n3
954 WRITE (20, 100) rr(1,n1), rr(2,n1), id(m), n1
955 WRITE (20, 100) rr(1,n2), rr(2,n2), id(m), n2
956 WRITE (20, 100) rr(1,n3), rr(2,n3), id(m), n3
962 WRITE (20, 100) rr(1,n1), rr(2,n1), id(m), n1
963 WRITE (20, 100) rr(1,n2), rr(2,n2), id(m), n2
964 WRITE (20, 100) rr(1,n3), rr(2,n3), id(m), n3
970 WRITE (20, 100) rr(1,n1), rr(2,n1), id(m), n1
971 WRITE (20, 100) rr(1,n2), rr(2,n2), id(m), n2
972 WRITE (20, 100) rr(1,n3), rr(2,n3), id(m), n3
977 WRITE(*,*)
' Problem in plot_scalar_field '
981 100
FORMAT(2(e12.5,3x),i5,3x,i5)
994 REAL(KIND=8),
DIMENSION(:),
INTENT(IN) :: champ
995 INTEGER,
INTENT(IN) :: unit_file
996 CHARACTER(*),
INTENT(IN) :: file_name
999 write(*,*)
'ecriture header'
1000 OPEN (unit=unit_file,file=file_name,
form =
'formatted',&
1003 write(unit_file,
'(A)')
'# vtk DataFile Version 3.0'
1004 write(unit_file,
'(A)')
'vtk '//file_name//
''
1005 write(unit_file,
'(A)')
'ASCII'
1006 write(unit_file,
'(A)')
'DATASET UNSTRUCTURED_GRID'
1007 write(unit_file,
'(A,I7,A)')
'POINTS ', mesh%np,
' float'
1008 write(*,*)
'points ...'
1010 write(unit_file,
'(2(e14.7,2x),A)') mesh%rr(1,i), &
1011 mesh%rr(2,i),
' 0.0 '
1013 write(*,*)
'cells ...'
1014 write(unit_file,
'(A,I7,I8)')
'CELLS ', mesh%me, mesh%me*4
1016 write(unit_file,
'(A,3(I8,1x))')
'3 ', mesh%jj(1,i)-1, &
1017 mesh%jj(2,i)-1, mesh%jj(3,i)-1
1019 write(unit_file,
'(A,I7)')
'CELL_TYPES ', mesh%me
1021 write(unit_file,
'(A)')
'5'
1024 write(*,*)
'data ...'
1025 write(unit_file,
'(A,I7)')
'POINT_DATA ',mesh%np
1026 write(unit_file,
'(A)')
'SCALARS scalars float 1'
1027 write(unit_file,
'(A)')
'LOOKUP_TABLE default'
1029 write(unit_file,
'(e14.7,2x)') champ(i)
1034 SUBROUTINE vtk_2d(mesh, champ, unit_file, file_name)
1041 REAL(KIND=8),
DIMENSION(:),
INTENT(IN) :: champ
1042 INTEGER,
INTENT(IN) :: unit_file
1043 CHARACTER(*),
INTENT(IN) :: file_name
1044 INTEGER :: i, vtk_cell, n, m
1047 write(*,*)
'ecriture header'
1048 OPEN (unit=unit_file,file=file_name,
form =
'formatted',&
1051 write(unit_file,
'(A)')
'# vtk DataFile Version 3.0'
1052 write(unit_file,
'(A)')
'vtk '//file_name//
''
1053 write(unit_file,
'(A)')
'ASCII'
1054 write(unit_file,
'(A)')
'DATASET UNSTRUCTURED_GRID'
1055 write(unit_file,
'(A,I7,A)')
'POINTS ', mesh%np,
' float'
1056 write(*,*)
'points ...'
1058 write(unit_file,
'(2(e14.7,2x),A)') mesh%rr(1,i), &
1059 mesh%rr(2,i),
' 0.0 '
1061 write(*,*)
'cells ...'
1063 write(unit_file,
'(A,I7,I8)')
'CELLS ', mesh%me, mesh%me*(mesh%gauss%n_w+1)
1064 IF (mesh%gauss%n_w==3)
THEN
1067 write(unit_file,
'(I2,6(I8,1x))') mesh%gauss%n_w, (mesh%jj(n,m)-1, n=1,mesh%gauss%n_w)
1069 ELSE IF (mesh%gauss%n_w==6)
THEN
1072 write(unit_file,
'(I2,6(I8,1x))') mesh%gauss%n_w, &
1073 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
1076 WRITE(*,*)
' BUG in vtk_2d '
1078 write(unit_file,
'(A,I7)')
'CELL_TYPES ', mesh%me
1080 write(unit_file,
'(i2)') vtk_cell
1083 write(*,*)
'data ...'
1084 write(unit_file,
'(A,I7)')
'POINT_DATA ',mesh%np
1085 write(unit_file,
'(A)')
'SCALARS scalars float 1'
1086 write(unit_file,
'(A)')
'LOOKUP_TABLE default'
1088 write(unit_file,
'(e14.7,2x)') champ(i)
1093 write(*,*)
'ecriture header'
1094 OPEN (unit=unit_file,file=file_name,
form =
'formatted',&
1141 REAL(KIND=8) ,
DIMENSION(:,:,:),
INTENT(INOUT):: v
1142 INTEGER,
INTENT(IN) :: it, freq_plot
1143 INTEGER,
DIMENSION(:),
INTENT(IN) :: list_mode
1144 CHARACTER(len=3),
INTENT(IN) :: nom_champ
1145 INTEGER,
OPTIONAL,
INTENT(IN) :: num_dom
1147 INTEGER :: l, lblank, rang_s
1148 CHARACTER(len=3) :: tit, tmode, tit_s
1149 CHARACTER(len=1) :: tcomp
1152 IF (present(num_dom))
THEN
1158 WRITE(tit_s,
'(i3)') rang_s
1160 DO l = 1, lblank - 1
1164 WRITE(tit,
'(i3)') it/freq_plot
1166 DO l = 1, lblank - 1
1172 WRITE(tmode,
'(i3)') list_mode(i)
1174 DO l = 1, lblank - 1
1179 WRITE(tcomp,
'(i1)') k
1181 v(:,k,i) , nom_champ//tcomp//
'_m='//tmode//
'_'//tit_s//
'_'//tit//
'.plt')
integer function eval_blank(len_str, string)
subroutine plot_p1_cont_label(jj, jjs, sides, list, rr, uu, file_name)
subroutine plot_pressure(jj, rr, uu)
subroutine plot_scalar_field_domain(jj, rr, id, index_dom, file_name)
subroutine plot_arrow(jj, rr, vv)
subroutine plot_vorticity(jj, rr, zz, i)
subroutine trace_profile(mesh, v, it, freq_plot, list_mode, nom_champ, num_dom)
subroutine plot_ensight_scalaire(p8, pres)
subroutine plot_p1_matiere_label(jj, neigh, i_d, rr, uu, file_name)
subroutine plot_pressure_p1_label(jj, rr, uu, file_name)
subroutine vtk_p1_2d(mesh, champ, unit_file, file_name)
subroutine plot_arrow_label(jj, rr, vv, file_name)
subroutine plot_scalar_field(jj, rr, uu, file_name)
subroutine plot_stream(jj, rr, pp, i)
subroutine plot_const_p1_label(jj, rr, uu, file_name)
subroutine plot_ensight_vecteur(u8, vit)
subroutine plot_two_scalar_field(jj, rr, uu, jj2, rr2, uu2, file_name)
subroutine plot_loc_rel_var(jj, rr, vo, vv)
subroutine plot_pressure_label(jj, rr, uu, file_name)
subroutine plot_vit_2d(jj, rr, uu)
subroutine vtk_2d(mesh, champ, unit_file, file_name)
subroutine plot_pressure_p2_label(jj, rr, uu, file_name)
subroutine plot_pressure_2d(jj, rr, uu)
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