Procedures

ProcedureLocationProcedure TypeDescription
abort_runsolverSubroutine

Aborting the solver

add_kkl_sourcesourceSubroutine

Add residual due to source terms of the k-kL turbulence model

add_sa_sourcesourceSubroutine

Add residual due to source terms of SA turbulence model

add_saBC_sourcesourceSubroutine

Add residual due to source terms of SABC transition model

add_source_term_residuesourceSubroutine

Call to add different source terms to the residual of different equations.

add_sst_bc_sourcesourceSubroutine

Add residual due to source terms of the SST-BC transition model

add_sst_sourcesourceSubroutine

Add residual due to source terms of the SST turbulence model

add_sst_source_lctm2015sourceSubroutine

Add residual due to source terms of the LCTM2015 transition model

add_turbulent_timetimeSubroutine

Addition to local time step due to turbulence

add_viscous_timetimeSubroutine

Addition to local time step due to viscous effects

allocutilsInterface
alloc_rank1_integerutilsSubroutine

Allcoate 1-Dimensional array of type: integer

alloc_rank1_realutilsSubroutine

Allcoate 1-Dimensional array of type: real

alloc_rank2_integerutilsSubroutine

Allcoate 2-Dimensional array of type: integer

alloc_rank2_realutilsSubroutine

Allcoate 2-Dimensional array of type: real

alloc_rank3_integerutilsSubroutine

Allcoate 3-Dimensional array of type: integer

alloc_rank3_realutilsSubroutine

Allcoate 3-Dimensional array of type: real

alloc_rank4_realutilsSubroutine

Allcoate 4-Dimensional array of type: real

alloc_rank5_realutilsSubroutine

Allcoate 5-Dimensional array of type: real

alloc_rank6_realutilsSubroutine

Allcoate 6-Dimensional array of type: real

allocate_memoryresnormSubroutine

Allocate memory to MPI Communication

allocate_memorygeometrySubroutine

Allocate memory for the required variables.

Read more…
allocate_memorywallSubroutine

Allocate memory to str and wallc variable array

apply_gradient_bcgradientsSubroutine

Call same subroutine for all the face Apply/set value of all gradient in the ghost cells gradqp_G = (qp_I - qp_G)Area_Wunit_normal_G/(volume_G) volume_G = volume_I

apply_gradient_bc_facegradientsSubroutine

Call same subroutine for all the face Apply/set value of all gradient in the ghost cells gradqp_G = (qp_I - qp_G)Area_Wunit_normal_G/(volume_G) volume_G = volume_I

apply_interfaceinterface1Subroutine

MPISEND_RECV call to exchange interface infromation between connected blocks.

apply_periodic_bcinterface1Subroutine

If a block is connected to another block in perodic fashion, this subroutine will take care of that boundary condition.

assemble_resnom_at_each_processresnormSubroutine

Sum residual obtained from all the processes after MPI_Communication

calculate_viscosityviscositySubroutine

Calculate molecular and turbulent viscosity

change_map_to_particular_rangemappingSubroutine

Modified the indicies for MPI communication

checkpointdump_solutionSubroutine

Create a checkpoint dump file if the time has come

close_filewrite_outputSubroutine

Close the file after writing solution.

close_fileread_outputSubroutine

Close the file after reading

collect_resnorm_from_all_blocksresnormSubroutine

MPI Communication to gather residual from all processes

compute_face_area_vectorsgeometrySubroutine

Compute face area vectors

Read more…
compute_face_areasgeometrySubroutine

Compute face areas based on area vectors

Read more…
compute_face_areas_and_normalsgeometrySubroutine

Compute the face areas and normals

Read more…
compute_face_estimatesppmSubroutine

Subroutine to calculate state at the face, generalized for

compute_face_interpolantface_interpolantSubroutine
compute_face_statemusclSubroutine

Subroutine to calculate state at the face, generalized for all direction : I,J, and K.

compute_face_stateswenoSubroutine

Subroutine to calculate state at the face, generalized for all direction : I,J, and K.

compute_face_statesweno_NMSubroutine

Subroutine to calculate state at the face, generalized for all direction : I,J, and K.

compute_fluxvan_leerSubroutine

A generalized subroutine to calculate flux through the input-argument direction, :x,y, or z which corresponds to the I,J, or K direction respectively

compute_fluxslauSubroutine

A generalized subroutine to calculate flux through the input direction, :x,y, or z which corresponds to the I,J, or K direction respectively

compute_fluxausmUPSubroutine

A generalized subroutine to calculate flux through the input direction, :x,y, or z which corresponds to the I,J, or K direction respectively

compute_fluxausmPSubroutine

A generalized subroutine to calculate flux through the input direction, :x,y, or z which corresponds to the I,J, or K direction respectively

compute_fluxausmSubroutine

A generalized subroutine to calculate flux through the input-argument direction, :x,y, or z which corresponds to the I,J, or K direction respectively

compute_fluxldfss0Subroutine

A generalized subroutine to calculate flux through the input-argument direction, :x,y, or z which corresponds to the I,J, or K direction respectively

compute_fluxesvan_leerSubroutine

Call to compute fluxes throught faces in each direction

compute_fluxesslauSubroutine

Call to compute fluxes throught faces in each direction

compute_fluxesschemeSubroutine
compute_fluxesausmUPSubroutine

Call to compute fluxes throught faces in each direction

compute_fluxesausmPSubroutine

Call to compute fluxes throught faces in each direction

compute_fluxesausmSubroutine

Call to compute fluxes throught faces in each direction

compute_fluxesldfss0Subroutine

Call to compute fluxes throught faces in each direction

compute_ghost_cell_centroidgeometrySubroutine

Compute cell center of all cell including ghost cells

compute_global_time_steptimeSubroutine

Compute a common time step to be used at all cell centers

Read more…
compute_gradientCCSubroutine

Generalized subroutine to calculate gradients

compute_gradient_GgradientsSubroutine

Compute gradient of any input scalar

compute_local_time_steptimeSubroutine

Compute the time step to be used at each cell center

Read more…
compute_muscl_statesmusclSubroutine

Implement MUSCL scheme to get left and right states at each face. The computation is done through all cells and first level ghost cells

compute_ppm_statesppmSubroutine

Call PPM face-state reconstruction for each face with optional call for remove extrema based on input limter switch and call pressure based switching based on input pressure based switch

compute_residueschemeSubroutine
compute_time_steptimeSubroutine

Compute the time step to be used

Read more…
compute_viscous_fluxesviscousSubroutine

Call to all viscous flux subroutine based on the drection and turbulence/transition model being used

compute_viscous_fluxes_kklviscousSubroutine

Compute viscous fluxes for additianal equations due to k-kL turbulence model

compute_viscous_fluxes_laminarviscousSubroutine

Compute viscous fluxes for first five Navier-Stokes equation

compute_viscous_fluxes_lctm2015viscousSubroutine

Compute viscous fluxes for additianal equations due to LCTM2015 transition model

compute_viscous_fluxes_saviscousSubroutine

Compute viscous fluxes for additianal equations due to SA turbulence model

compute_viscous_fluxes_sstviscousSubroutine

Compute viscous fluxes for additianal equations due to SST turbulence model

compute_volumesgeometrySubroutine

Compute the grid cell volumes Each grid is a hexahedron, whose volume is calculated by splitting it into 5 tetrahedrons, whose volume is known

compute_weno_NM_statesweno_NMSubroutine

Call Weno scheme for all the three direction I,J, and K

compute_weno_stateswenoSubroutine

Call Weno scheme for all the three direction I,J, and K

convergedconvergenceFunction

Check if the solution seems to have converged The solution is said to have converged if the change in the residue norm is "negligible".

copy1copy_bcSubroutine

Copy 1 layer of interior cell to first ghost cell layer

copy3copy_bcSubroutine

Copy 3 layer of interior cell to three ghost cell layer

create_directorydump_solutionSubroutine

Create a directory to keep the solution files from all the processor

destroy_solversolverSubroutine

Call to different modules to deallocate memory

destroy_timetimeSubroutine

Deallocate memory and find simulation time.

dump_datadump_solutionSubroutine

Call to write save files in the directory

evaluate_all_gradientsgradientsSubroutine

Call to all the required gradients and apply boundary condition for ghost cell gradients

extract_grid_sizegridSubroutine

Extract the grid size from the grid file header

extrapolate_cell_averages_to_facesface_interpolantSubroutine
far_fieldbc_primitiveSubroutine

Far-field Riemann boundary condition

fill_fixed_valuesread_bcSubroutine

Fill the Fixed_var array with with free-stream value or default values.

find_CCnormalCCSubroutine

Find the cell-center unit normal

find_CCVnCCSubroutine

Taking a dot product between Cell-center velocity and unit normal

find_DCCVnCCSubroutine

Find gradient of the dot product between cell velocity and unit normal

find_resnormresnormSubroutine

Find the normalized residual for each processor

find_wallwallSubroutine

Setup wall flag for all six boundary of the block

find_wall_distwall_distSubroutine

Determine the minimum wall distance from the wall surface node points

finish_runsolverSubroutine

Finishing the solution computation

fixbc_primitiveSubroutine

Generalized subroutine to fix particular value at particular face

flow_tangencyFT_bcSubroutine

Apply flow tangency boundary condition

FluxplusgsFunction

Calculate the total flux through face for laminar flow.

FluxlusgsFunction

calculate the total flux through face for laminar flow.

get_absolute_resnormresnormSubroutine

Get absolute residual for current process

get_count_within_bracesreadSubroutine

Get number of variables between two curly braces

get_fixed_valuesread_bcSubroutine

Extract fixed value from the bc_**.md file

get_n_gradgradientsSubroutine

Set number of variables for which gradient is required based on the being used

get_next_solutionupdateSubroutine

Get solution at next time-step using scheme given in the input file.

get_next_tokenreadSubroutine

Extract the next token from the config file

Read more…
get_next_token_parallellayoutSubroutine

Extract the next token from the layout file

Read more…
get_number_of_linereadFunction

Get number of lines till some character like "#"

get_process_datalayoutSubroutine

Get Processor Id and total number of processors

get_relative_resnormresnormSubroutine

Get relative residual with respect to first iteration residual

get_rw_countreadSubroutine

Get read/write count

get_total_conservative_ResidueupdateSubroutine

For each iteration it apply boundary conditions, use higher order method to reconstruct state at face, evalute fluxes at each face, calculate inviscid residual, and introuduce additional residual due to viscosity, turbulence and source terms.

ghost_gridgridSubroutine

generate ghost grid for the various operations later.

init_infinity_valuesstateSubroutine

Set the values of the infinity variables "qp_inf"

init_state_with_infinity_valuesstateSubroutine

Initialize the state based on the infinity values

initmiscsolverSubroutine

Initilize miscellaneous variables

initstatestateSubroutine

Initialize the state. If load file(start_from) is 0, then the state should be set to the infinity values. Otherwise, read the state_file to get the state values

iterate_one_more_time_stepsolverSubroutine

Perform one time step iteration

KKLFluxlusgsFunction

calculate the total flux through face for turbulent flow (k-kL)

lcasecheck_output_controlFunction

Make the whole string to lower case

lctm2015fluxplusgsFunction

Calculate the total flux through face for turbulent/transition flow (LCTM2015)

lctm2015fluxlusgsFunction

calculate the total flux through face for turbulent/transition flow (LCTM2015)

link_aliaseswallSubroutine

Link pointers wall_x, wall_y, wall_z to wallc

make_dump_dirdump_solutionSubroutine

Solution directory and sub-directory in created with particular number

no_slipbc_primitiveSubroutine

No-slip wall boundary condition. All the component of velocity throught face is zero

normalize_face_normalsgeometrySubroutine

Normalize the face normal vectors computed to get unit vectors

open_filewrite_outputSubroutine

Open the file to write the solution

open_fileread_outputSubroutine

Open file from the restart folder

periodic_bcbc_primitiveSubroutine

Single block periodic boundary condition. Not to be used for multiblock boundary condition

polebc_primitiveSubroutine

Boundary condition for the block face with zero area; turning into a pole

populate_ghost_primitivebc_primitiveSubroutine

Populate the state variables in the ghost cell with particular value based on the boundary conditio being applied at that face

populate_grid_pointsgridSubroutine

Use the grid file to populate the grid points.

pressure_based_switchingmusclSubroutine

Pressure based switching. User x,y, or z for I,J,or K face respectively

pressure_based_switchingppmSubroutine

Pressure based switching. User x,y, or z for I,J,or K face respectively

purge_dump_dirdump_solutionSubroutine

Purge the directory based on the input

read_controlsreadSubroutine

Read control.md file

read_destroy_nodefilewall_distSubroutine

Read, and close surface_node_point file

read_fileread_output_vtkSubroutine

Read all the variable for the vtk restart file

read_fileread_output_tecSubroutine

Read all the variable for the tecplot restart file

read_fileread_outputSubroutine

Read restart file

read_fixed_valuesread_bcSubroutine

Read fixed values for each block face

read_flowreadSubroutine

Read flow.md control file

read_gridread_output_vtkSubroutine

Skip the grid read in the restart file

read_gridread_output_tecSubroutine

Skip the grid read in the restart file

read_headerread_output_vtkSubroutine

Skip read the header in the vtk file

read_headerread_output_tecSubroutine

Skip read the header in the tecplot file

read_input_and_controlsreadSubroutine

Read all the input control files

read_interface_mapmappingSubroutine

Read mapping file in the system/mesh/layout/mapping.txt

read_layout_filelayoutSubroutine

Read the layout file for particular processor

read_output_controlreadSubroutine

Read output_contorl.md file

read_periodic_bc_filemappingSubroutine

Read periodic.md file in the system/mesh/layout/periodic.md

read_Res_listreadSubroutine

Read Residual file: res_control.md

read_restart_fileread_outputSubroutine

Read the sub-directory log file in the restart folder

read_scalarread_output_vtkSubroutine

Read scalar from the vtk file

read_scalarread_output_tecSubroutine

Read scalar from the tecplot file

read_schemereadSubroutine

Read fvscheme.md control file

read_velocityread_output_vtkSubroutine

Read velocity vector from the vtk file

reconstruct_boundary_stateboundary_state_reconstructionSubroutine

Call reconstruction based on the flag and boundary condition

reconstruct_imaxboundary_state_reconstructionSubroutine

Reconstruct state at the IMAX boundary face with MUSCL scheme

reconstruct_iminboundary_state_reconstructionSubroutine

Reconstruct state at the IMIN boundary face with MUSCL scheme

reconstruct_jmaxboundary_state_reconstructionSubroutine

Reconstruct state at the JMAX boundary face with MUSCL scheme

reconstruct_jminboundary_state_reconstructionSubroutine

Reconstruct state at the JMIN boundary face with MUSCL scheme

reconstruct_kmaxboundary_state_reconstructionSubroutine

Reconstruct state at the KMAX boundary face with MUSCL scheme

reconstruct_kminboundary_state_reconstructionSubroutine

Reconstruct state at the KMIN boundary face with MUSCL scheme

remove_directorydump_solutionSubroutine

Remove a directory

remove_extremappmSubroutine

Remove extrema from the state estimated. Limiting the value in case of PPM

SAFluxplusgsFunction

Calculate the total flux through face for turbulent flow (SA)

SAFluxlusgsFunction

calculate the total flux through face for turbulent flow (SA)

set_n_var_valuestateSubroutine

Set number of variable to solver for based on the tubulence and transition model being used

set_omega_at_wallbc_primitiveSubroutine

Set value of turbulence variable: omega (turbulenct dissipation rate). Value fixed is accourding to the SST turbulence model

set_valueread_bcSubroutine

Set particular value to the Fixed_var variable

setup_bcbcSubroutine

Initialization and allocate memory of boundary condition variables

setup_fileresnormSubroutine

Open the residual file to write

setup_filewrite_outputSubroutine

Setup the file type based on the input

setup_fileread_outputSubroutine

Steup the file to read the restart state.

setup_geometrygeometrySubroutine

Make the geometry module useful

Read more…
setup_gradientsgradientsSubroutine

Memoery allocation to the gradient variables and setup pointer to the slice to the main gradient variable based on the various models being used.

Read more…
setup_gridgridSubroutine

Read the grid file and initialize the grid

setup_interfaceinterface1Subroutine

Allocate memory for the data communication between processors

setup_interpolant_schemeface_interpolantSubroutine
setup_lusgslusgsSubroutine

allocate array memory for data communication

setup_nodefilewall_distSubroutine

Open and read first line of surface_node_point file

setup_plusgsplusgsSubroutine

Allocate array memory for data communication

setup_resnormresnormSubroutine

Allocate memory, setup scale and file to write

setup_scaleresnormSubroutine

Setup scale required for relative and absolute residual for writing in the file.

setup_schemeschemeSubroutine
setup_solversolverSubroutine

Call to allocate memoery and initialize domain

setup_statestateSubroutine

Setup the state module. This subroutine should be run before the state variables are initilized. This subroutine allocates the memory for state variables and sets up the aliases to refer to the components of the state

setup_surfacewallSubroutine

Open MPI_shared write file, allocate memory and setup pointers

setup_timetimeSubroutine

Allocate memeroy and setup initial clock

setup_updateupdateSubroutine

Allocate memory to variables required based on the time-integration scheme.

setup_viscosityviscositySubroutine

Allocate and pointer for molecular and turbulent viscosity

setup_wall_distwall_distSubroutine

Allocate memory to the wall_distance variables and read the surface node file

setupCCCCSubroutine

Allocate memory for the cell center variable only in case of transition model

skip_scalarread_output_vtkSubroutine

Skip read scalar from the vtk file

skip_scalarread_output_tecSubroutine

Skip read scalar from the tecplot file

slip_wallbc_primitiveSubroutine

Slip wall boundary condition. Maintain flow tangency

sound_speed_infstateFunction

Return the free stream speed of sound.

SpectralRadiusplusgsFunction

Calculated spectral radius

SpectralRadiuslusgsFunction

Calculate the spectral radius

SSTFluxplusgsFunction

Calculate the total flux through face for turbulent flow (SST)

SSTFluxlusgsFunction

calculate the total flux through face for turbulent flow (SST)

start_runsolverSubroutine

Starting the solver setup

subsonic_inletbc_primitiveSubroutine

Subsonic inlet boundary condition. All the state variables's value expect pressure is fixed and pressure is copied from inside the domain

subsonic_outletbc_primitiveSubroutine

Subsonic outlet boundary condition. All the state variables's value expect pressure is copied from the inside of the domain and pressure is fixed

supersonic_inletbc_primitiveSubroutine

Supersonic inlet boundary condition All the values of state variables are fixed

supersonic_outletbc_primitiveSubroutine

Supersonic outlet boundary condition. All the values of state variables are copied from inside the domain

surface_pointswallSubroutine

Extract surface points and store them in a string vector str(ind)

temp_based_densitybc_primitiveSubroutine

Specify the density in the ghost cell based on the temperature on the wall. Isothermal or adiabatic

total_pressurebc_primitiveSubroutine

Total Pressure Riemann boundary condition

update_KKL_variableslusgsSubroutine

Update the RANS (k-kL) equation with LU-SGS

update_laminar_variablesplusgsSubroutine

Update laminar flow with LU-SGS scheme

update_laminar_variableslusgsSubroutine

Update laminar flow with LU-SGS scheme

update_lctm2015plusgsSubroutine

Update the RANS/transition (LCTM2015) equation with LU-SGS

update_lctm2015lusgsSubroutine

Update the RANS (LCTM2015 transition model with SST2003) equation with LU-SGS

update_SA_variablesplusgsSubroutine

Update the RANS (SA) equation with LU-SGS

update_SA_variableslusgsSubroutine

Update the RANS (SA) equation with LU-SGS

update_simulation_clocktimeSubroutine

Update the simulation clock

Read more…
update_SST_variablesplusgsSubroutine

Update the RANS (SST) equation with LU-SGS

update_SST_variableslusgsSubroutine

Update the RANS (SST) equation with LU-SGS

update_withupdateSubroutine

A generalized scheme to updat the solution explicitly using any RK method and even first order euler explicit.

update_with_lusgslusgsSubroutine

Time-integrate with LU_SGS method

update_with_plusgsplusgsSubroutine

Time-integrate with LU_SGS method

verify_read_controlcheck_output_controlSubroutine

Verify all the variable being asked to read in the output file. This is a fail-safe subroutine which do not allow to read the incorrect input variable. Based on previous flow type some varible might be skipped

verify_write_controlcheck_output_controlSubroutine

Verify all the variable being asked to write in the output file. This is a fail-safe subroutine which do not allow to write the incorrect input variable

vol_hexahedrongeometryFunction

Compute the volume of a hexahedron, given a list of points

vol_tetrahedrongeometryFunction

Compute the volume of a tetrahedron, given 4 points which are 1-D arrays Since we know that the determinant is to be evaluated of a 3x3 matrix, we write the expression itself

wallbc_primitiveSubroutine

Adiabatic/Isothermal wall boundary condition

write_filewrite_output_tec_nodeSubroutine

Write output file in the tecplot format with node data

write_filewrite_output_vtkSubroutine

Write the header and variables in the file "process_xx.dat"

write_filewrite_output_tecSubroutine

Write the header and variables in the file "process_xx.dat".

write_filewrite_outputSubroutine

Writing output in the file according to the input file type

write_gridwrite_output_tec_nodeSubroutine

Write grid information in the output file

write_gridwrite_output_vtkSubroutine

Write the grid information in the output file

write_gridwrite_output_tecSubroutine

Write the grid information in the output file

write_headerwrite_output_tec_nodeSubroutine

Write the header in the output file

write_headerwrite_output_vtkSubroutine

Write the header in the output file in the tecplot format

write_headerwrite_output_tecSubroutine

Write the header in the output file in the tecplot format

write_initial_resnormdump_solutionSubroutine

Writing Initial resnorom in the log file to maintian continuity of resnorm while restrarting

write_resnormresnormSubroutine

Writing the residual in the file to save.

write_restart_logdump_solutionSubroutine

Call to write log file in the subdirectory "restart". It is useful information while restarting the solver

write_scalarwrite_output_tec_nodeSubroutine

Write scalar variable in the output file

write_scalarwrite_output_vtkSubroutine

Write the scalar variable in the output file

write_scalarwrite_output_tecSubroutine

Write the scalar variable in the output file

write_surfnodewallSubroutine

Extract and write the wall surface node points in a file shared by all the MPI processes

write_timetimeFunction

Particular format to write time in output log file

write_velocitywrite_output_vtkSubroutine

Write the velocity vector in the output file