Skip to content

Commit

Permalink
Merge branch 'develop'
Browse files Browse the repository at this point in the history
This adds the DP-LUR implicit method as wellas prepares the code for implementation of
block LU-SGS and block DP-LUR methods.
  • Loading branch information
mnucci32 committed Apr 28, 2016
2 parents a492f68 + a833088 commit 514dfbb
Show file tree
Hide file tree
Showing 37 changed files with 4,122 additions and 3,627 deletions.
11 changes: 7 additions & 4 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
OBJS = main.o plot3d.o input.o boundaryConditions.o eos.o primVars.o procBlock.o output.o matrix.o parallel.o slices.o turbulence.o gradients.o inviscidFlux.o viscousFlux.o source.o resid.o kdtree.o genArray.o fluxJacobian.o
OBJS = main.o plot3d.o input.o boundaryConditions.o eos.o primVars.o procBlock.o output.o matrix.o parallel.o slices.o turbulence.o gradients.o inviscidFlux.o viscousFlux.o source.o resid.o kdtree.o genArray.o fluxJacobian.o uncoupledScalar.o
CC = mpic++
DEBUG = -ggdb -pg
OPTIM = -O3 -march=native
Expand All @@ -22,7 +22,7 @@ input.o : input.cpp input.hpp boundaryConditions.hpp
primVars.o : primVars.cpp primVars.hpp vector3d.hpp eos.hpp inviscidFlux.hpp boundaryConditions.hpp input.hpp macros.hpp genArray.hpp
$(CC) $(CFLAGS) primVars.cpp

procBlock.o : procBlock.cpp procBlock.hpp vector3d.hpp plot3d.hpp eos.hpp primVars.hpp inviscidFlux.hpp input.hpp genArray.hpp viscousFlux.hpp boundaryConditions.hpp macros.hpp turbulence.hpp kdtree.hpp fluxJacobian.hpp
procBlock.o : procBlock.cpp procBlock.hpp vector3d.hpp plot3d.hpp eos.hpp primVars.hpp inviscidFlux.hpp input.hpp genArray.hpp viscousFlux.hpp boundaryConditions.hpp macros.hpp turbulence.hpp kdtree.hpp uncoupledScalar.hpp fluxJacobian.hpp
$(CC) $(CFLAGS) procBlock.cpp

inviscidFlux.o : inviscidFlux.cpp vector3d.hpp eos.hpp primVars.hpp inviscidFlux.hpp input.hpp macros.hpp genArray.hpp turbulence.hpp matrix.hpp
Expand All @@ -46,7 +46,7 @@ output.o : output.cpp output.hpp procBlock.hpp tensor.hpp vector3d.hpp plot3d.hp
parallel.o : parallel.cpp parallel.hpp primVars.hpp procBlock.hpp vector3d.hpp plot3d.hpp boundaryConditions.hpp resid.hpp
$(CC) $(CFLAGS) parallel.cpp

matrix.o : matrix.cpp matrix.hpp macros.hpp
matrix.o : matrix.cpp matrix.hpp macros.hpp genArray.hpp
$(CC) $(CFLAGS) matrix.cpp

genArray.o : genArray.cpp genArray.hpp macros.hpp
Expand All @@ -67,8 +67,11 @@ resid.o : resid.cpp resid.hpp
kdtree.o : kdtree.cpp kdtree.hpp vector3d.hpp
$(CC) $(CFLAGS) kdtree.cpp

fluxJacobian.o : fluxJacobian.cpp fluxJacobian.hpp turbulence.hpp vector3d.hpp primVars.hpp eos.hpp input.hpp genArray.hpp
fluxJacobian.o : fluxJacobian.cpp fluxJacobian.hpp turbulence.hpp vector3d.hpp primVars.hpp eos.hpp input.hpp genArray.hpp matrix.hpp inviscidFlux.hpp uncoupledScalar.hpp
$(CC) $(CFLAGS) fluxJacobian.cpp

uncoupledScalar.o : uncoupledScalar.cpp uncoupledScalar.hpp genArray.hpp
$(CC) $(CFLAGS) uncoupledScalar.cpp

clean:
rm *.o *~ $(CODENAME)
22 changes: 12 additions & 10 deletions README → README.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,20 @@
Accurate Implicit Three-dimensional Efficient RANS (AITHER)
# Accurate Implicit Three-dimensional Efficient RANS (AITHER)

ABOUT THE CODE
### About The code
This code is for a 3D Navier-Stokes computational fluid dynamics solver. It is a cell centered, structured solver, using mulit-block structured grids in Plot3D format. It uses explicit and implicit time integration methods. It uses MUSCL extrapolation to reconstruct the primative variables from the cell centers to the cell faces. The code uses the Roe flux difference splitting scheme for the inviscid fluxes, and a central scheme for the viscous fluxes. It is second order accurate in both space and time.

CURRENT STATUS
### Current Status
The code is 2nd order accurate in space and time. Available explicit time integration methods are forward euler (1st order) and a minimum storage four stage Runge-Kutta method (2nd order). The implicit solver (LU-SGS) is implemented for implicit time integration. Dual time stepping is implemented for time accuracy in the implicit solver. Available implicit time integrations methods come from the Beam and Warming family of methods and are the implicit euler (1st order), Crank-Nicholson (2nd order), and BDF2 (2nd order) methods. The code has been thoroughly commented. It has been made parallel using MPI. Currently the Wilcox K-Omega 2006 and SST 2003 turbulence models are available.

TO DO LIST
- Implement block LUSGS implicit method
- Implement higher order state reconstruction for DES / Hybrid RANS/LES
- Implement tubulence model for DES / Hybrid RANS/LES
### To Do List
* Implement block LUSGS implicit method
* Implement higher order state reconstruction for DES / Hybrid RANS/LES
* Implement tubulence model for DES / Hybrid RANS/LES

HOW TO COMPILE
### How To compile
Assuming you have g++ (or equivalent) with c++14 support and some version of MPI (I use MPICH), just type 'make'.

HOW TO RUN
mpirun -np 1 aither inputFile.inp >outputFile.out 2>errorFile.err &
### How To Run
```bash
mpirun -np 1 aither inputFile.inp >outputFile.out 2>errorFile.err &
```
Loading

0 comments on commit 514dfbb

Please sign in to comment.