1 | include(dom.inc)
2 |
3 | SUBROUTINE master_integrate(s_Gtot, s_Lbtot, s_Htot, &
4 | & s_Q_rtot,s_Q_ptot,s_Qw)
5 |
6 | ! ================================================================!
7 | ! !
8 | ! master_integrate.F: Copy resulting vectors to master !
9 | ! !
10 | ! out : !
11 | ! !
12 | ! author : J. AMAYA (october 2007) !
13 | ! !
14 | ! ================================================================!
15 |
16 | USE mod_prissma
17 |
18 | IMPLICIT NONE
19 |
20 | ! IN
21 | DOM_INT :: iproc, i
22 | DOM_REAL,DIMENSION(3,i_dom_nnodes) :: s_Q_rtot
23 | DOM_REAL,DIMENSION(3,i_dom_nprobes):: s_Q_ptot
24 | DOM_REAL,DIMENSION(i_dom_nnodes) :: s_Gtot, s_Lbtot
25 | DOM_REAL,DIMENSION(i_dom_nbfaces) :: s_Htot, s_Qw
26 | DOM_REAL :: Gmax, Gmin, Lmax, Lmin, Hmax, Hmin
27 |
28 | ! --------------!
29 | ! Printing data !
30 | ! --------------!
31 |
32 | Gmax = MAXVAL(s_Gtot)
33 | Gmin = MINVAL(s_Gtot)
34 | Lmax = MAXVAL(s_Lbtot)
35 | Lmin = MINVAL(s_Lbtot)
36 | Hmax = MAXVAL(s_Htot)
37 | Hmin = MINVAL(s_Htot)
38 |
39 | ! print*, " ---------------------"
40 | ! print*, " Procesor: ", iproc
41 | ! print*, " Gmax from (",iproc,") = ", Gmax
42 | ! print*, " Gmin from (",iproc,") = ", Gmin
43 | ! print*, " Lmax from (",iproc,") = ", Lmax
44 | ! print*, " Lmin from (",iproc,") = ", Lmin
45 | ! print*, " Hmax from (",iproc,") = ", Hmax
46 | ! print*, " Hmin from (",iproc,") = ", Hmin
47 | ! print*, " "
48 |
49 | ! ------------------------------!
50 | ! Result vectors initialization !
51 | ! ------------------------------!
52 |
53 | IF (.not.ALLOCATED(Srtot)) ALLOCATE(Srtot(i_dom_nnodes))
54 | IF (.not.ALLOCATED(Gtot)) ALLOCATE(Gtot(i_dom_nnodes))
55 | IF (.not.ALLOCATED(Lbtot)) ALLOCATE(Lbtot(i_dom_nnodes))
56 | IF (.not.ALLOCATED(Htot)) ALLOCATE(Htot(i_dom_nbfaces))
57 | IF (.not.ALLOCATED(Qw)) ALLOCATE(Qw(i_dom_nbfaces))
58 | IF (.not.ALLOCATED(Q_rtot)) ALLOCATE(Q_rtot(3,i_dom_nnodes))
59 | IF (.not.ALLOCATED(Q_ptot)) ALLOCATE(Q_ptot(3,i_dom_nprobes))
60 |
61 | ! ---------------------------------------!
62 | ! Adding iproc results to master vectors !
63 | ! ---------------------------------------!
64 |
65 | Lbtot = s_Lbtot
66 | Gtot = s_Gtot
67 | Htot = s_Htot
68 | Qw = s_Qw
69 | Q_rtot = s_Q_rtot
70 | Q_ptot = s_Q_ptot
71 |
72 | Srtot = Lbtot - Gtot
73 |
74 | ! print*, " max Sr = ", MAXVAL(Srtot)
75 | ! print*, " ---------------------"
76 |
77 | END SUBROUTINE master_integrate
master_integrate.F could be called by: