navier_stokes_2d_exact
navier_stokes_2d_exact,
a MATLAB code which
evaluates exact solutions to the incompressible timedependent
NavierStokes equations (NSE) over an arbitrary domain in 2D.

cavity: steady, polynomial in space,
zero velocity boundary conditions on sides and bottoms,
variable velocity on "top". This is NOT the standard
"driven cavity" example;

exppoly: time dependent, exponential growth in time,
zero velocity boundary conditions on unit square;

exptrig: time dependent, trigonometric in space, exponential growth in time,
zero velocity boundary conditions on unit square; at t=1, this flow forms a spiral.
At later times, the exponential growth seems to make the solution physically
absurd and computationally intractable.

GMS: time dependent, vortices do not decay to zero;

Lukas: steady, zero pressure;

Poiseuille: steady, zero vertical velocity, zero source term;

Spiral: time dependent, zero velocity on the unit square;

Taylor: time dependent, zero source term, solution decays exponentially.

Vortex: steady, same velocity pattern as Taylor.
Licensing:
The computer code and data files made available on this web page
are distributed under
the MIT 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
an Octave version and
a Python version.
Related Data and Programs:
navier_stokes_2d_exact_test
navier_stokes_3d_exact,
a MATLAB code which
evaluates exact solutions to the incompressible timedependent
NavierStokes equations over an arbitrary domain in 3D.
navier_stokes_mesh2d,
MATLAB data files which
define meshes for several
2D test problems involving the Navier Stokes equations
for fluid flow, provided by Leo Rebholz.
spiral_data,
a MATLAB code 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 MATLAB code which
evaluates exact solutions to the incompressible steady
Stokes equations over the unit square in 2D.
Reference:

JeanLuc Guermand, Peter Minev, Jie Shen,
An overview of projection methods for incompressible flows,
Computer methods in applied mechanics and engineering,
Volume 105, pages 60116045, 2006.

Xiaoli Li, Jie Shen,
Error analysis of the SACMAC scheme for the NavierStokes equations,
arXiv:1909.05131v1 [math.NA] 8 Sep 2019

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 258274, 2011.

TienMo Shih, C H Tan, B C Hwang,
Effects of grid staggering on numerical schemes,
International Journal for Numerical Methods of Fluids,
Volume 9, Number 2, pages 193212, February 1989.
38, pages 258274, 2011.

Geoffrey Taylor,
On the decay of vortices in a viscous fluid,
Philosophical Magazine,
Volume 46, 1923, pages 671674.

Geoffrey Taylor, Albert Green,
Mechanism for the production of small eddies from large ones,
Proceedings of the Royal Society of London,
Series A, Volume 158, 1937, pages 499521.
Source Code:

all_cavity.m,
evaluates all the cavity variables.

all_exppoly.m,
evaluates all the exppoly variables.

all_exptrig.m,
evaluates all the exptrig variables.

all_gms.m,
evaluates all the GMS variables.

all_spiral.m,
evaluates all the spiral variables.

grid_2d.m,
returns a regular 2D grid.

ns2de_gnuplot.m,
writes the velocity vector field to files for GNUPLOT.

r8vec_uniform_ab.m,
returns a scaled pseudorandom R8VEC.

resid_c.m,
evaluates the cavity residuals.

resid_exppoly.m,
evaluates the exppoly residuals.

resid_exptrig.m,
evaluates the exptrig residuals.

resid_gms.m,
evaluates the GMS residuals.

resid_lukas.m,
evaluates the Lukas Bystricky residuals.

resid_poiseuille.m,
evaluates the Poiseuille residuals.

resid_spiral.m,
evaluates the spiral residuals.

resid_taylor.m,
evaluates the Taylor residuals.

resid_vortex.m,
evaluates the Vortex residuals.

rhs_cavity.m,
evaluates the cavity source terms.

rhs_exppoly.m,
evaluates the exppoly source terms.

rhs_exptrig.m,
evaluates the exptrig source terms.

rhs_gms.m,
evaluates the GMS source terms.

rhs_lukas.m,
evaluates the Lukas Bystricky source terms.

rhs_poiseuille.m,
evaluates the Poiseuille source terms.

rhs_spiral.m,
evaluates the spiral source terms.

rhs_taylor.m,
evaluates the Taylor source terms.

rhs_vortex.m,
evaluates the Vortex source terms.

uvp_cavity.m,
evaluates the cavity flow variables.

uvp_exppoly.m,
evaluates the exppoly flow variables.

uvp_exptrig.m,
evaluates the exptrig flow variables.

uvp_gms.m,
evaluates the GMS flow variables.

uvp_lukas.m,
evaluates the Lukas Bystricky flow variables.

uvp_poiseuille.m,
evaluates the Poiseuille flow variables.

uvp_spiral.m,
evaluates the spiral flow variables.

uvp_taylor.m,
evaluates the Taylor flow variables.

uvp_vortex.m,
evaluates the Vortex flow variables.
Last revised on 27 August 2020.