spiral_exact


spiral_exact, a Fortran90 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 )^2
      
where 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).

Licensing:

The information on this web page is distributed under the MIT license.

Languages:

spiral_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:

spiral_exact_test

f90_exact, a Fortran90 code which evaluates exact solutions to a few selected examples of ordinary differential equations (ODE) and partial differential equations (PDE).

gnuplot_test, a Fortran90 code which illustrate the use of the gnuplot() graphics program.

Source Code:


Last revised on 01 July 2023.