@@ -67,7 +67,7 @@ def states(idir, ng, dx, dt,
6767 Are we predicting to the edges in the x-direction (1) or y-direction (2)?
6868 ng : int
6969 The number of ghost cells
70- dx : float
70+ dx : ndarray
7171 The cell spacing
7272 dt : float
7373 The timestep
@@ -133,13 +133,13 @@ def states(idir, ng, dx, dt,
133133 q [irho ] / cs , 0.0 , 0.5 / (cs * cs )]
134134 lvec [1 , :ns ] = [1.0 , 0.0 ,
135135 0.0 , - 1.0 / (cs * cs )]
136- lvec [2 , :ns ] = [0.0 , 0.0 , 1.0 , 0.0 ]
136+ lvec [2 , :ns ] = [0.0 , 0.0 , 1.0 , 0.0 ]
137137 lvec [3 , :ns ] = [0.0 , 0.5 *
138138 q [irho ] / cs , 0.0 , 0.5 / (cs * cs )]
139139
140140 rvec [0 , :ns ] = [1.0 , - cs / q [irho ], 0.0 , cs * cs ]
141- rvec [1 , :ns ] = [1.0 , 0.0 , 0.0 , 0.0 ]
142- rvec [2 , :ns ] = [0.0 , 0.0 , 1.0 , 0.0 ]
141+ rvec [1 , :ns ] = [1.0 , 0.0 , 0.0 , 0.0 ]
142+ rvec [2 , :ns ] = [0.0 , 0.0 , 1.0 , 0.0 ]
143143 rvec [3 , :ns ] = [1.0 , cs / q [irho ], 0.0 , cs * cs ]
144144
145145 # now the species -- they only have a 1 in their corresponding slot
@@ -174,29 +174,30 @@ def states(idir, ng, dx, dt,
174174 if idir == 1 :
175175 # this is one the right face of the current zone,
176176 # so the fastest moving eigenvalue is e_val[3] = u + c
177- factor = 0.5 * (1.0 - dtdx * max (e_val [3 ], 0.0 ))
177+ factor = 0.5 * (1.0 - dtdx [ i , j ] * max (e_val [3 ], 0.0 ))
178178 q_l [i + 1 , j , :] = q + factor * dq
179179
180180 # left face of the current zone, so the fastest moving
181181 # eigenvalue is e_val[3] = u - c
182- factor = 0.5 * (1.0 + dtdx * min (e_val [0 ], 0.0 ))
182+ factor = 0.5 * (1.0 + dtdx [ i , j ] * min (e_val [0 ], 0.0 ))
183183 q_r [i , j , :] = q - factor * dq
184184
185185 else :
186186
187- factor = 0.5 * (1.0 - dtdx * max (e_val [3 ], 0.0 ))
187+ factor = 0.5 * (1.0 - dtdx [ i , j ] * max (e_val [3 ], 0.0 ))
188188 q_l [i , j + 1 , :] = q + factor * dq
189189
190- factor = 0.5 * (1.0 + dtdx * min (e_val [0 ], 0.0 ))
190+ factor = 0.5 * (1.0 + dtdx [ i , j ] * min (e_val [0 ], 0.0 ))
191191 q_r [i , j , :] = q - factor * dq
192192
193193 # compute the Vhat functions
194194 for m in range (nvar ):
195195 asum = np .dot (lvec [m , :], dq )
196196
197- betal [m ] = dtdx4 * (e_val [3 ] - e_val [m ]) * \
197+ # Should we change to max(e_val[3], 0.0) and min(e_val[0], 0.0)?
198+ betal [m ] = dtdx4 [i , j ] * (e_val [3 ] - e_val [m ]) * \
198199 (np .copysign (1.0 , e_val [m ]) + 1.0 ) * asum
199- betar [m ] = dtdx4 * (e_val [0 ] - e_val [m ]) * \
200+ betar [m ] = dtdx4 [ i , j ] * (e_val [0 ] - e_val [m ]) * \
200201 (1.0 - np .copysign (1.0 , e_val [m ])) * asum
201202
202203 # construct the states
0 commit comments