Changeset 2037 for palm/trunk/SOURCE/poismg_mod.f90
- Timestamp:
- Oct 26, 2016 11:15:40 AM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/poismg_mod.f90
r2022 r2037 20 20 ! Current revisions: 21 21 ! ----------------- 22 ! 22 ! Anelastic approximation implemented (stll error in optimized multigrid) 23 23 ! 24 24 ! Former revisions: … … 262 262 263 263 USE arrays_3d, & 264 ONLY: f1_mg, f2_mg, f3_mg 264 ONLY: f1_mg, f2_mg, f3_mg, rho_air_mg 265 265 266 266 USE control_parameters, & … … 309 309 kp1 = k-ind_even_odd 310 310 r(k,j,i) = f_mg(k,j,i) & 311 - ddx2_mg(l) *&311 - rho_air_mg(k,l) * ddx2_mg(l) * & 312 312 ( p_mg(k,j,i+1) + p_mg(k,j,i-1) ) & 313 - ddy2_mg(l) *&313 - rho_air_mg(k,l) * ddy2_mg(l) * & 314 314 ( p_mg(k,j+1,i) + p_mg(k,j-1,i) ) & 315 315 - f2_mg_b(k,l) * p_mg(kp1,j,i) & … … 322 322 kp1 = k+ind_even_odd+1 323 323 r(k,j,i) = f_mg(k,j,i) & 324 - ddx2_mg(l) *&324 - rho_air_mg(k,l) * ddx2_mg(l) * & 325 325 ( p_mg(k,j,i+1) + p_mg(k,j,i-1) ) & 326 - ddy2_mg(l) *&326 - rho_air_mg(k,l) * ddy2_mg(l) * & 327 327 ( p_mg(k,j+1,i) + p_mg(k,j-1,i) ) & 328 328 - f2_mg_b(k,l) * p_mg(kp1,j,i) & … … 693 693 694 694 USE arrays_3d, & 695 ONLY: f1_mg, f2_mg, f3_mg 695 ONLY: f1_mg, f2_mg, f3_mg, rho_air_mg 696 696 697 697 USE control_parameters, & … … 755 755 kp1 = k-ind_even_odd 756 756 p_mg(k,j,i) = 1.0_wp / f1_mg_b(k,l) * ( & 757 ddx2_mg(l) *&757 rho_air_mg(k,l) * ddx2_mg(l) * & 758 758 ( p_mg(k,j,i+1) + p_mg(k,j,i-1) ) & 759 + ddy2_mg(l) *&759 + rho_air_mg(k,l) * ddy2_mg(l) * & 760 760 ( p_mg(k,j+1,i) + p_mg(k,j-1,i) ) & 761 761 + f2_mg_b(k,l) * p_mg(kp1,j,i) & … … 774 774 kp1 = k-ind_even_odd 775 775 p_mg(k,j,i) = 1.0_wp / f1_mg_b(k,l) * ( & 776 ddx2_mg(l) *&776 rho_air_mg(k,l) * ddx2_mg(l) * & 777 777 ( p_mg(k,j,i+1) + p_mg(k,j,i-1) ) & 778 + ddy2_mg(l) *&778 + rho_air_mg(k,l) * ddy2_mg(l) * & 779 779 ( p_mg(k,j+1,i) + p_mg(k,j-1,i) ) & 780 780 + f2_mg_b(k,l) * p_mg(kp1,j,i) & … … 793 793 kp1 = k+ind_even_odd+1 794 794 p_mg(k,j,i) = 1.0_wp / f1_mg_b(k,l) * ( & 795 ddx2_mg(l) *&795 rho_air_mg(k,l) * ddx2_mg(l) * & 796 796 ( p_mg(k,j,i+1) + p_mg(k,j,i-1) ) & 797 + ddy2_mg(l) *&797 + rho_air_mg(k,l) * ddy2_mg(l) * & 798 798 ( p_mg(k,j+1,i) + p_mg(k,j-1,i) ) & 799 799 + f2_mg_b(k,l) * p_mg(kp1,j,i) & … … 812 812 kp1 = k+ind_even_odd+1 813 813 p_mg(k,j,i) = 1.0_wp / f1_mg_b(k,l) * ( & 814 ddx2_mg(l) *&814 rho_air_mg(k,l) * ddx2_mg(l) * & 815 815 ( p_mg(k,j,i+1) + p_mg(k,j,i-1) ) & 816 + ddy2_mg(l) *&816 + rho_air_mg(k,l) * ddy2_mg(l) * & 817 817 ( p_mg(k,j+1,i) + p_mg(k,j-1,i) ) & 818 818 + f2_mg_b(k,l) * p_mg(kp1,j,i) & … … 843 843 j = jj 844 844 p_mg(k,j,i) = 1.0_wp / f1_mg_b(k,l) * ( & 845 ddx2_mg(l) *&845 rho_air_mg(k,l) * ddx2_mg(l) * & 846 846 ( p_mg(k,j,i+1) + p_mg(k,j,i-1) ) & 847 + ddy2_mg(l) *&847 + rho_air_mg(k,l) * ddy2_mg(l) * & 848 848 ( p_mg(k,j+1,i) + p_mg(k,j-1,i) ) & 849 849 + f2_mg_b(k,l) * p_mg(kp1,j,i) & … … 852 852 j = jj+2 853 853 p_mg(k,j,i) = 1.0_wp / f1_mg_b(k,l) * ( & 854 ddx2_mg(l) *&854 rho_air_mg(k,l) * ddx2_mg(l) * & 855 855 ( p_mg(k,j,i+1) + p_mg(k,j,i-1) ) & 856 + ddy2_mg(l) *&856 + rho_air_mg(k,l) * ddy2_mg(l) * & 857 857 ( p_mg(k,j+1,i) + p_mg(k,j-1,i) ) & 858 858 + f2_mg_b(k,l) * p_mg(kp1,j,i) & … … 869 869 j = jj 870 870 p_mg(k,j,i) = 1.0_wp / f1_mg_b(k,l) * ( & 871 ddx2_mg(l) *&871 rho_air_mg(k,l) * ddx2_mg(l) * & 872 872 ( p_mg(k,j,i+1) + p_mg(k,j,i-1) ) & 873 + ddy2_mg(l) *&873 + rho_air_mg(k,l) * ddy2_mg(l) * & 874 874 ( p_mg(k,j+1,i) + p_mg(k,j-1,i) ) & 875 875 + f2_mg_b(k,l) * p_mg(kp1,j,i) & … … 878 878 j = jj+2 879 879 p_mg(k,j,i) = 1.0_wp / f1_mg_b(k,l) * ( & 880 ddx2_mg(l) *&880 rho_air_mg(k,l) * ddx2_mg(l) * & 881 881 ( p_mg(k,j,i+1) + p_mg(k,j,i-1) ) & 882 + ddy2_mg(l) *&882 + rho_air_mg(k,l) * ddy2_mg(l) * & 883 883 ( p_mg(k,j+1,i) + p_mg(k,j-1,i) ) & 884 884 + f2_mg_b(k,l) * p_mg(kp1,j,i) & … … 895 895 j = jj 896 896 p_mg(k,j,i) = 1.0_wp / f1_mg_b(k,l) * ( & 897 ddx2_mg(l) *&897 rho_air_mg(k,l) * ddx2_mg(l) * & 898 898 ( p_mg(k,j,i+1) + p_mg(k,j,i-1) ) & 899 + ddy2_mg(l) *&899 + rho_air_mg(k,l) * ddy2_mg(l) * & 900 900 ( p_mg(k,j+1,i) + p_mg(k,j-1,i) ) & 901 901 + f2_mg_b(k,l) * p_mg(kp1,j,i) & … … 904 904 j = jj+2 905 905 p_mg(k,j,i) = 1.0_wp / f1_mg_b(k,l) * ( & 906 ddx2_mg(l) *&906 rho_air_mg(k,l) * ddx2_mg(l) * & 907 907 ( p_mg(k,j,i+1) + p_mg(k,j,i-1) ) & 908 + ddy2_mg(l) *&908 + rho_air_mg(k,l) * ddy2_mg(l) * & 909 909 ( p_mg(k,j+1,i) + p_mg(k,j-1,i) ) & 910 910 + f2_mg_b(k,l) * p_mg(kp1,j,i) & … … 921 921 j = jj 922 922 p_mg(k,j,i) = 1.0_wp / f1_mg_b(k,l) * ( & 923 ddx2_mg(l) *&923 rho_air_mg(k,l) * ddx2_mg(l) * & 924 924 ( p_mg(k,j,i+1) + p_mg(k,j,i-1) ) & 925 + ddy2_mg(l) *&925 + rho_air_mg(k,l) * ddy2_mg(l) * & 926 926 ( p_mg(k,j+1,i) + p_mg(k,j-1,i) ) & 927 927 + f2_mg_b(k,l) * p_mg(kp1,j,i) & … … 930 930 j = jj+2 931 931 p_mg(k,j,i) = 1.0_wp / f1_mg_b(k,l) * ( & 932 ddx2_mg(l) *&932 rho_air_mg(k,l) * ddx2_mg(l) * & 933 933 ( p_mg(k,j,i+1) + p_mg(k,j,i-1) ) & 934 + ddy2_mg(l) *&934 + rho_air_mg(k,l) * ddy2_mg(l) * & 935 935 ( p_mg(k,j+1,i) + p_mg(k,j-1,i) ) & 936 936 + f2_mg_b(k,l) * p_mg(kp1,j,i) &
Note: See TracChangeset
for help on using the changeset viewer.