## Running the program 'nsevol'

On this page a brief overview of the input for and output from the program 'nsevol', which solves the 2D Navier-Stokes equation in the vorticity-streamfunction formulation, as explained on the page about Vortex Evolution with a Finite Difference Method.

```
```

#### 1. General input data

The first part of the input file gives some general input data on the discretisation of the equations, the time integration and the output, i.e. about running the program 'nsevol'.
• Physical dimensions of the domain in the x,y-plane (in dimensionless units).
• Number of grid points in the x and y direction.
• Boundary conditions for the left and right boundary, and for the bottom and top boundary (the conditions on opposite boundaries are always the same); if a background flow (e.g. a strain flow) is desired, its charactertics are given.
• Kind of background rotation (uniform, beta-plane, gamma-plane), if any.
• Bottom topography, if any; this can be read from a file, generated by an auxillary program by the name of 'nstopo'.
• Which solver to use for the streamfunction (FACR or NAG routine).
• Include nonlinear terms?
• Reynolds number, or no viscosity.
• Criteria to stop the computation: exceed some time limit or number of time steps.
• Compute with constant or variable time step;
-- for constant time step: what is the time step, and
-- for variable time step: what is the (constant) Courant number.
• When or how often output is to be given and what kind of output (there is a variety of ways to follow what is going on during and after the evolution).
• The name of the run.
```
```

#### 2. Initial vorticity distribution

As initial vorticity distribution, a number of possibilities is available, ranging from Bessel type monopolar or dipolar vortices, to uniform vortices (Rankine, Kirchoff) and Gaussian vortices. For these vortices, the location, size and strength or velocity need to be given. Also possible are: a uniform or random initial distribution, and other distributions throughout the entire domain. Furthermore, it is possible to read the initial vorticity distribution from file, which comes in handy if one wants to continue a computation from a previous run.
```
```

#### 3. Initial tracer distribution

Tracers can be placed along lines (straight, circular/elliptic or ractangular), as a blob (circular/elliptic or ractangular), throughout the entire domain (either uniform or random), or as single tracer points. It is also possible to put tracers on streamlines of a Lamb dipole. Furthermore, it is possible to read the initial tracer distribution from file, which comes in handy if one wants to continue a computation from a previous run.
What also needs to be specified is how often the tracer position is written to a file and in what form.
```
```

#### 4. Analysis of the results

During the computation it is possible to follow what is going on in a number of ways, e.g. by looking at the position and movement of the tracers (thanks to a program from Chritiene Aarts and Pauline Vosbeek), or by looking at a rough 'film' of the vorticity distribution.

Once the runs has finished, the flow field at certain moments in time -- which is written to files by 'nsevol' -- can be analysed using an auxillary program called 'nsfield', with which for instance plots and profiles of the vorticity and/or streamfunction can be made (using a suitable plot program, of course). Also, the position of tracers can be plotted at specific moments in time, or the time evolution of a specific tracer can be plotted, with the help of the auxillary program called 'nstrs'.
Other output of 'nsevol' involves the maximum and minimum of vorticity and their location, the circulation, energy and enstrophy, the Courant number and time step, etc., as a function of time.