if
A-+ I
J 1
-
< 0
J
J
260
5. Finite-Volume Methods
5.4.2 The Zalesak Corrector
Zalesak (1979) noted that the preceding algorithm limits each antidiffusive flux
without considering the action of the antidiffusive fluxes at neighboring grid points
and that this can lead to an unnecessarily large reduction in the antidiffusive flux .
For example, although the antidiffusive flux shown in the left panel of Fig. 5.9
will tend to decrease f/Jj, this decrease is Iikely to be partly compensated by an
up-gradient antidiffusive flux directed from grid point j - 1 into grid point j .
Zalesak proposed the following algorithm, which considers the net effect of both
antidiffusive fluxes in order to minimize the correction to those fluxes and thereby
keep the algorithm as close as possible to that which would be obtained using the
higher-order scheme.
1. As an optional preliminary step , set certain down -gradient antidiffusive
fluxes to zero, such that
and either Aj+! (f/Jr+2 -
< 0
or
Ai+! (f/Jjd -
< O.
(5.28)
Zalesak refers to this as a cosmetic correction, and it is usually omitted. This
cosmetic correction has, nevertheless, been used in the FCT computations
shown in this chapter. It has no effect on the solution shown in Fig. 5.lOa,
makes a minor improvement in the solution shown in Fig. 5.1Ob, and makes
a major improvement in the solution shown in Fig . 5.13b.
2. Evaluate the range of permissible values for f/J' J+ I:
A,max
(A,n »» »» A,ld A,ld A,ld )
'f'j
=max 'f'j_I ''f'j''f'j+I''f'j_I''f'j''f'j+1 '
A,min
. (A,n »» »» A,ld A,ld A,ld )
'f'j
=mIn 'f'j_I''f'j''f'j+I''f'j_I''f'j ''f'j+1 .
If the flow is nondivergent, the f/Jld are not needed in the preceding formulae
because the extrema predicted by the monotone scheme will be of lower
amplitude than those at the beginning of the time step. If, however, the flow
is divergent, then the local minima and maxima in the true solution may be
increasing, and the increase predicted by the monotone scheme should be
considered in determining f/Jmax and f/Jmin .
3. Compute the sum of all antidiffusive fluxes into grid point j,
Pt = max (0, Aj_!) - min (0, Ai+!) '
4. Compute the maximum net antidiffusive flux that will preserve f/J'J+I <
J
A-+ I
J 1
-
< 0
J
J
260
5. Finite-Volume Methods
5.4.2 The Zalesak Corrector
Zalesak (1979) noted that the preceding algorithm limits each antidiffusive flux
without considering the action of the antidiffusive fluxes at neighboring grid points
and that this can lead to an unnecessarily large reduction in the antidiffusive flux .
For example, although the antidiffusive flux shown in the left panel of Fig. 5.9
will tend to decrease f/Jj, this decrease is Iikely to be partly compensated by an
up-gradient antidiffusive flux directed from grid point j - 1 into grid point j .
Zalesak proposed the following algorithm, which considers the net effect of both
antidiffusive fluxes in order to minimize the correction to those fluxes and thereby
keep the algorithm as close as possible to that which would be obtained using the
higher-order scheme.
1. As an optional preliminary step , set certain down -gradient antidiffusive
fluxes to zero, such that
and either Aj+! (f/Jr+2 -
< 0
or
Ai+! (f/Jjd -
< O.
(5.28)
Zalesak refers to this as a cosmetic correction, and it is usually omitted. This
cosmetic correction has, nevertheless, been used in the FCT computations
shown in this chapter. It has no effect on the solution shown in Fig. 5.lOa,
makes a minor improvement in the solution shown in Fig. 5.1Ob, and makes
a major improvement in the solution shown in Fig . 5.13b.
2. Evaluate the range of permissible values for f/J' J+ I:
A,max
(A,n »» »» A,ld A,ld A,ld )
'f'j
=max 'f'j_I ''f'j''f'j+I''f'j_I''f'j''f'j+1 '
A,min
. (A,n »» »» A,ld A,ld A,ld )
'f'j
=mIn 'f'j_I''f'j''f'j+I''f'j_I''f'j ''f'j+1 .
If the flow is nondivergent, the f/Jld are not needed in the preceding formulae
because the extrema predicted by the monotone scheme will be of lower
amplitude than those at the beginning of the time step. If, however, the flow
is divergent, then the local minima and maxima in the true solution may be
increasing, and the increase predicted by the monotone scheme should be
considered in determining f/Jmax and f/Jmin .
3. Compute the sum of all antidiffusive fluxes into grid point j,
Pt = max (0, Aj_!) - min (0, Ai+!) '
4. Compute the maximum net antidiffusive flux that will preserve f/J'J+I <
J
