Changeset 4697 for palm/trunk
- Timestamp:
- Sep 25, 2020 8:24:29 AM (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/advec_ws.f90
r4581 r4697 19 19 ! Current revisions: 20 20 ! ------------------ 21 ! 22 ! 21 ! 22 ! 23 23 ! Former revisions: 24 24 ! ----------------- 25 25 ! $Id$ 26 ! To avoid numerical oscillations which may lead to a built-up of passive scalar near non-cyclic 27 ! boundaries, employ a first-order scheme at the 3 grid points next to the boundary for passive 28 ! scalars 29 ! 30 ! 4581 2020-06-29 08:49:58Z suehring 26 31 ! Enable output of resolved-scale vertical fluxes of chemical species. 27 32 ! … … 1043 1048 1044 1049 ! 1045 !-- Near lateral boundary flags might be overwritten. Set them again. 1050 !-- Near lateral boundaries set the flags again. In order to avoid strong numerical 1051 !-- oscillations near the boundaries, which may lead to scalar built-up, also employ 1052 !-- extended degradation zones here. 1046 1053 !-- x-direction 1047 IF ( ( non_cyclic_l .AND. i == 0) .OR. &1048 ( non_cyclic_r .AND. i == nx) ) THEN1054 IF ( ( non_cyclic_l .AND. i <= 3 ) .OR. & 1055 ( non_cyclic_r .AND. i >= nx-3 ) ) THEN 1049 1056 advc_flag(k,j,i) = IBCLR( advc_flag(k,j,i), 0 ) 1050 1057 advc_flag(k,j,i) = IBCLR( advc_flag(k,j,i), 1 ) … … 1054 1061 ENDIF 1055 1062 1056 IF ( ( non_cyclic_l .AND. i == 1) .OR. &1057 ( non_cyclic_r .AND. i == nx- 1) ) THEN1063 IF ( ( non_cyclic_l .AND. i == 4 ) .OR. & 1064 ( non_cyclic_r .AND. i == nx-4 ) ) THEN 1058 1065 advc_flag(k,j,i) = IBCLR( advc_flag(k,j,i), 0 ) 1059 1066 advc_flag(k,j,i) = IBCLR( advc_flag(k,j,i), 1 ) … … 1064 1071 ! 1065 1072 !-- y-direction 1066 IF ( ( non_cyclic_n .AND. j == 0) .OR. &1067 ( non_cyclic_s .AND. j == ny) ) THEN1073 IF ( ( non_cyclic_n .AND. j <= 3 ) .OR. & 1074 ( non_cyclic_s .AND. j >= ny-3 ) ) THEN 1068 1075 advc_flag(k,j,i) = IBCLR( advc_flag(k,j,i), 3 ) 1069 1076 advc_flag(k,j,i) = IBCLR( advc_flag(k,j,i), 4 ) … … 1073 1080 ENDIF 1074 1081 1075 IF ( ( non_cyclic_n .AND. j == 1) .OR. &1076 ( non_cyclic_s .AND. j == ny- 1) ) THEN1082 IF ( ( non_cyclic_n .AND. j == 4 ) .OR. & 1083 ( non_cyclic_s .AND. j == ny-4 ) ) THEN 1077 1084 advc_flag(k,j,i) = IBCLR( advc_flag(k,j,i), 3 ) 1078 1085 advc_flag(k,j,i) = IBCLR( advc_flag(k,j,i), 4 ) … … 1083 1090 1084 1091 ENDIF 1085 1086 1087 1092 ! 1088 1093 !-- scalar - z-direction. Fluxes are calculated on w-grid level. Boundary values at/within
Note: See TracChangeset
for help on using the changeset viewer.