.PDE.UsersGuide.FluxLimiter

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

at each interface i = 1,...,n+gcl+gcr-1. The deltaQ block achieves this task. The next step is to solve the Riemann problem

This can be accomplished by passing DeltaQ and mxm eigenvalue matrix R to the Riemann block which will give us the
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:


The next step is to pass the alpha and R matrix to the pWave block, that will calculate the p-th Wave matrix

and give the mxn+1 matrix as output. Each column p in this matrix contains the wave Wi-1/2p. By using the same block but giving this time
widetilde{alpha} as input instead of \alpha we can compute the limited wave widetilde{W}

The limited widetilde{alpha} can be computed by using the block LimitedAlpha which need phi(theta) and alpha matrices as input. With the eigenvalues
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

If we have m equations in the system then we must use m FluxLimited block to compute each term of the sum

and then sum all the outputs of the blocks and pass the result to the Flux input of the integrator block. The same applies to the Fluctuation block, only that here we must sum the + outputs
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: