Finite Volume Methods for Hyperbolic Problems. These PDEs are of the form
We also consider degenerate convection-diffusion systems of the form:
Solutions follow a conservative finite diference (finite volume) pattern. This method updates point values (cell averages) of the solution u and has the general form
Where the numerical flux is an approximate solution of the Riemann problem at the cell interface (
An extra term P similar to F could be added to account for the Diffusion in the second case.
The time integration of the semi discrete form is performed with Runge Kutta methods.
At the momento only Cartesian 1D uniform mesh available, using FVMesh(N,a,b,boundary)
command. Where
N
= Number of cells
xinit,xend
= start and end coordinates.
bdtype
= boundary type (ZERO_FLUX, PERIODIC)
- Problem types: System of Conservation Laws with diffusion term (
CLS1DDiffusionProblem
).
- High-Resolution Central Schemes (
SKT1DAlgorithm
)
Kurganov, Tadmor, New High-Resolution Central Schemes for Nonlinear Conservation Laws and Convection–Diffusion Equations, Journal of Computational Physics, Vol 160, issue 1, 1 May 2000, Pages 241-282
- Second-Order upwind central scheme (
CU1DAlgorithm
)
Kurganov A., Noelle S., Petrova G., Semidiscrete Central-Upwind schemes for hyperbolic Conservation Laws and Hamilton-Jacobi Equations. SIAM. Sci Comput, Vol 23, No 3m pp 707-740. 2001
- Dissipation Reduced Central upwind Scheme: Second-Order (
DRCU1DAlgorithm
)
Kurganov A., Lin C., On the reduction of Numerical Dissipation in Central-Upwind # Schemes, Commun. Comput. Phys. Vol 2. No. 1, pp 141-163, Feb 2007.
- Component Wise Global Lax-Friedrichs Scheme (
COMP_GLF_1DAlgorithm
)
R. Bürger, R. Donat, P. Mulet , C. A. Vega, On the implementation of WENO schemes for a class of polydisperse sedimentation models, Journal of Computational Physics, v.230 n.6, p.2322-2344, March, 2011 [doi>10.1016/j.jcp.2010.12.019]
- Entropy Stable Schemes for degenerate convection-diffusion equations (
ESJP1DAlgorithm
yESJPe1DAlgorithm
)
Jerez, C. Pares. Entropy stable schemes for degenerate convection-difusion equations. 2017. Society for Industrial and Applied Mathematics. SIAM. Vol. 55. No. 1. pp. 240-264
At the moment available methods are: Forward Euler (FORWARD_EULER
), Strong Stability Preserving Runge Kutta 2 (SSPRK22
), SSPRK33
.
! Setup Mesh
USE FVtypes
USE EC_scheme
USE FV_diffSolve
INTEGER| :: N ! Number of cells
REAL(kind = dp) :: xinit, xend
INTEGER :: bdtype
type(Uniform1DMesh) :: mesh
N = 5; xinit = 0.0; xend = 10.0; bdtype = PERIODIC
call mesh%Initialize(N, xinit, xend, bdtype)
! Setup problem
INTEGER :: M ! number of equations in system
REAL(kind = dp) :: Tend ! Final time
REAL(kind = dp), ALLOCATABLE :: uinit(:,:) ! Initial condition
type(CLS1DDiffusionProblem) :: prob
M = 4; Tend = 0.2;
ALLOCATE(uinit(N,M))
uinit = 0.0_dp;
! Flux, JcF, BB are functions (see test1.f90 for more information)
CALL prob%Initialize(mesh, uinit, M, Tend, Flux, JacF, BB)
! Choose algorithm and solve problem (some don't require initialization)
type(ESJP1DAlgorithm) :: ESPJAlg
REAL(kind = dp) :: CFL
CFL = 0.2
! NFlux, KKN are functions (see test1.f90 for more information)
CALL ESPJAlg%Initialize(Nflux, KKN, 0.0_dp)
CALL solve(prob, SSPRK22, ESPJAlg, CFL)
** Modules developed for personal use, some of them have not been tested enough !!!**