fd1d_burgers_lax, a FORTRAN90 code which solves the nonviscous time-dependent Burgers equation using finite differences and the Lax-Wendroff method.
The function u(x,t) is to be solved for in the equation:
du/dt + u * du/dx = 0for a <= x <= b and t_init <= t <= t_last.
Problem data includes an initial condition for u(x,t_init), and the boundary value functions u(a,t) and u(b,t).
The non-viscous Burgers equation can develop shock waves or discontinuities.
The computer code and data files described and made available on this web page are distributed under the MIT license
fd1d_burgers_lax is available in a C version and a C++ version and a FORTRAN90 version and a MATLAB version.
BURGERS, a dataset directory which contains some solutions to the viscous Burgers equation.
BURGERS_SOLUTION, a FORTRAN90 code which evaluates an exact solution of the time-dependent 1D viscous Burgers equation.
FD1D_ADVECTION_LAX, a FORTRAN90 code which applies the finite difference method to solve the time-dependent advection equation ut = - c * ux in one spatial dimension, with a constant velocity, using the Lax method to treat the time derivative.
FD1D_BURGERS_LEAP, a FORTRAN90 code which applies the finite difference method and the leapfrog approach to solve the non-viscous time-dependent Burgers equation in one spatial dimension.
FD1D_BVP, a FORTRAN90 code which applies the finite difference method to a two point boundary value problem in one spatial dimension.
FD1D_HEAT_EXPLICIT, a FORTRAN90 code which uses the finite difference method and explicit time stepping to solve the time dependent heat equation in 1D.
FD1D_HEAT_IMPLICIT, a FORTRAN90 code which uses the finite difference method and implicit time stepping to solve the time dependent heat equation in 1D.
FD1D_HEAT_STEADY, a FORTRAN90 code which uses the finite difference method to solve the steady (time independent) heat equation in 1D.
FD1D_PREDATOR_PREY, a FORTRAN90 code which implements a finite difference algorithm for predator-prey system with spatial variation in 1D.
FD1D_WAVE, a FORTRAN90 code which applies the finite difference method to solve the time-dependent wave equation utt = c * uxx in one spatial dimension.