Modules

ModuleSource FileDescription
ausmausm.f90

Reference: Liou, M.S. and Steffen Jr, C.J., A new flux splitting scheme, Journal of Computational physics, vol. 107, no. 1, pp.23-39, 1993

ausmPausmP.f90

Flux splitting scheme: AUSM+ module ausmP !< Reference: Liou, M. S., “A sequel to AUSM: AUSM+,” Journal of Computational Physics, vol. 129, pp. 364–382, 1996

ausmUPausmUP.f90

Reference: Liou, M. S., “A sequel to AUSM, Part II: AUSM+-up for all speeds,” Journal of Computational Physics, vol. 214, 2006, pp. 137–170

bcbc.f90

Setup boundary condition for the domain

bc_primitivebc_primitive.f90

Apply boundary condition at every iteration

boundary_state_reconstructionboundary_state_reconstruction.f90

Reconstruct the boundary face in case of 4th and 5th order higher order face state reconstruction method. Since the limited information is available at the boundaries, the boundary face is limiter to 3rd order accurate and is reconstructed using MUSCL Scheme even when rest of the domain is using WENO or PPM

CCCC.f90

In order to calculate pressure gradient in the transition model, two quantities are required: the distance of the cell-center from the wall andn the normal made by the distance vector field (from wall to cell-center). This module calucate both with gradient of V.n also.

check_output_controlcheck_output_control.f90

Check for the input from the output_control.md file

convergenceconvergence.f90

Check for solution's convergence

copy_bccopy_bc.f90

A module contains generalized subroutine to copy variable in ghost cells

dump_solutiondump_solution.f90

This module contians subroutine that 1. check if point of dumping condition is arrived. 2. create particular folder for dump. 3. dump data in that folder. 4. purge folders if required.

face_interpolantface_interpolant.f90

Interpolation of primitive variable from cell centers to faces

FT_bcFT_bc.f90

Apply flow tangency boundary condition

geometrygeometry.f90

The geometry module calculates various geometrical quantities like face-normals, face-areas and cell-volumes to be used in computations.

global_kklglobal_kkl.f90

Declare all the constants used by k-kL turbulence model

global_saglobal_sa.f90

Declare all the constants used by SA turbulence model

global_sstglobal_sst.f90

Declare all the constants used by SST turbulence model

gradientsgradients.f90

Allocate memory to laminar gradients if flow is viscous and allocate memory to tubulence gradients base upon the model being used

gridgrid.f90

The grid module contains the grid definition (locations of the grid points) as well as procedures to load these from a file.

interface1interface1.f90

This module handles the MPI Communication calls for interface boundary conditions

layoutlayout.f90

Contains routine to load layout file and sets the layout variables and gets process id and total process

ldfss0ldfss0.f90

Reference: Edwards, J.R., A low-diffusion flux-splitting scheme for Navier-Stokes calculations, Computers & Fluids, vol. 26, no. 6, pp.635-659, 1997

lusgslusgs.f90

Reference: Sharov, D., Luo, H., Baum, J., and Loehner, R., “Implementation of unstructured grid GMRES+LU-SGS method on shared-memory, cache-based parallel computers,” 38th Aerospace Sciences Meeting and Exhibit, vol. 927, 2000, p. 2000.

mappingmapping.f90

Setup the indicies map at interface between two blocks

musclmuscl.f90

Reference:Hirsch, C., Numerical computation of internal and external flows: The fundamentals of computational fluid dynamics, Elsevier, 2007

Read more…
plusgsplusgs.f90

Reference: Kitamura, K., Shima, E., Fujimoto, K. and Wang, Z.J., Performance of low-dissipation Euler fluxes and preconditioned LU-SGS at low speeds, Communications in Computational Physics, vol. 10 no. 1, pp.90-119, 2011

ppmppm.f90

Reference: Colella, P. and Woodward, P.R., The piecewise parabolic method (PPM) for gas-dynamical simulations, Journal of computational physics, vol. 54, no. 1, pp.174-201, 1984

readread.f90

This module read input control files which include: 1. control.md 2. fvscheme.md 3. flow.md 4. res_control.md 5. state_read_write_control.md

read_bcread_bc.f90

Get all the fixed values from the bc_**.md file

read_outputread_output.f90

Read output files from the restart folder

Read more…
read_output_tecread_output_tec.f90

Read the restart file in the tecplot format

read_output_vtkread_output_vtk.f90

Read the restart file in the vtk format

resnormresnorm.f90

This module contains subroutine that 1. check if time for resnorm dump is arrived 2. calculate resnorm 3. send those resnorm to processor number 0 4. Recalulate resnorm based on information availble from all processors 5. Append the data to resnorm file

schemescheme.f90

Inviscid flux calculation through faces

slauslau.f90

Shima, E., and Kitamura, K., “Parameter-Free Simple Low-Dissipation AUSM-Family Scheme for All Speeds,” AIAA Journal, vol. 49, pp. 1693–1709, 2011

solversolver.f90

Setup, run, and destroy the solver allocate/deallcoate memory, initialize, iterate

sourcesource.f90

Add source's contribution to the residual

statestate.f90

Allocate memory to the state variables and initialize them The state of the system is defined using the density, velocity and pressure (primitive variables qp), and trubulent and transition variables at the cell-center points.

timetime.f90

Calculate the time step for the current iteration

updateupdate.f90

This module march the solution is time.

utilsutils.f90

Utility module to allocate, deallocate and debug message

van_leervan_leer.f90

Reference: Van Leer, B., Flux-vector splitting for the Euler equation. In Upwind and High-Resolution Schemes, Springer, Berlin, Heidelberg, pp. 80-89, 1997

vartypesvartypes.f90

Derived data types

viscosityviscosity.f90

Setup, destroy, calculate molecular and turbulence viscosity

viscousviscous.f90

The viscous module contains the viscous fluxes calculations

wallwall.f90

Detect all the grid points on the wall boundary condition and store them in a single file

wall_distwall_dist.f90

Calculate the distance from the wall for each cell-center in the domain

wenoweno.f90

Reference: 1 Shu, C.-W., “High-order Finite Difference and Finite Volume WENO Schemes and Discontinuous Galerkin Methods for CFD,” International Journal of Computational Fluid Dynamics, vol. 17, 2003, pp. 107–118. Reference: 2 Huang, W. F., Ren, Y. X., and Jiang, X., “A simple algorithm to improve the performance of the WENO scheme on non-uniform grids,” Acta Mechanica Sinica/Lixue Xuebao, 2017, pp. 1–11.

weno_NMweno_NM.f90

Reference: 2 Huang, W. F., Ren, Y. X., and Jiang, X., “A simple algorithm to improve the performance of the WENO scheme on non-uniform grids,” Acta Mechanica Sinica/Lixue Xuebao, 2017, pp. 1–11.

write_outputwrite_output.f90

Open/close and call other modules for writing solution based on the input: type of file, either vtk or tecplot modules are called

write_output_tecwrite_output_tec.f90

Tecplot module to write the solution in the tecplot format

write_output_tec_nodewrite_output_tec_node.f90

Writing solution in the output file in tecplot format with node data instead of cell-center data.

write_output_vtkwrite_output_vtk.f90

Vtk module to write the solution in the vtk format