spiral_data, an Octave code which defines a 2D velocity vector field that satisfies the continuity equation, and writes the nodes and velocities to a file, suitable for analysis or plotting.
The continuous velocity field (U,V)(X,Y) that is discretely sampled here satisfies the homogeneous continuity equation, that is, it has zero divergence. In other words:
dU/dX + dV/dY = 0.This is by construction, since we have
U(X,Y) = 10 * d/dY ( PHI(X) * PHI(Y) ) V(X,Y) = -10 * d/dX ( PHI(X) * PHI(Y) )which guarantees zero divergence.
The underlying function PHI is defined by
PHI(Z) = ( 1 - cos ( C * pi * Z ) ) * ( 1 - Z )^2where C is a parameter.
The velocity data satisifes the (continuous) continuity equation; this in no way implies that it satisfies the momentum equations associated with Stokes or Navier-Stokes flow! Moreover, a flow solution for those equations would normally also require specifying a value for the scalar pressure field P(X,Y).
The computer code and data files made available on this web page are distributed under the MIT license
spiral_data 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.
gnuplot_test, an Octave code which illustrates the use of the gnuplot() graphics program.
navier_stokes_2d_exact, an Octave code which evaluates an exact solution to the incompressible time-dependent Navier-Stokes equations over an arbitrary domain in 2D.
stokes_2d_exact, an Octave code which evaluates exact solutions to the incompressible steady Stokes equations over the unit square in 2D.