- Timestamp:
- Mar 17, 2017 2:27:40 PM (8 years ago)
- Location:
- palm/trunk/SOURCE
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/lpm_init.f90
r2123 r2182 20 20 ! Current revisions: 21 21 ! ----------------- 22 ! 22 ! Added parameters for simplified particle initialization. 23 23 ! 24 24 ! Former revisions: … … 170 170 max_number_of_particle_groups, maximum_number_of_particles, & 171 171 min_nr_particle, mpi_particle_type, & 172 number_concentration, number_particles_per_gridbox, & 172 173 number_of_particles, & 173 174 number_of_particle_groups, number_of_sublayers, & … … 230 231 #endif 231 232 233 REAL(wp) :: div !< 232 234 REAL(wp) :: height_int !< 233 235 REAL(wp) :: height_p !< … … 292 294 IF ( pdy(1) == 9999999.9_wp .OR. pdy(1) == 0.0_wp ) pdy(1) = dy 293 295 IF ( pdz(1) == 9999999.9_wp .OR. pdz(1) == 0.0_wp ) pdz(1) = zu(2) - zu(1) 296 297 ! 298 !-- If number_particles_per_gridbox is set, the parametres pdx, pdy and pdz are 299 !-- calculated diagnostically. Therfore an isotropic distribution is prescribed. 300 IF ( number_particles_per_gridbox /= -1 .AND. & 301 number_particles_per_gridbox >= 1 ) THEN 302 pdx(1) = (( dx * dy * ( zu(2) - zu(1) ) ) / & 303 REAL(number_particles_per_gridbox))**0.3333333_wp 304 ! 305 !-- Ensure a smooth value (two significant digits) of distance between 306 !-- particles (pdx, pdy, pdz). 307 div = 1000.0_wp 308 DO WHILE ( pdx(1) < div ) 309 div = div / 10.0_wp 310 ENDDO 311 pdx(1) = NINT( pdx(1) * 100.0_wp / div ) * div / 100.0_wp 312 pdy(1) = pdx(1) 313 pdz(1) = pdx(1) 314 315 ENDIF 294 316 295 317 DO j = 2, number_of_particle_groups … … 578 600 local_count = prt_count ! Start address of new particles 579 601 ENDIF 602 603 ! 604 !-- Calculate initial_weighting_factor diagnostically 605 IF ( number_concentration /= -1.0_wp .AND. number_concentration > 0.0_wp ) THEN 606 initial_weighting_factor = number_concentration * 1.0E6_wp * & 607 pdx(1) * pdy(1) * pdz(1) 608 END IF 580 609 581 610 n = 0 … … 662 691 663 692 local_count(kp,jp,ip) = local_count(kp,jp,ip) + 1 693 664 694 IF ( .NOT. first_stride ) THEN 665 695 IF ( ip < nxl .OR. jp < nys .OR. kp < nzb+1 ) THEN … … 714 744 alloc_factor / 100.0_wp ) ), min_nr_particle ) 715 745 IF( alloc_size > SIZE( grid_particles(kp,jp,ip)%particles) ) THEN 716 CALL realloc_particles_array(ip,jp,kp,alloc_size)746 CALL realloc_particles_array(ip,jp,kp,alloc_size) 717 747 ENDIF 718 748 ENDIF 719 749 ENDIF 720 721 750 ENDDO 722 751 ENDDO … … 725 754 726 755 ENDDO 756 757 727 758 728 759 local_start = prt_count+1 … … 740 771 DO n = local_start(kp,jp,ip), number_of_particles !only new particles 741 772 742 particles(n)%id1 = 10000 * grid_particles(kp,jp,ip)%id_counter + kp743 particles(n)%id2 = 10000 * jp + ip773 particles(n)%id1 = 10000_iwp * grid_particles(kp,jp,ip)%id_counter + kp 774 particles(n)%id2 = 10000_iwp * jp + ip 744 775 745 776 grid_particles(kp,jp,ip)%id_counter = & -
palm/trunk/SOURCE/mod_particle_attributes.f90
r2123 r2182 20 20 ! Current revisions: 21 21 ! ------------------ 22 ! 22 ! Added parameters for simplified particle initialization. 23 23 ! 24 24 ! Former revisions: … … 93 93 number_of_particle_groups = 1, & 94 94 number_of_sublayers = 20, & 95 number_particles_per_gridbox = -1, & 95 96 offset_ocean_nzt = 0, & 96 97 offset_ocean_nzt_m1 = 0, particles_per_point = 1, & … … 125 126 end_time_prel = 9999999.9_wp, & 126 127 initial_weighting_factor = 1.0_wp, & 128 number_concentration = -1.0_wp, & 127 129 particle_advection_start = 0.0_wp, & 128 130 sgs_wf_part, time_prel = 0.0_wp, time_sort_particles = 0.0_wp,& -
palm/trunk/SOURCE/package_parin.f90
r2101 r2182 20 20 ! Current revisions: 21 21 ! ----------------- 22 ! 22 ! Added parameters for simplified particle initialization. 23 23 ! 24 24 ! Former revisions: … … 165 165 dt_write_particle_data, end_time_prel, initial_weighting_factor,& 166 166 init_aerosol_probabilistic, min_nr_particle, & 167 monodisperse_aerosols, n1, n2, n3, number_of_particle_groups, & 167 monodisperse_aerosols, n1, n2, n3, number_concentration, & 168 number_of_particle_groups, number_particles_per_gridbox, & 168 169 particles_per_point, particle_advection, & 169 170 particle_advection_start, & … … 207 208 init_aerosol_probabilistic, & 208 209 min_nr_particle, monodisperse_aerosols, & 209 n1, n2, n3, number_of_particle_groups, & 210 n1, n2, n3, number_concentration, & 211 number_of_particle_groups, & 212 number_particles_per_gridbox, & 210 213 particles_per_point, & 211 214 particle_advection_start, &
Note: See TracChangeset
for help on using the changeset viewer.