Changeset 2037 for palm/trunk/SOURCE/sor.f90
- Timestamp:
- Oct 26, 2016 11:15:40 AM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/sor.f90
r2001 r2037 20 20 ! Current revisions: 21 21 ! ----------------- 22 ! 22 ! Anelastic approximation implemented 23 23 ! 24 24 ! Former revisions: … … 59 59 !------------------------------------------------------------------------------! 60 60 SUBROUTINE sor( d, ddzu, ddzw, p ) 61 61 62 USE arrays_3d, & 63 ONLY: rho_air, rho_air_zw 62 64 63 65 USE grid_variables, & … … 101 103 !-- Compute pre-factors. 102 104 DO k = 1, nz 103 f2(k) = ddzu(k+1) * ddzw(k) 104 f3(k) = ddzu(k) * ddzw(k) 105 f1(k) = 2.0_wp * ( ddx2 + ddy2 ) + f2(k) + f3(k)105 f2(k) = ddzu(k+1) * ddzw(k) * rho_air_zw(k) 106 f3(k) = ddzu(k) * ddzw(k) * rho_air_zw(k-1) 107 f1(k) = 2.0_wp * ( ddx2 + ddy2 ) * rho_air(k) + f2(k) + f3(k) 106 108 ENDDO 107 109 … … 131 133 DO k = nzb+1, nzt 132 134 p(k,j,i) = p(k,j,i) + omega_sor / f1(k) * ( & 133 ddx2 * ( p(k,j,i+1) + p(k,j,i-1) ) +&134 ddy2 * ( p(k,j+1,i) + p(k,j-1,i) ) +&135 f2(k) * p(k+1,j,i) +&136 f3(k) * p(k-1,j,i) -&137 d(k,j,i) -&138 135 rho_air(k) * ddx2 * ( p(k,j,i+1) + p(k,j,i-1) ) + & 136 rho_air(k) * ddy2 * ( p(k,j+1,i) + p(k,j-1,i) ) + & 137 f2(k) * p(k+1,j,i) + & 138 f3(k) * p(k-1,j,i) - & 139 d(k,j,i) - & 140 f1(k) * p(k,j,i) ) 139 141 ENDDO 140 142 ENDDO … … 144 146 DO j = nys1, nyn, 2 145 147 DO k = nzb+1, nzt 146 p(k,j,i) = p(k,j,i) + omega_sor / f1(k) * ( &147 ddx2 * ( p(k,j,i+1) + p(k,j,i-1) ) +&148 ddy2 * ( p(k,j+1,i) + p(k,j-1,i) ) +&149 f2(k) * p(k+1,j,i) +&150 f3(k) * p(k-1,j,i) -&151 d(k,j,i) -&152 148 p(k,j,i) = p(k,j,i) + omega_sor / f1(k) * ( & 149 rho_air(k) * ddx2 * ( p(k,j,i+1) + p(k,j,i-1) ) + & 150 rho_air(k) * ddy2 * ( p(k,j+1,i) + p(k,j-1,i) ) + & 151 f2(k) * p(k+1,j,i) + & 152 f3(k) * p(k-1,j,i) - & 153 d(k,j,i) - & 154 f1(k) * p(k,j,i) ) 153 155 ENDDO 154 156 ENDDO … … 176 178 DO k = nzb+1, nzt 177 179 p(k,j,i) = p(k,j,i) + omega_sor / f1(k) * ( & 178 ddx2 * ( p(k,j,i+1) + p(k,j,i-1) ) +&179 ddy2 * ( p(k,j+1,i) + p(k,j-1,i) ) +&180 f2(k) * p(k+1,j,i) +&181 f3(k) * p(k-1,j,i) -&182 d(k,j,i) -&183 180 rho_air(k) * ddx2 * ( p(k,j,i+1) + p(k,j,i-1) ) + & 181 rho_air(k) * ddy2 * ( p(k,j+1,i) + p(k,j-1,i) ) + & 182 f2(k) * p(k+1,j,i) + & 183 f3(k) * p(k-1,j,i) - & 184 d(k,j,i) - & 185 f1(k) * p(k,j,i) ) 184 186 ENDDO 185 187 ENDDO … … 190 192 DO k = nzb+1, nzt 191 193 p(k,j,i) = p(k,j,i) + omega_sor / f1(k) * ( & 192 ddx2 * ( p(k,j,i+1) + p(k,j,i-1) ) +&193 ddy2 * ( p(k,j+1,i) + p(k,j-1,i) ) +&194 f2(k) * p(k+1,j,i) +&195 f3(k) * p(k-1,j,i) -&196 d(k,j,i) -&197 194 rho_air(k) * ddx2 * ( p(k,j,i+1) + p(k,j,i-1) ) + & 195 rho_air(k) * ddy2 * ( p(k,j+1,i) + p(k,j-1,i) ) + & 196 f2(k) * p(k+1,j,i) + & 197 f3(k) * p(k-1,j,i) - & 198 d(k,j,i) - & 199 f1(k) * p(k,j,i) ) 198 200 ENDDO 199 201 ENDDO
Note: See TracChangeset
for help on using the changeset viewer.