Changeset 927 for palm/trunk/SOURCE/init_grid.f90
- Timestamp:
- Jun 6, 2012 7:15:04 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/init_grid.f90
r865 r927 4 4 ! Current revisions: 5 5 ! ----------------- 6 ! 6 ! Wall flags are not set for multigrid method in case of masking method 7 7 ! 8 8 ! Former revisions: … … 11 11 ! 12 12 ! 864 2012-03-27 15:10:33Z gryschka 13 ! In case of ocean and dirichlet bc for u and v at the ground14 ! dzu_mg and ddzu_pres where not defined correctlyfor k=1.13 ! In case of ocean and Dirichlet bottom bc for u and v dzu_mg and ddzu_pres 14 ! were not correctly defined for k=1. 15 15 ! 16 16 ! 861 2012-03-26 14:18:34Z suehring … … 992 992 flags = 0 993 993 994 DO i = nxl_l-1, nxr_l+1 995 DO j = nys_l-1, nyn_l+1 996 DO k = nzb, nzt_l+1 994 ! 995 !-- In case of masking method, flags are not set and multigrid method 996 !-- works like FFT-solver 997 IF ( .NOT. masking_method ) THEN 998 999 DO i = nxl_l-1, nxr_l+1 1000 DO j = nys_l-1, nyn_l+1 1001 DO k = nzb, nzt_l+1 997 1002 998 1003 ! 999 !-- Inside/outside building (inside building does not need 1000 !-- further tests for walls) 1001 IF ( k*inc <= nzb_local(j*inc,i*inc) ) THEN 1002 1003 flags(k,j,i) = IBSET( flags(k,j,i), 6 ) 1004 1005 ELSE 1006 ! 1007 !-- Bottom wall 1008 IF ( (k-1)*inc <= nzb_local(j*inc,i*inc) ) THEN 1009 flags(k,j,i) = IBSET( flags(k,j,i), 0 ) 1004 !-- Inside/outside building (inside building does not need 1005 !-- further tests for walls) 1006 IF ( k*inc <= nzb_local(j*inc,i*inc) ) THEN 1007 1008 flags(k,j,i) = IBSET( flags(k,j,i), 6 ) 1009 1010 ELSE 1011 ! 1012 !-- Bottom wall 1013 IF ( (k-1)*inc <= nzb_local(j*inc,i*inc) ) THEN 1014 flags(k,j,i) = IBSET( flags(k,j,i), 0 ) 1015 ENDIF 1016 ! 1017 !-- South wall 1018 IF ( k*inc <= nzb_local((j-1)*inc,i*inc) ) THEN 1019 flags(k,j,i) = IBSET( flags(k,j,i), 2 ) 1020 ENDIF 1021 ! 1022 !-- North wall 1023 IF ( k*inc <= nzb_local((j+1)*inc,i*inc) ) THEN 1024 flags(k,j,i) = IBSET( flags(k,j,i), 3 ) 1025 ENDIF 1026 ! 1027 !-- Left wall 1028 IF ( k*inc <= nzb_local(j*inc,(i-1)*inc) ) THEN 1029 flags(k,j,i) = IBSET( flags(k,j,i), 4 ) 1030 ENDIF 1031 ! 1032 !-- Right wall 1033 IF ( k*inc <= nzb_local(j*inc,(i+1)*inc) ) THEN 1034 flags(k,j,i) = IBSET( flags(k,j,i), 5 ) 1035 ENDIF 1036 1010 1037 ENDIF 1011 !1012 !-- South wall1013 IF ( k*inc <= nzb_local((j-1)*inc,i*inc) ) THEN1014 flags(k,j,i) = IBSET( flags(k,j,i), 2 )1015 ENDIF1016 !1017 !-- North wall1018 IF ( k*inc <= nzb_local((j+1)*inc,i*inc) ) THEN1019 flags(k,j,i) = IBSET( flags(k,j,i), 3 )1020 ENDIF1021 !1022 !-- Left wall1023 IF ( k*inc <= nzb_local(j*inc,(i-1)*inc) ) THEN1024 flags(k,j,i) = IBSET( flags(k,j,i), 4 )1025 ENDIF1026 !1027 !-- Right wall1028 IF ( k*inc <= nzb_local(j*inc,(i+1)*inc) ) THEN1029 flags(k,j,i) = IBSET( flags(k,j,i), 5 )1030 ENDIF1031 1032 ENDIF1033 1038 1039 ENDDO 1034 1040 ENDDO 1035 1041 ENDDO 1036 ENDDO 1042 1043 ENDIF 1037 1044 1038 1045 !
Note: See TracChangeset
for help on using the changeset viewer.