NAVIER_STOKES_2D_EXACT
Exact solutions to the
2D Incompressible Time-Dependent Navier Stokes Equations
NAVIER_STOKES_2D_EXACT,
a C++ library which
evaluates exact solutions to the incompressible time-dependent
Navier-Stokes equations over an arbitrary domain in 2D.
-
Lukas: steady flow, pressure is zero everywhere;
-
Poiseuille: steady flow, vertical velocity and right hand side are zero everywhere;
-
Spiral: velocity is zero on the boundary of the unit square;
-
Taylor: source term is zero everywhere.
-
Vortex: steady vortex flow.
Licensing:
The computer code and data files made available on this web page
are distributed under
the GNU LGPL license.
Languages:
NAVIER_STOKES_2D_EXACT 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:
NAVIER_STOKES_3D_EXACT,
a C++ library which
evaluates an exact solution to the incompressible time-dependent
Navier-Stokes equations over an arbitrary domain in 3D.
NAVIER_STOKES_MESH2D,
MATLAB data files which
define triangular meshes for several
2D test problems involving the Navier Stokes equations
for fluid flow, provided by Leo Rebholz.
SPIRAL_DATA,
a C++ library which
computes a velocity vector field that satisfies the continuity
equation, writing the data to a file that can be plotted
by gnuplot.
STOKES_2D_EXACT,
a C++ library which
evaluates exact solutions to the incompressible steady
Stokes equations over the unit square in 2D.
Reference:
-
Maxim Olshanskii, Leo Rebholz,
Application of barycenter refined meshes in linear elasticity
and incompressible fluid dynamics,
ETNA: Electronic Transactions in Numerical Analysis,
Volume 38, pages 258-274, 2011.
-
Geoffrey Taylor,
On the decay of vortices in a viscous fluid,
Philosophical Magazine,
Volume 46, 1923, pages 671-674.
-
Geoffrey Taylor, A E Green,
Mechanism for the production of small eddies from large ones,
Proceedings of the Royal Society of London,
Series A, Volume 158, 1937, pages 499-521.
Source Code:
Examples and Tests:
Lukas Bystricky flow:
Poiseuille flow:
Spiral flow:
Taylor flow:
Vortex flow:
List of Routines:
-
GRID_2D returns a regular 2D grid.
-
NS2DE_GNUPLOT writes the Navier-Stokes solution to files for GNUPLOT.
-
R8VEC_AMAX returns the maximum absolute value in an R8VEC.
-
R8VEC_AMIN returns the minimum absolute value in an R8VEC.
-
R8VEC_LINSPACE creates a vector of linearly spaced values.
-
R8VEC_MAX returns the value of the maximum element in an R8VEC.
-
R8VEC_MIN returns the value of the minimum element in an R8VEC.
-
R8VEC_NORM_L2 returns the L2 norm of an R8VEC.
-
R8VEC_UNIFORM_AB_NEW returns a scaled pseudorandom R8VEC.
-
RESID_LUKAS returns Lukas Bystricky residuals.
-
RESID_POISEUILLE returns Poiseuille residuals.
-
RESID_SPIRAL evaluates Spiral residuals.
-
RESID_TAYLOR returns Taylor residuals.
-
RESID_VORTEX returns Vortex residuals.
-
RHS_LUKAS evaluates Lukas Bystricky right hand sides.
-
RHS_POISEUILLE evaluates Poiseuille right hand sides.
-
RHS_SPIRAL evaluates Spiral right hand sides.
-
RHS_TAYLOR returns Taylor right hand sides.
-
RHS_VORTEX returns Vortex right hand sides.
-
TIMESTAMP prints the current YMDHMS date as a time stamp.
-
UVP_LUKAS evaluates Lukas Bystricky's solution.
-
UVP_POISEUILLE evaluate Poiseuille solutions.
-
UVP_SPIRAL evaluates Spiral solutions.
-
UVP_TAYLOR evaluates Taylor solutions.
-
UVP_VORTEX evaluates Vortex solutions.
You can go up one level to
the C++ source codes.
Last revised on 26 July 2015.