Ignore:
Timestamp:
Feb 17, 2012 9:09:57 AM (10 years ago)
Author:
raasch
Message:

preliminary checkin of new curvature/solution effects on droplet growth

File:
1 edited

Legend:

Unmodified
Added
Removed
  • palm/trunk/SOURCE/data_output_ptseries.f90

    r623 r824  
    44! Current revisions:
    55! -----------------
    6 !
     6! mean particle radius added as output quantity.
     7! particle attributes speed_x|y|z_sgs renamed rvar1|2|3.
    78!
    89! Former revisions:
     
    8788       pts_value_l(0,7)  = pts_value_l(0,7) + particles(n)%speed_y     ! mean v
    8889       pts_value_l(0,8)  = pts_value_l(0,8) + particles(n)%speed_z     ! mean w
    89        pts_value_l(0,9)  = pts_value_l(0,9) + &
    90                                             particles(n)%speed_x_sgs ! mean sgsu
    91        pts_value_l(0,10) = pts_value_l(0,10) + &
    92                                             particles(n)%speed_y_sgs ! mean sgsv
    93        pts_value_l(0,11) = pts_value_l(0,11) + &
    94                                             particles(n)%speed_z_sgs ! mean sgsw
     90       pts_value_l(0,9)  = pts_value_l(0,9) + particles(n)%rvar1     ! mean sgsu
     91       pts_value_l(0,10) = pts_value_l(0,10) + particles(n)%rvar2    ! mean sgsv
     92       pts_value_l(0,11) = pts_value_l(0,11) + particles(n)%rvar3    ! mean sgsw
    9593       IF ( particles(n)%speed_z > 0.0 )  THEN
    9694          pts_value_l(0,12) = pts_value_l(0,12) + 1.0  ! # of upward moving prts
     
    10199                                            particles(n)%speed_z ! mean w down
    102100       ENDIF
    103        pts_value_l(0,15) = number_of_particles
     101       pts_value_l(0,15) = pts_value_l(0,15) + particles(n)%radius
    104102       pts_value_l(0,16) = number_of_particles
     103       pts_value_l(0,17) = number_of_particles
    105104
    106105!
     
    120119          pts_value_l(j,7)  = pts_value_l(j,7)  + particles(n)%speed_y
    121120          pts_value_l(j,8)  = pts_value_l(j,8)  + particles(n)%speed_z
    122           pts_value_l(j,9)  = pts_value_l(j,9)  + particles(n)%speed_x_sgs
    123           pts_value_l(j,10) = pts_value_l(j,10) + particles(n)%speed_y_sgs
    124           pts_value_l(j,11) = pts_value_l(j,11) + particles(n)%speed_z_sgs
     121          pts_value_l(j,9)  = pts_value_l(j,9)  + particles(n)%rvar1
     122          pts_value_l(j,10) = pts_value_l(j,10) + particles(n)%rvar2
     123          pts_value_l(j,11) = pts_value_l(j,11) + particles(n)%rvar3
    125124          IF ( particles(n)%speed_z > 0.0 )  THEN
    126125             pts_value_l(j,12) = pts_value_l(j,12) + 1.0
     
    129128             pts_value_l(j,14) = pts_value_l(j,14) + particles(n)%speed_z
    130129          ENDIF
    131           pts_value_l(j,15) = pts_value_l(j,15) + 1.0
     130          pts_value_l(j,15) = pts_value_l(j,15) + particles(n)%radius
    132131          pts_value_l(j,16) = pts_value_l(j,16) + 1.0
     132          pts_value_l(j,17) = pts_value_l(j,17) + 1.0
    133133
    134134       ENDIF
     
    142142
    143143    IF ( collective_wait )  CALL MPI_BARRIER( comm2d, ierr )
    144     CALL MPI_ALLREDUCE( pts_value_l(0,1), pts_value(0,1), 14*inum, MPI_REAL, &
     144    CALL MPI_ALLREDUCE( pts_value_l(0,1), pts_value(0,1), 15*inum, MPI_REAL, &
    145145                        MPI_SUM, comm2d, ierr )
    146146    IF ( collective_wait )  CALL MPI_BARRIER( comm2d, ierr )
    147     CALL MPI_ALLREDUCE( pts_value_l(0,15), pts_value(0,15), inum, MPI_REAL, &
     147    CALL MPI_ALLREDUCE( pts_value_l(0,16), pts_value(0,16), inum, MPI_REAL, &
    148148                        MPI_MAX, comm2d, ierr )
    149149    IF ( collective_wait )  CALL MPI_BARRIER( comm2d, ierr )
    150     CALL MPI_ALLREDUCE( pts_value_l(0,16), pts_value(0,16), inum, MPI_REAL, &
     150    CALL MPI_ALLREDUCE( pts_value_l(0,17), pts_value(0,17), inum, MPI_REAL, &
    151151                        MPI_MIN, comm2d, ierr )
    152152#else
    153     pts_value(:,1:16) = pts_value_l(:,1:16)
     153    pts_value(:,1:17) = pts_value_l(:,1:17)
    154154#endif
    155155
     
    167167       IF ( pts_value(j,1) > 0.0 )  THEN
    168168
    169           pts_value(j,2:14) = pts_value(j,2:14) / pts_value(j,1)
     169          pts_value(j,2:15) = pts_value(j,2:15) / pts_value(j,1)
    170170          IF ( pts_value(j,12) > 0.0  .AND.  pts_value(j,12) < 1.0 )  THEN
    171171             pts_value(j,13) = pts_value(j,13) / pts_value(j,12)
     
    186186    DO  n = 1, number_of_particles
    187187
    188        pts_value_l(0,17) = pts_value_l(0,17) + ( particles(n)%x - &
     188       pts_value_l(0,18) = pts_value_l(0,18) + ( particles(n)%x - &
    189189                           particles(n)%origin_x - pts_value(0,2) )**2 ! x*2
    190        pts_value_l(0,18) = pts_value_l(0,18) + ( particles(n)%y - &
     190       pts_value_l(0,19) = pts_value_l(0,19) + ( particles(n)%y - &
    191191                           particles(n)%origin_y - pts_value(0,3) )**2 ! y*2
    192        pts_value_l(0,19) = pts_value_l(0,19) + ( particles(n)%z - &
     192       pts_value_l(0,20) = pts_value_l(0,20) + ( particles(n)%z - &
    193193                           particles(n)%origin_z - pts_value(0,4) )**2 ! z*2
    194        pts_value_l(0,20) = pts_value_l(0,20) + ( particles(n)%speed_x - &
     194       pts_value_l(0,21) = pts_value_l(0,21) + ( particles(n)%speed_x - &
    195195                                               pts_value(0,6) )**2     ! u*2
    196        pts_value_l(0,21) = pts_value_l(0,21) + ( particles(n)%speed_y - &
     196       pts_value_l(0,22) = pts_value_l(0,22) + ( particles(n)%speed_y - &
    197197                                               pts_value(0,7) )**2     ! v*2
    198        pts_value_l(0,22) = pts_value_l(0,22) + ( particles(n)%speed_z - &
     198       pts_value_l(0,23) = pts_value_l(0,23) + ( particles(n)%speed_z - &
    199199                                               pts_value(0,8) )**2     ! w*2
    200        pts_value_l(0,23) = pts_value_l(0,23) + ( particles(n)%speed_x_sgs - &
     200       pts_value_l(0,24) = pts_value_l(0,24) + ( particles(n)%rvar1 - &
    201201                                               pts_value(0,9) )**2     ! u"2
    202        pts_value_l(0,24) = pts_value_l(0,24) + ( particles(n)%speed_y_sgs - &
     202       pts_value_l(0,25) = pts_value_l(0,25) + ( particles(n)%rvar2 - &
    203203                                               pts_value(0,10) )**2    ! v"2
    204        pts_value_l(0,25) = pts_value_l(0,25) + ( particles(n)%speed_z_sgs - &
     204       pts_value_l(0,26) = pts_value_l(0,26) + ( particles(n)%rvar3 - &
    205205                                               pts_value(0,11) )**2    ! w"2
    206206!
     
    209209          j = particles(n)%group
    210210
    211           pts_value_l(j,17) = pts_value_l(j,17) + ( particles(n)%x - &
     211          pts_value_l(j,18) = pts_value_l(j,18) + ( particles(n)%x - &
    212212                              particles(n)%origin_x - pts_value(j,2) )**2
    213           pts_value_l(j,18) = pts_value_l(j,18) + ( particles(n)%y - &
     213          pts_value_l(j,19) = pts_value_l(j,19) + ( particles(n)%y - &
    214214                              particles(n)%origin_y - pts_value(j,3) )**2
    215           pts_value_l(j,19) = pts_value_l(j,19) + ( particles(n)%z - &
     215          pts_value_l(j,20) = pts_value_l(j,20) + ( particles(n)%z - &
    216216                              particles(n)%origin_z - pts_value(j,4) )**2
    217           pts_value_l(j,20) = pts_value_l(j,20) + ( particles(n)%speed_x - &
     217          pts_value_l(j,21) = pts_value_l(j,21) + ( particles(n)%speed_x - &
    218218                                                  pts_value(j,6) )**2
    219           pts_value_l(j,21) = pts_value_l(j,21) + ( particles(n)%speed_y - &
     219          pts_value_l(j,22) = pts_value_l(j,22) + ( particles(n)%speed_y - &
    220220                                                  pts_value(j,7) )**2
    221           pts_value_l(j,22) = pts_value_l(j,22) + ( particles(n)%speed_z - &
     221          pts_value_l(j,23) = pts_value_l(j,23) + ( particles(n)%speed_z - &
    222222                                                  pts_value(j,8) )**2
    223           pts_value_l(j,23) = pts_value_l(j,23) + ( particles(n)%speed_x_sgs - &
     223          pts_value_l(j,24) = pts_value_l(j,24) + ( particles(n)%rvar1 -  &
    224224                                                  pts_value(j,9) )**2
    225           pts_value_l(j,24) = pts_value_l(j,24) + ( particles(n)%speed_y_sgs - &
     225          pts_value_l(j,25) = pts_value_l(j,25) + ( particles(n)%rvar2 -  &
    226226                                                  pts_value(j,10) )**2
    227           pts_value_l(j,25) = pts_value_l(j,25) + ( particles(n)%speed_z_sgs - &
     227          pts_value_l(j,26) = pts_value_l(j,26) + ( particles(n)%rvar3 -  &
    228228                                                  pts_value(j,11) )**2
    229229       ENDIF
     
    231231    ENDDO
    232232
    233     pts_value_l(0,26) = ( number_of_particles - pts_value(0,1) / numprocs )**2
     233    pts_value_l(0,27) = ( number_of_particles - pts_value(0,1) / numprocs )**2
    234234                                                 ! variance of particle numbers
    235235    IF ( number_of_particle_groups > 1 )  THEN
    236236       DO  j = 1, number_of_particle_groups
    237           pts_value_l(j,26) = ( pts_value_l(j,1) - &
     237          pts_value_l(j,27) = ( pts_value_l(j,1) - &
    238238                                pts_value(j,1) / numprocs )**2
    239239       ENDDO
     
    246246
    247247    IF ( collective_wait )  CALL MPI_BARRIER( comm2d, ierr )
    248     CALL MPI_ALLREDUCE( pts_value_l(0,17), pts_value(0,17), inum*10, MPI_REAL, &
     248    CALL MPI_ALLREDUCE( pts_value_l(0,18), pts_value(0,18), inum*10, MPI_REAL, &
    249249                        MPI_SUM, comm2d, ierr )
    250250#else
    251     pts_value(:,17:26) = pts_value_l(:,17:26)
     251    pts_value(:,18:27) = pts_value_l(:,18:27)
    252252#endif
    253253
     
    264264
    265265       IF ( pts_value(j,1) > 0.0 )  THEN
    266           pts_value(j,17:25) = pts_value(j,17:25) / pts_value(j,1)
    267        ENDIF
    268        pts_value(j,26) = pts_value(j,26) / numprocs
     266          pts_value(j,18:26) = pts_value(j,18:26) / pts_value(j,1)
     267       ENDIF
     268       pts_value(j,27) = pts_value(j,27) / numprocs
    269269
    270270    ENDDO
Note: See TracChangeset for help on using the changeset viewer.