FEM2D_NAVIER_STOKES_INOUT is a FORTRAN90 library which supplies information defining a Navier-Stokes flow problem in the "inout" region, which is a square region that is 1 unit wide and 1 unit high. A parabolic inflow is specified on the lower left, and a zero Neumann outflow is specified on the upper right.
The Neumann condition on the outflow is not working as expected, so we have temporarily backtracked to using a Dirichlet outflow condition there...
To run the problem directly, you only need the user-supplied routines in inout.f90, the node data in nodes6.txt, and the element data in triangles6.txt.
You compile and link the solver with inout.f90, using commands like:
gfortran fem2d_navier_stokes.f90 inout.f90 mv a.out channeland then run the program with the command
./inout nodes6.txt triangles6.txt
The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.
FEM2D_NAVIER_STOKES, a FORTRAN90 program which solves the 2D incompressible Navier-Stokes equations in an arbitrary triangulated region. In order to run, it requires user-supplied routines that define problem data.
FEM2D_NAVIER_STOKES_CAVITY, a FORTRAN90 library which contains the user-supplied routines necessary to run fem2d_navier_stokes on the "cavity" problem.
FEM2D_NAVIER_STOKES_CHANNEL, a FORTRAN90 library which contains the user-supplied routines necessary to run fem2d_navier_stokes on the "channel" problem.
The geometry is defined by sets of nodes and triangles. The velocities use the full set of nodes, and quadratic (6 node) triangles.
The pressures are associated with a subset of the nodes called "pressure nodes", and linear (3 node) triangles. Note that, in the order 3 triangulation, the nodes are renumbered, and do NOT inherit the labels used in the order 6 triangulation.
The nonlinear Navier Stokes equations are solved, using the Stokes solution as a starting point.