Changeset 680
- Timestamp:
- Feb 4, 2011 11:16:06 PM (14 years ago)
- Location:
- palm/trunk/SOURCE
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/check_parameters.f90
r674 r680 677 677 ENDIF 678 678 679 IF ( TRIM( initializing_actions ) == 'initialize_vortex' .AND. & 680 conserve_volume_flow ) THEN 681 message_string = 'initializing_actions = "initialize_vortex"' // & 682 ' ist not allowed with conserve_volume_flow = .T.' 683 CALL message( 'check_parameters', 'PA0343', 1, 2, 0, 6, 0 ) 684 ENDIF 685 686 679 687 IF ( INDEX( initializing_actions, 'set_constant_profiles' ) /= 0 .AND. & 680 688 INDEX( initializing_actions, 'set_1d-model_profiles' ) /= 0 ) THEN -
palm/trunk/SOURCE/init_3d_model.f90
r674 r680 7 7 ! Current revisions: 8 8 ! ----------------- 9 ! 10 ! gryschka 11 ! bugfix: volume_flow_control 9 12 ! 10 13 ! Former revisions: … … 881 884 882 885 ! 883 !-- Impose random perturbation on the horizontal velocity field and then884 !-- remove the divergences from the velocity field885 IF ( create_disturbances ) THEN886 CALL disturb_field( nzb_u_inner, tend, u )887 CALL disturb_field( nzb_v_inner, tend, v )888 n_sor = nsor_ini889 CALL pres890 n_sor = nsor891 ENDIF892 893 !894 886 !-- Once again set the perturbation pressure explicitly to zero in order to 895 887 !-- assure that it does not generate any divergences in the first time step. … … 1116 1108 1117 1109 ENDIF 1110 1118 1111 ! 1119 1112 !-- Calculate the initial volume flow at the right and north boundary … … 1170 1163 1171 1164 #if defined( __parallel ) 1172 CALL MPI_ALLREDUCE( volume_flow_initial_l(1), volume_flow_initial(1),& 1173 2, MPI_REAL, MPI_SUM, comm2d, ierr ) 1174 CALL MPI_ALLREDUCE( volume_flow_area_l(1), volume_flow_area(1), & 1175 2, MPI_REAL, MPI_SUM, comm2d, ierr ) 1176 1177 CALL MPI_ALLREDUCE( volume_flow_initial_l(2), volume_flow_initial(2),& 1178 2, MPI_REAL, MPI_SUM, comm2d, ierr ) 1179 CALL MPI_ALLREDUCE( volume_flow_area_l(2), volume_flow_area(2), & 1180 2, MPI_REAL, MPI_SUM, comm2d, ierr ) 1165 CALL MPI_ALLREDUCE( volume_flow_initial_l(1), volume_flow_initial(1),& 1166 2, MPI_REAL, MPI_SUM, comm2d, ierr ) 1167 CALL MPI_ALLREDUCE( volume_flow_area_l(1), volume_flow_area(1), & 1168 2, MPI_REAL, MPI_SUM, comm2d, ierr ) 1181 1169 1182 1170 #else 1183 1184 1171 volume_flow_initial = volume_flow_initial_l 1172 volume_flow_area = volume_flow_area_l 1185 1173 #endif 1186 1174 … … 1188 1176 !-- In case of 'bulk_velocity' mode, volume_flow_initial is overridden 1189 1177 !-- and calculated from u|v_bulk instead. 1190 IF ( TRIM( conserve_volume_flow_mode ) == 'bulk_velocity' ) THEN 1191 volume_flow_initial(1) = u_bulk * volume_flow_area(1) 1192 volume_flow_initial(2) = v_bulk * volume_flow_area(2) 1193 ENDIF 1194 1195 ENDIF 1178 IF ( TRIM( conserve_volume_flow_mode ) == 'bulk_velocity' ) THEN 1179 volume_flow_initial(1) = u_bulk * volume_flow_area(1) 1180 volume_flow_initial(2) = v_bulk * volume_flow_area(2) 1181 ENDIF 1182 1183 ENDIF 1184 1185 1186 ! 1187 !-- Impose random perturbation on the horizontal velocity field and then 1188 !-- remove the divergences from the velocity field at the initial stage 1189 IF ( create_disturbances .AND. & 1190 TRIM( initializing_actions ) /= 'read_restart_data' .AND. & 1191 TRIM( initializing_actions ) /= 'cyclic_fill' ) THEN 1192 1193 CALL disturb_field( nzb_u_inner, tend, u ) 1194 CALL disturb_field( nzb_v_inner, tend, v ) 1195 n_sor = nsor_ini 1196 CALL pres 1197 n_sor = nsor 1198 ENDIF 1199 1196 1200 ! 1197 1201 !-- Initialization of the leaf area density 1198 IF ( plant_canopy ) THEN1202 IF ( plant_canopy ) THEN 1199 1203 1200 1204 SELECT CASE ( TRIM( canopy_mode ) ) -
palm/trunk/SOURCE/pres.f90
r676 r680 4 4 ! Current revisions: 5 5 ! ----------------- 6 ! 7 ! gryschka 8 ! bugfix in case of collective_wait 6 9 ! 7 10 ! Former revisions: … … 118 121 ! 119 122 !-- Left/right 123 120 124 IF ( conserve_volume_flow .AND. ( outflow_l .OR. outflow_r ) ) THEN 121 125 … … 138 142 139 143 #if defined( __parallel ) 140 IF ( collective_wait ) CALL MPI_BARRIER( comm 2d, ierr )144 IF ( collective_wait ) CALL MPI_BARRIER( comm1dy, ierr ) 141 145 CALL MPI_ALLREDUCE( volume_flow_l(1), volume_flow(1), 1, MPI_REAL, & 142 146 MPI_SUM, comm1dy, ierr ) … … 177 181 178 182 #if defined( __parallel ) 179 IF ( collective_wait ) CALL MPI_BARRIER( comm 2d, ierr )183 IF ( collective_wait ) CALL MPI_BARRIER( comm1dx, ierr ) 180 184 CALL MPI_ALLREDUCE( volume_flow_l(2), volume_flow(2), 1, MPI_REAL, & 181 185 MPI_SUM, comm1dx, ierr ) … … 547 551 548 552 ENDIF 549 553 print*, "cc" 550 554 ! 551 555 !-- Correction of the provisional velocities with the current perturbation … … 648 652 ENDIF 649 653 654 650 655 ! 651 656 !-- Conserve the volume flow
Note: See TracChangeset
for help on using the changeset viewer.