BURGERS_SOLUTION
Exact Solutions of Time Dependent 1D Viscous Burgers Equation
BURGERS_SOLUTION
is a C++ library which
evaluates exact solutions of the time-dependent 1D viscous Burgers equation.
The form of the Burgers equation considered here is:
du du d^2 u
-- + u * -- = nu * -----
dt dx dx^2
for -1.0 < x < +1.0, and 0.0 < t.
Licensing:
The computer code and data files described and made available on this
web page are distributed under
the GNU LGPL license.
Languages:
BURGERS_SOLUTION is available in
a C version and
a C++ version and
a FORTRAN90 version and
a MATLAB version and
a Python version.
Related Data and Programs:
BURGERS,
a dataset directory which
contains 40 solutions of the Burgers equation in one space dimension and time,
at equally spaced times from 0 to 1, with values
at 41 equally spaced nodes in [0,1];
FD1D_BURGERS_LAX,
a C++ program which
applies the finite difference method and the Lax-Wendroff method
to solve the non-viscous Burgers equation
in one spatial dimension and time.
FD1D_BURGERS_LEAP,
a C++ program which
applies the finite difference method and the leapfrog approach
to solve the non-viscous Burgers equation in one spatial dimension and time.
Reference:
-
Claude Basdevant, Michel Deville, Pierre Haldenwang, J Lacroix,
J Ouazzani, Roger Peyret, Paolo Orlandi, Anthony Patera,
Spectral and finite difference solutions of the Burgers equation,
Computers and Fluids,
Volume 14, Number 1, 1986, pages 23-41.
Source Code:
Examples and Tests:
-
burgers_solution_test.cpp,
a sample calling program.
-
burgers_solution_test.txt,
the output file.
-
burgers_solution_test01.txt,
a data file of solution #1 values for -1 <= x <= +1,
0 <= t <= 3/pi, using 11 grid points in x and in t.
-
burgers_solution_test02.txt,
a data file of solution #1 values for -1 <= x <= +1,
0 <= t <= 3/pi, using 41 grid points in x and in t.
-
burgers_solution_test03.txt,
a data file of solution #2 values for 0 <= x <= 2 Pi,
0 <= t <= 1, using 11 grid points in x and in t.
-
burgers_solution_test04.txt,
a data file of solution #2 values for 0 <= x <= 2 Pi,
0 <= t <= 1, using 41 grid points in x and in t.
List of Routines:
-
BURGERS_VISCOUS_TIME_EXACT1 evaluates solution #1 to the Burgers equation.
-
BURGERS_VISCOUS_TIME_EXACT1 evaluates solution #2 to the Burgers equation.
-
HERMITE_EK_COMPUTE computes a Gauss-Hermite quadrature rule.
-
IMTQLX diagonalizes a symmetric tridiagonal matrix.
-
R8_ABS returns the absolute value of an R8.
-
R8_EPSILON returns the R8 roundoff unit.
-
R8_MAX returns the maximum of two R8's.
-
R8_MIN returns the minimum of two R8's.
-
R8_SIGN returns the sign of an R8.
-
R8MAT_PRINT prints an R8MAT.
-
R8MAT_PRINT_SOME prints some of an R8MAT.
-
R8MAT_WRITE writes an R8MAT file.
-
R8VEC_EVEN_NEW returns an R8VEC of values evenly spaced between ALO and AHI.
-
R8VEC_PRINT prints an R8VEC.
-
TIMESTAMP prints the current YMDHMS date as a time stamp.
You can go up one level to
the C++ source codes.
Last revised on 26 September 2015.