source: palm/trunk/SOURCE/lpm_write_exchange_statistics.f90 @ 1359

Last change on this file since 1359 was 1359, checked in by hoffmann, 10 years ago

new Lagrangian particle structure integrated

  • Property svn:keywords set to Id
File size: 4.0 KB
Line 
1 SUBROUTINE lpm_write_exchange_statistics
2
3!--------------------------------------------------------------------------------!
4! This file is part of PALM.
5!
6! PALM is free software: you can redistribute it and/or modify it under the terms
7! of the GNU General Public License as published by the Free Software Foundation,
8! either version 3 of the License, or (at your option) any later version.
9!
10! PALM is distributed in the hope that it will be useful, but WITHOUT ANY
11! WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
12! A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
13!
14! You should have received a copy of the GNU General Public License along with
15! PALM. If not, see <http://www.gnu.org/licenses/>.
16!
17! Copyright 1997-2014 Leibniz Universitaet Hannover
18!--------------------------------------------------------------------------------!
19!
20! Current revisions:
21! ------------------
22! New particle structure integrated.
23!
24! Former revisions:
25! -----------------
26! $Id: lpm_write_exchange_statistics.f90 1359 2014-04-11 17:15:14Z hoffmann $
27!
28! 1320 2014-03-20 08:40:49Z raasch
29! ONLY-attribute added to USE-statements,
30! comment fields (!:) to be used for variable explanations added to
31! all variable declaration statements
32!
33! 1036 2012-10-22 13:43:42Z raasch
34! code put under GPL (PALM 3.9)
35!
36! 849 2012-03-15 10:35:09Z raasch
37! initial revision (former part of advec_particles)
38!
39!
40! Description:
41! ------------
42! Write particle statistics (total particle numbers and number of particles
43! exchanged between subdomains) on ASCII file.
44!
45! ATTENTION: output format of this file could be further improved! At current
46!            stage it is only a test output.
47!------------------------------------------------------------------------------!
48
49    USE control_parameters,                                                    &
50        ONLY:  current_timestep_number, dt_3d, simulated_time
51
52    USE indices,                                                               &
53        ONLY:  nxl, nxr, nys, nyn, nzb, nzt
54
55    USE particle_attributes,                                                   &
56        ONLY:  grid_particles, maximum_number_of_particles,                    &
57               number_of_particles, particles, prt_count,                      &
58               trlp_count_sum, trlp_count_recv_sum, trnp_count_sum,            &
59               trnp_count_recv_sum, trrp_count_sum, trrp_count_recv_sum,       &
60               trsp_count_sum, trsp_count_recv_sum
61
62    USE pegrid
63
64    IMPLICIT NONE
65
66    INTEGER(iwp) :: ip         !:
67    INTEGER(iwp) :: jp         !:
68    INTEGER(iwp) :: kp         !:
69
70!
71!-- Determine maximum number of particles (i.e., all possible particles that
72!-- have been allocated) and the current number of particles
73    number_of_particles         = 0
74    maximum_number_of_particles = 0
75    DO  ip = nxl, nxr
76       DO  jp = nys, nyn
77          DO  kp = nzb+1, nzt
78             number_of_particles = number_of_particles                         &
79                                     + prt_count(kp,jp,ip)
80             maximum_number_of_particles = maximum_number_of_particles         &
81                                     + SIZE(grid_particles(kp,jp,ip)%particles)
82          ENDDO
83       ENDDO
84    ENDDO
85
86    CALL check_open( 80 )
87#if defined( __parallel )
88    WRITE ( 80, 8000 )  current_timestep_number+1, simulated_time+dt_3d, &
89                        number_of_particles, pleft, trlp_count_sum,      &
90                        trlp_count_recv_sum, pright, trrp_count_sum,     &
91                        trrp_count_recv_sum, psouth, trsp_count_sum,     &
92                        trsp_count_recv_sum, pnorth, trnp_count_sum,     &
93                        trnp_count_recv_sum, maximum_number_of_particles
94    CALL close_file( 80 )
95#else
96    WRITE ( 80, 8000 )  current_timestep_number+1, simulated_time+dt_3d, &
97                        number_of_particles, maximum_number_of_particles
98#endif
99
100!
101!-- Formats
1028000 FORMAT (I6,1X,F7.2,4X,I10,5X,4(I3,1X,I4,'/',I4,2X),6X,I10)
103
104
105 END SUBROUTINE lpm_write_exchange_statistics
Note: See TracBrowser for help on using the repository browser.