Changeset 262 for palm/trunk/SOURCE


Ignore:
Timestamp:
Mar 18, 2009 8:32:37 AM (15 years ago)
Author:
raasch
Message:

further updates for dvr output, bugfix in advec_particles concerning particle boundary condition

Location:
palm/trunk/SOURCE
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • palm/trunk/SOURCE/CURRENT_MODIFICATIONS

    r258 r262  
    4545------
    4646
     47Bugfix: error in check, if particles moved further than one subdomain length.
     48This check must not be applied for newly released particles. (advec_particles)
     49
    4750Bugfix: several tail counters are initialized, particle_tail_coordinates is
    4851only written to file if its third index is > 0, arrays for tails are allocated
  • palm/trunk/SOURCE/advec_particles.f90

    r230 r262  
    55! -----------------
    66! Output of messages replaced by message handling routine
     7! Bugfix: error in check, if particles moved further than one subdomain length.
     8!         This check must not be applied for newly released particles
    79! Bugfix: several tail counters are initialized, particle_tail_coordinates is
    810! only written to file if its third index is > 0
     
    30663068!
    30673069!--       Stop if particles have moved further than the length of one
    3068 !--       PE subdomain
    3069           IF ( ABS(particles(n)%speed_x) >                                  &
    3070                ((nxr-nxl+2)*dx)/(particles(n)%age-particles(n)%age_m)  .OR. &
    3071                ABS(particles(n)%speed_y) >                                  &
    3072                ((nyn-nys+2)*dy)/(particles(n)%age-particles(n)%age_m) )  THEN
    3073 
    3074                WRITE( message_string, * )  'particle too fast.  n = ',  n
    3075                CALL message( 'advec_particles', 'PA0148', 2, 2, 0, 6, 0 )
     3070!--       PE subdomain (newly released particles have age = age_m!)
     3071          IF ( particles(n)%age /= particles(n)%age_m )  THEN
     3072             IF ( ABS(particles(n)%speed_x) >                                  &
     3073                  ((nxr-nxl+2)*dx)/(particles(n)%age-particles(n)%age_m)  .OR. &
     3074                  ABS(particles(n)%speed_y) >                                  &
     3075                  ((nyn-nys+2)*dy)/(particles(n)%age-particles(n)%age_m) )  THEN
     3076
     3077                  WRITE( message_string, * )  'particle too fast.  n = ',  n
     3078                  CALL message( 'advec_particles', 'PA0148', 2, 2, 0, 6, 0 )
     3079             ENDIF
    30763080          ENDIF
    30773081
  • palm/trunk/SOURCE/data_output_dvrp.f90

    r254 r262  
    3232! Current revisions:
    3333! -----------------
    34 ! Output of messages replaced by message handling routine.
     34! Clipping of dvr-output implemented,
     35! output of messages replaced by message handling routine.
    3536! TEST: different colours for isosurfaces
    3637!
     
    167168!--       number of particles and tails to be plotted; otherwise, all
    168169!--       particles/tails are plotted. dvrp_mask is used to mark the partikles.
    169           IF ( .NOT. use_particle_tails )  THEN
     170!          IF ( .NOT. use_particle_tails )  THEN
    170171             ALLOCATE( dvrp_mask(number_of_particles) )
    171           ELSE
    172              ALLOCATE( dvrp_mask(number_of_tails*maximum_number_of_tailpoints) )
    173           ENDIF
     172!          ELSE
     173!             ALLOCATE( dvrp_mask(number_of_tails*maximum_number_of_tailpoints) )
     174!          ENDIF
    174175          dvrp_mask = .TRUE.
    175176          IF ( dvrp_total_overlap )  THEN
     
    202203                            dvrp_not = dvrp_not + 1
    203204                         ELSE
    204                             dvrp_mask(k) = .FALSE.
     205                            dvrp_mask(n) = .FALSE.
    205206                         ENDIF
    206207                      ENDIF
     
    532533             CALL DVRP_DATA( m-1, local_pf, 1, nx_dvrp, ny_dvrp, nz_dvrp, &
    533534                             cyclic_dvrp, cyclic_dvrp, cyclic_dvrp )
    534 !             CALL DVRP_SLICER( m-1, section_mode, slicer_position )
    535              tmp_pos = 1.0
    536              CALL DVRP_SLICER( m-1, 2, tmp_pos )
     535             tmp_pos = slicer_position
     536             CALL DVRP_SLICER( m-1, section_mode, tmp_pos )
     537!             tmp_pos = 1.0
     538!             CALL DVRP_SLICER( m-1, 2, tmp_pos )
    537539             WRITE (9,*) 'nx_dvrp=', nx_dvrp
    538540             WRITE (9,*) 'ny_dvrp=', ny_dvrp
Note: See TracChangeset for help on using the changeset viewer.