[599] | 1 | !-------------------------------------------------------------------------- |
---|
| 2 | !---------------------------- wind_centered ---------------------------------- |
---|
| 3 | ! Perot reconstruction based on Gauss theorem |
---|
| 4 | ! u = sum( u.edge_normal * edge_length * (edge_midpoint-cell_centroid) ) /cell_area |
---|
| 5 | DO l = ll_begin, ll_end |
---|
| 6 | !DIR$ SIMD |
---|
| 7 | DO ij=ij_begin, ij_end |
---|
| 8 | cx=centroid(ij,1) |
---|
| 9 | cy=centroid(ij,2) |
---|
| 10 | cz=centroid(ij,3) |
---|
| 11 | ux=0. ; uy=0. ; uz=0. |
---|
| 12 | ue_le = ne_rup*ue(ij+u_rup,l)*le(ij+u_rup) |
---|
| 13 | ux = ux + ue_le*(.5*(xyz_v(ij+z_rup,1)+xyz_v(ij+z_up,1))-cx) |
---|
| 14 | uy = uy + ue_le*(.5*(xyz_v(ij+z_rup,2)+xyz_v(ij+z_up,2))-cy) |
---|
| 15 | uz = uz + ue_le*(.5*(xyz_v(ij+z_rup,3)+xyz_v(ij+z_up,3))-cz) |
---|
| 16 | ue_le = ne_lup*ue(ij+u_lup,l)*le(ij+u_lup) |
---|
| 17 | ux = ux + ue_le*(.5*(xyz_v(ij+z_lup,1)+xyz_v(ij+z_up,1))-cx) |
---|
| 18 | uy = uy + ue_le*(.5*(xyz_v(ij+z_lup,2)+xyz_v(ij+z_up,2))-cy) |
---|
| 19 | uz = uz + ue_le*(.5*(xyz_v(ij+z_lup,3)+xyz_v(ij+z_up,3))-cz) |
---|
| 20 | ue_le = ne_left*ue(ij+u_left,l)*le(ij+u_left) |
---|
| 21 | ux = ux + ue_le*(.5*(xyz_v(ij+z_lup,1)+xyz_v(ij+z_ldown,1))-cx) |
---|
| 22 | uy = uy + ue_le*(.5*(xyz_v(ij+z_lup,2)+xyz_v(ij+z_ldown,2))-cy) |
---|
| 23 | uz = uz + ue_le*(.5*(xyz_v(ij+z_lup,3)+xyz_v(ij+z_ldown,3))-cz) |
---|
| 24 | ue_le = ne_ldown*ue(ij+u_ldown,l)*le(ij+u_ldown) |
---|
| 25 | ux = ux + ue_le*(.5*(xyz_v(ij+z_ldown,1)+xyz_v(ij+z_down,1))-cx) |
---|
| 26 | uy = uy + ue_le*(.5*(xyz_v(ij+z_ldown,2)+xyz_v(ij+z_down,2))-cy) |
---|
| 27 | uz = uz + ue_le*(.5*(xyz_v(ij+z_ldown,3)+xyz_v(ij+z_down,3))-cz) |
---|
| 28 | ue_le = ne_rdown*ue(ij+u_rdown,l)*le(ij+u_rdown) |
---|
| 29 | ux = ux + ue_le*(.5*(xyz_v(ij+z_rdown,1)+xyz_v(ij+z_down,1))-cx) |
---|
| 30 | uy = uy + ue_le*(.5*(xyz_v(ij+z_rdown,2)+xyz_v(ij+z_down,2))-cy) |
---|
| 31 | uz = uz + ue_le*(.5*(xyz_v(ij+z_rdown,3)+xyz_v(ij+z_down,3))-cz) |
---|
| 32 | ue_le = ne_right*ue(ij+u_right,l)*le(ij+u_right) |
---|
| 33 | ux = ux + ue_le*(.5*(xyz_v(ij+z_rup,1)+xyz_v(ij+z_rdown,1))-cx) |
---|
| 34 | uy = uy + ue_le*(.5*(xyz_v(ij+z_rup,2)+xyz_v(ij+z_rdown,2))-cy) |
---|
| 35 | uz = uz + ue_le*(.5*(xyz_v(ij+z_rup,3)+xyz_v(ij+z_rdown,3))-cz) |
---|
| 36 | fac = scale*(1./Ai(ij)) |
---|
| 37 | ucenter(ij,l,1)=ux*fac |
---|
| 38 | ucenter(ij,l,2)=uy*fac |
---|
| 39 | ucenter(ij,l,3)=uz*fac |
---|
| 40 | END DO |
---|
| 41 | END DO |
---|
| 42 | !---------------------------- wind_centered ---------------------------------- |
---|
| 43 | !-------------------------------------------------------------------------- |
---|