stokes_2d_exact
stokes_2d_exact,
an Octave code which
evaluates exact solutions to the incompressible steady
Stokes equations in 2D.
The incompressible steady 2D Stokes equations seek functions u(x,y),
v(x,y), (the velocity vector) and p(x,y) (the pressure) such that
 uxx  uyy + dpdx = f
 vxx  vyy + dpdy = g
ux + vy = h
while satisfying boundary conditions for u and v, and a normalization
condition for p, such as specifying its value at one point, or requiring
that the integral of p over the region be 0.
Three exact solution fields are provided here.
Licensing:
The computer code and data files made available on this web page
are distributed under
the MIT license
Languages:
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:
stokes_2d_exact_test
navier_stokes_2d_exact,
an Octave code which
evaluates an exact solution to the incompressible timedependent
NavierStokes equations over an arbitrary domain in 2d.
spiral_data,
an Octave code which
computes a velocity vector field that satisfies the continuity
equation, writing the data to a file that can be plotted
by gnuplot.
Reference:

Junping Wang, Yanqiu Wang, Xiu Ye,
A robust numerical method for Stokes equations based on divergencefree
H(div) finite element methods,
SIAM Journal on Scientific Computing,
Volume 31, Number 4, 2009, pages 27842802.
Source Code:

grid_2d.m,
returns a regular 2D grid.

r8vec_uniform_ab.m,
returns a scaled pseudorandom R8VEC.

resid_stokes1.m,
evaluates the residuals at any point (x,y)
for flow #1.

resid_stokes2.m,
evaluates the residuals at any point (x,y)
for flow #2.

resid_stokes3.m,
evaluates the residuals at any point (x,y)
for flow #3.

rhs_stokes1.m,
evaluates the riht hand side functions at any point (x,y)
for flow #1.

rhs_stokes2.m,
evaluates the riht hand side functions at any point (x,y)
for flow #2.

rhs_stokes3.m,
evaluates the riht hand side functions at any point (x,y)
for flow #3.

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

uvp_stokes1.m,
evaluates the velocity and pressure field at any point (x,y)
for flow #1.

uvp_stokes2.m,
evaluates the velocity and pressure field at any point (x,y)
for flow #2.

uvp_stokes3.m,
evaluates the velocity and pressure field at any point (x,y)
for flow #3.
Last revised on 04 November 2023.