Changeset 4444 for palm/trunk/SOURCE/lagrangian_particle_model_mod.f90
- Timestamp:
- Mar 5, 2020 3:59:50 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/lagrangian_particle_model_mod.f90
r4430 r4444 25 25 ! ----------------- 26 26 ! $Id$ 27 ! bugfix: cpp-directives for serial mode added 28 ! 29 ! 4430 2020-02-27 18:02:20Z suehring 27 30 ! - Bugfix in logarithmic interpolation of near-ground particle speed (density 28 31 ! was not considered). … … 175 178 USE particle_attributes 176 179 180 #if defined( __parallel ) 177 181 USE pmc_particle_interface, & 178 182 ONLY: pmcp_c_get_particle_from_parent, pmcp_p_fill_particle_win, & … … 180 184 pmcp_p_delete_particles_in_fine_grid_area, pmcp_g_init, & 181 185 pmcp_g_print_number_of_particles 186 #endif 182 187 183 188 USE pmc_interface, & … … 307 312 308 313 INTEGER(iwp), PARAMETER :: NR_2_direction_move = 10000 !< 314 315 #if defined( __parallel ) 309 316 INTEGER(iwp) :: nr_move_north !< 310 317 INTEGER(iwp) :: nr_move_south !< … … 312 319 TYPE(particle_type), DIMENSION(:), ALLOCATABLE :: move_also_north 313 320 TYPE(particle_type), DIMENSION(:), ALLOCATABLE :: move_also_south 321 #endif 314 322 315 323 REAL(wp) :: epsilon_collision !< … … 1234 1242 ENDIF 1235 1243 1244 #if defined( __parallel ) 1236 1245 IF ( nested_run ) CALL pmcp_g_init 1246 #endif 1247 1237 1248 ! 1238 1249 !-- To avoid programm abort, assign particles array to the local version of … … 2263 2274 first_loop_stride = .FALSE. 2264 2275 ENDDO ! timestep loop 2276 2277 #if defined( __parallel ) 2265 2278 ! 2266 2279 !-- in case of nested runs do the transfer of particles after every full model time step … … 2274 2287 deleted_particles = 0 2275 2288 ENDIF 2289 #endif 2276 2290 2277 2291 ! … … 2341 2355 END SUBROUTINE lpm_actions 2342 2356 2357 2358 #if defined( __parallel ) 2359 !------------------------------------------------------------------------------! 2360 ! Description: 2361 ! ------------ 2362 ! 2363 !------------------------------------------------------------------------------! 2364 SUBROUTINE particles_from_parent_to_child 2365 2366 CALL pmcp_c_get_particle_from_parent ! Child actions 2367 CALL pmcp_p_fill_particle_win ! Parent actions 2368 2369 RETURN 2370 2371 END SUBROUTINE particles_from_parent_to_child 2372 2343 2373 2344 2374 !------------------------------------------------------------------------------! … … 2347 2377 ! 2348 2378 !------------------------------------------------------------------------------! 2349 SUBROUTINE particles_from_parent_to_child2350 2351 CALL pmcp_c_get_particle_from_parent ! Child actions2352 CALL pmcp_p_fill_particle_win ! Parent actions2353 2354 RETURN2355 2356 END SUBROUTINE particles_from_parent_to_child2357 2358 2359 !------------------------------------------------------------------------------!2360 ! Description:2361 ! ------------2362 !2363 !------------------------------------------------------------------------------!2364 2379 SUBROUTINE particles_from_child_to_parent 2365 2380 … … 2370 2385 2371 2386 END SUBROUTINE particles_from_child_to_parent 2387 #endif 2372 2388 2373 2389 !------------------------------------------------------------------------------! … … 2421 2437 #endif 2422 2438 2439 #if defined( __parallel ) 2423 2440 IF ( nested_run ) THEN 2424 2441 CALL pmcp_g_print_number_of_particles( simulated_time+dt_3d, & 2425 2442 tot_number_of_particles) 2426 2443 ENDIF 2444 #endif 2427 2445 2428 2446 ! … … 6973 6991 SUBROUTINE lpm_exchange_horiz 6974 6992 6975 INTEGER(iwp) :: i !< grid index (x) of particle positition6976 6993 INTEGER(iwp) :: ip !< index variable along x 6977 INTEGER(iwp) :: j !< grid index (y) of particle positition6978 6994 INTEGER(iwp) :: jp !< index variable along y 6979 6995 INTEGER(iwp) :: kp !< index variable along z 6980 6996 INTEGER(iwp) :: n !< particle index variable 6997 6998 #if defined( __parallel ) 6999 INTEGER(iwp) :: i !< grid index (x) of particle positition 7000 INTEGER(iwp) :: j !< grid index (y) of particle positition 6981 7001 INTEGER(iwp) :: par_size !< Particle size in bytes 6982 7002 INTEGER(iwp) :: trlp_count !< number of particles send to left PE … … 6997 7017 TYPE(particle_type), DIMENSION(:), ALLOCATABLE :: trrp !< particles send to right PE 6998 7018 TYPE(particle_type), DIMENSION(:), ALLOCATABLE :: trsp !< particles send to south PE 7019 #endif 6999 7020 7000 7021 CALL cpu_log( log_point_s(23), 'lpm_exchange_horiz', 'start' ) … … 7614 7635 END SUBROUTINE lpm_exchange_horiz 7615 7636 7637 #if defined( __parallel ) 7616 7638 !------------------------------------------------------------------------------! 7617 7639 ! Description: … … 7773 7795 ENDDO 7774 7796 7775 RETURN7776 7777 7797 END SUBROUTINE lpm_add_particles_to_gridcell 7798 #endif 7778 7799 7779 7800
Note: See TracChangeset
for help on using the changeset viewer.