Indices and tables¶
Link to Codebase:¶
[code on github](https://github.com/LukeMcCulloch/stream_function_vorticity_form_NSE)
Features¶
- Cartesian Vorticity form of the Equations
- Helmholtz Hodge Decomposition into a vorticity equation and a stream-function Poisson’s equation.
- Approximate factorization with lagged variables for the vorticity equations
- Interior nodes discretized with central 2nd order accurate differences
- Tri-diagonal vorticity updates in x and y for fast sweeps.
- Boundary terms handled by augmented (1 sided FD)
- Gauss-Seidel iteration with successive over-relaxation for the Poisson Update of the scalar stream function.
- Fortran 90 implementation
Build¶
Build the executable:
- make currently requires gfortran
- assumes you have make tools.
- cd into the src directory for this project and run:
$ make
Run¶
Run the included fifi.dat inputs example with
$ ./test fifi.dat test1.out
- ./test runs the executable
- fifi.dat is the input file.
- See fifi.dat for details. Basic plate geometry,
mesh size, and Reynolds number are set. - Courant number can be set here, but the code encourages experimentation with step sizes at runtime. - Suggestions for best results are given based on experience. - Once the code is running, follow the prompts to select time step and SOR factor.
Results¶
- plotting of primitive variables u, v, stored in u.dat and v.dat
- plotting of stream functions stored in strm-func.dat
- plotting of vorticity stored in vorticity.dat
- requires Numpy and Matplotlib
- Run the python file to plot outputs:
$ python 2DCavityPlotTest.py