fd1d_burgers_leap, a C++ code which solves the nonviscous time-dependent Burgers equation using finite differences and the leapfrog 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.
fd1d_burgers_leapruns the program.
The computer code and data files described and made available on this web page are distributed under the MIT license
fd1d_burgers_leap 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 C++ code which evaluates an exact solution of the time-dependent 1D viscous Burgers equation.
FD1D_BURGERS_LAX, a C++ code which applies the finite difference method and the Lax-Wendroff method to solve the non-viscous time-dependent Burgers equation in one spatial dimension.
FD1D_BVP, a C++ code which applies the finite difference method to a two point boundary value problem in one spatial dimension.
FD1D_HEAT_EXPLICIT, a C++ code which uses the finite difference method and explicit time stepping to solve the time dependent heat equation in 1D.
FD1D_HEAT_IMPLICIT, a C++ code which uses the finite difference method and implicit time stepping to solve the time dependent heat equation in 1D.
FD1D_HEAT_STEADY, a C++ code which uses the finite difference method to solve the steady (time independent) heat equation in 1D.
FD1D_WAVE, a C++ code which applies the finite difference method to solve the time-dependent wave equation utt = c * uxx in one spatial dimension.