packageFluxLimiter
Information
Flux Limiter
Given a hyperbolic system of m equations we want to solve it
with the flux limiter method. We can specify the parameter m
as well as the number of cell averages
n that we wish to use in the WorldModel block.
The first block we need is the integrator block that will
give the mxn+gcl+gcr average matrix Q as output
with which we can start the construction. Having matrix
Q we can compute the jumps
mxn+gcl+gcr-1 matrix alpha as output. It is important to note that the eigenvalue matrix R as well as the eigenvalues lambdai must be provided
by the user. In the case of a constant coefficient linear hyperbolic system these do not change with time. The next step is to use the alpha matrix just obtained together
with the i-th eigenvalue lambdai to calculate thetai. The thetai matrix has the thetai values in the i-th row and zeros elsewhere.
Once thetai matrix is computed we can use for instance Beam-Warming block to compute phi(theta), which is just theta in the Beam-Warming method.
Beam-Warming together with many other methods is implemented in FluxSolver block. The user can choose which method to use in the WorldModel block
by giving the corresponding value to the fls variable. Here is a list of methods with their corresponding values:
- Upwind method: fls = 1
- Lax-Wendroff method: fls = 2
- Beam-Warming method: fls = 3
- Fromm method: fls = 4
- van Leer method: fls = 5
widetilde{alpha} as input instead of \alpha we can compute the limited wave widetilde{W}
lambdap and the waves matrices W, widetilde{W} we can compute the fluxes and fluctuations. This is done by blocks FluxLimited and Fluctuation.
The FluxLimited block computes
of the blocks and - outputs of the blocks separately and at the end pass them to the + and - inputs of the integrator, respectively. Finally we specify the initial
and boundary conditions and connect them to the IC and gcl, gcr inputs, respectively.
Release Notes: