Modules

ModuleSource FileDescription
cdifs ../../cdifs.f90

Constant Density Incompressible Flow Solver. Available Features: + HYPRE solvers for the pressure-Poisson equation + Immersed Boundaries + Resolved Particles x Lagrangian point-particles (to-do)

Read more…
   cdifs_AdvanceSolution_smod ../../cdifs_advance.f90
   cdifs_Monitor_smod ../../cdifs_monitor.f90
   cdifs_PrepareSolver_smod ../../cdifs_prepare.f90
   cdifs_WriteOutputData_smod ../../cdifs_output.f90
   cdifs_WriteRestartData_smod ../../cdifs_restart.f90
cdifs_cases ../../cdifs_cases.f90

Simulation cases for CDIFS

Read more…
   cavity_smod ../../cdifs_lid_driven_cavity.f90

Solver: CDIFS Description: Flow in cavity driven by a sliding lid References: Ghia, Ghia, and Shin (1982), "High-Re solutions for incompressible flow using the Navier-Stokes equations and a multigrid method", Journal of Computational Physics, Vol. 48, pp. 387-411.

Read more…
   channel_flow_smod ../../cdifs_channel_flow.f90

Solver: CDIFS Description: Laminar/Turbulent Channel Flow References: H. Dave, M.H. Kasbaoui, Mechanisms of drag reduction by semidilute inertial particles in turbulent channel flow, Phys. Rev. Fluids 8 (2023) 084305.

Read more…
   lamb_oseen_smod ../../cdifs_lamb_oseen.f90

Solver: CDIFS Description: Lamb-Oseen vortex References: Shuai, Shuai, and M. Houssem Kasbaoui. 2022. “Accelerated Decay of a Lamb–Oseen Vortex Tube Laden with Inertial Particles in Eulerian–Lagrangian Simulations.” Journal of Fluid Mechanics 936.

Read more…
   taylor_green_smod ../../cdifs_taylor_green.f90

Solver: CDIFS Description: Taylor-Green vortex References: Abdelsamiei A., et al. The Taylor–Green vortex as a benchmark for high-fidelity combustion simulations using low-Mach solvers. Computers & Fluids, Volume 223, 2021.

Read more…
   vortex_dipole_smod ../../cdifs_vortex_dipole.f90

Solver: CDIFS Description: A vortex dipole is a 2D vortex pair that is self-propelling References: R. Verzicco, P. Orlandi, A finite-difference scheme for three-dimensional incompressible flows in cylindrical coordinates, J. Comput. Phys. 123 (1996) 402–414 O. Desjardins, et al, High order conservative finite difference scheme for variable desnity low Mach number turbulent flows, J. Comput. Phys. 227 (2008) 7125-7159

Read more…
   vortex_impingement_smod ../../cdifs_vortex_impingement.f90

Solver: CDIFS Description: Vortex dipole impinging on bottom wall References:

Read more…
   cylinder_smod ../../cdifs_cylinder.f90

Solver: CDIFS Description: Flow past a cylinder References: Dave, H., Herrmann, M. & Kasbaoui, M. H. The volume-filtering immersed boundary method. Journal of Computational Physics 487, 112136 (2023).

Read more…
   rebound_smod ../../cdifs_rebound.f90

Solver: CDIFS Description: Particle rebound References:

Read more…
   settling_sphere_smod ../../cdifs_settling_sphere.f90

Solver: CDIFS Description: A sphere settling in a quiscent flow References: Dave, H., Herrmann, M. & Kasbaoui, M. H. The volume-filtering immersed boundary method. Journal of Computational Physics 487, 112136 (2023).

Read more…
grans ../../grans.f90 Read more…
   grans_AdvanceSolution_smod ../../grans_advance.f90
   grans_module_smod ../../grans_monitor.f90
   grans_PrepareSolver_smod ../../grans_prepare.f90
   grans_WriteOutputData_smod ../../grans_output.f90
   grans_WriteRestartData_smod ../../grans_restart.f90
grans_cases ../../grans_cases.f90

Simulation cases for GranS (Granular flow solver)

Read more…
   headon_collision_smod ../../grans_headon_collision.f90

Solver: GRANS Description: Head-on Collision. Performs head-on collisions between point particles (PP) and/or resolved particles (RP). References:

Read more…
   homogeneous_cooling_smod ../../grans_homogeneous_cooling.f90

Solver: GRANS Description: Simulates the cooling of an initially homogeneous system (i.e., randomly placed) of particles (either point particles (PP) and/or resolved particles (RP)) due to inelastic collisions. References: Haff, P. K., 1983, “Grain Flow as a Fluid-Mechanical Phenomenon,” Journal of Fluid Mechanics, 134, pp. 401–430.

Read more…
   rotating_drum_smod ../../grans_rotating_drum.f90

Solver: GRANS Description: Granular particles in a rotating drum. References: Sack, A., and Pöschel, T., 2016, “Dissipation of Energy by Dry Granular Matter in a Rotating Cylinder,” Sci Rep, 6(1), p. 26833.

Read more…
immersed_boundaries ../../immersed_boundaries.f90 Read more…
immersed_boundaries_markers ../../immersed_boundaries_markers.f90

Treatment of surface markers for direct-forcing immersed boundary methods

Read more…
immersed_boundaries_solids ../../immersed_boundaries_solids.f90

tools to represent a collection of immersed solids using surface markers

Read more…
leapBC ../../leapbc.f90

Defines and manages boundary conditions. Current limitations: - Supports only second order schemes. - Neumann BC assume gradient=0. - Symmetry BC are not implemented yet.

Read more…
leapBlock ../../leapblock.f90 Read more…
leapCases ../../leapcases.f90 Read more…
leapCli ../../leapcli.f90 Read more…
leapCuda ../../leapcuda.f90 Read more…
leapDiffOp ../../leapdiffop.f90 Read more…
leapEulerian ../../leapeulerian.f90 Read more…
leapHypre ../../leaphypre.f90

M o h a m e d

H o u s s e m

K a s b a o u i

Read more…
leapIO ../../leapio.f90 Read more…
leapIO_h5hut ../../leapio_h5hut.f90 Read more…
leapIO_hdf5 ../../leapio_hdf5.f90 Read more…
leapIO_mpi ../../leapio_nga.f90 Read more…
leapIO_silo ../../leapio_silo.f90 Read more…
leapKinds ../../leapkinds.f90

Defines working precision, integer and real kinds, and string sizes used in LEAP.

Read more…
leapLagrangian ../../leaplagrangian.f90 Read more…
leapMonitor ../../leapmonitor.f90

A module that writes data computed on-the-fly to the stdout and/or ascii files.

Read more…
leapParallel ../../leapparallel.f90 Read more…
leapParser ../../leapparser.f90 Read more…
leapSolver ../../leapsolver.f90 Read more…
leapTimer ../../leaptimer.f90 Read more…
leapUtils ../../leaputils.f90

Utilities for LEAP. Currently implemented: - Subroutine that creates a directory - Singly-linked lists - Hash table with chaining

Read more…
particles_point ../../particles_point.f90 Read more…
   nga_smod ../../particles_point_nga.f90
particles_resolved ../../particles_resolved.f90

Methods to treat the particle phase as immersed boundaries in particle-resolved direct numerical simulations (PR-DNS)

Read more…
module~~graph~~ModuleGraph module~cavity_smod cavity_smod module~cdifs_cases cdifs_cases module~cavity_smod->module~cdifs_cases module~cdifs cdifs module~cdifs->module~cdifs_cases module~immersed_boundaries immersed_boundaries module~cdifs->module~immersed_boundaries module~leapbc leapBC module~cdifs->module~leapbc module~leapblock leapBlock module~cdifs->module~leapblock module~leapdiffop leapDiffOp module~cdifs->module~leapdiffop module~leapeulerian leapEulerian module~cdifs->module~leapeulerian module~leaphypre leapHypre module~cdifs->module~leaphypre module~leapkinds leapKinds module~cdifs->module~leapkinds module~leapmonitor leapMonitor module~cdifs->module~leapmonitor module~leapparallel leapParallel module~cdifs->module~leapparallel module~leapparser leapParser module~cdifs->module~leapparser module~leapsolver leapSolver module~cdifs->module~leapsolver module~leaptimer leapTimer module~cdifs->module~leaptimer module~particles_resolved particles_resolved module~cdifs->module~particles_resolved module~cdifs_advancesolution_smod cdifs_AdvanceSolution_smod module~cdifs_advancesolution_smod->module~cdifs module~leapcases leapCases module~cdifs_cases->module~leapcases module~cdifs_cases->module~leapeulerian module~cdifs_cases->module~leapkinds module~cdifs_monitor_smod cdifs_Monitor_smod module~cdifs_monitor_smod->module~cdifs module~cdifs_preparesolver_smod cdifs_PrepareSolver_smod module~cdifs_preparesolver_smod->module~cdifs module~cdifs_writeoutputdata_smod cdifs_WriteOutputData_smod module~cdifs_writeoutputdata_smod->module~cdifs module~cdifs_writerestartdata_smod cdifs_WriteRestartData_smod module~cdifs_writerestartdata_smod->module~cdifs module~channel_flow_smod channel_flow_smod module~channel_flow_smod->module~cdifs_cases module~cylinder_smod cylinder_smod module~cylinder_smod->module~cdifs_cases module~grans grans module~grans_cases grans_cases module~grans->module~grans_cases module~grans->module~immersed_boundaries module~grans->module~leapblock module~grans->module~leapeulerian module~grans->module~leaphypre module~grans->module~leapkinds module~grans->module~leapmonitor module~grans->module~leapparallel module~grans->module~leapparser module~grans->module~leapsolver module~grans->module~leaptimer module~particles_point particles_point module~grans->module~particles_point module~grans->module~particles_resolved module~grans_advancesolution_smod grans_AdvanceSolution_smod module~grans_advancesolution_smod->module~grans module~grans_cases->module~immersed_boundaries module~grans_cases->module~leapcases module~grans_cases->module~leapeulerian module~grans_cases->module~leapkinds module~grans_cases->module~particles_point module~grans_cases->module~particles_resolved module~grans_module_smod grans_module_smod module~grans_module_smod->module~grans module~grans_preparesolver_smod grans_PrepareSolver_smod module~grans_preparesolver_smod->module~grans module~grans_writeoutputdata_smod grans_WriteOutputData_smod module~grans_writeoutputdata_smod->module~grans module~grans_writerestartdata_smod grans_WriteRestartData_smod module~grans_writerestartdata_smod->module~grans module~headon_collision_smod headon_collision_smod module~headon_collision_smod->module~grans_cases module~homogeneous_cooling_smod homogeneous_cooling_smod module~homogeneous_cooling_smod->module~grans_cases module~immersed_boundaries_markers immersed_boundaries_markers module~immersed_boundaries->module~immersed_boundaries_markers module~immersed_boundaries_solids immersed_boundaries_solids module~immersed_boundaries->module~immersed_boundaries_solids module~immersed_boundaries_markers->module~leapblock module~immersed_boundaries_markers->module~leapdiffop module~immersed_boundaries_markers->module~leapeulerian module~immersed_boundaries_markers->module~leaphypre module~leapio leapIO module~immersed_boundaries_markers->module~leapio module~immersed_boundaries_markers->module~leapkinds module~leaplagrangian leapLagrangian module~immersed_boundaries_markers->module~leaplagrangian module~immersed_boundaries_markers->module~leapmonitor module~immersed_boundaries_markers->module~leapparallel module~immersed_boundaries_markers->module~leapparser module~immersed_boundaries_markers->module~leaptimer module~immersed_boundaries_solids->module~immersed_boundaries_markers module~immersed_boundaries_solids->module~leapblock module~immersed_boundaries_solids->module~leapeulerian module~immersed_boundaries_solids->module~leapio module~immersed_boundaries_solids->module~leapkinds module~immersed_boundaries_solids->module~leaplagrangian module~immersed_boundaries_solids->module~leapparallel module~lamb_oseen_smod lamb_oseen_smod module~lamb_oseen_smod->module~cdifs_cases module~leapbc->module~leapblock module~leapbc->module~leapeulerian module~leapbc->module~leapkinds module~leapbc->module~leapparallel module~leaputils leapUtils module~leapbc->module~leaputils mpi_f08 mpi_f08 module~leapbc->mpi_f08 module~leapblock->module~leapkinds module~leapblock->module~leapparallel module~leapblock->mpi_f08 module~leapcases->module~leapblock module~leapcases->module~leapkinds module~leapcases->module~leapparallel module~leapcases->module~leapparser module~leapcli leapCli module~leapcli->module~leapkinds module~leapcuda leapCuda iso_c_binding iso_c_binding module~leapcuda->iso_c_binding module~leapdiffop->module~leapbc module~leapdiffop->module~leapblock module~leapdiffop->module~leapeulerian module~leapdiffop->module~leapkinds module~leapdiffop->module~leapparallel module~leapeulerian->module~leapblock module~leapeulerian->module~leapio module~leapio_mpi leapIO_mpi module~leapeulerian->module~leapio_mpi module~leapeulerian->module~leapkinds module~leapeulerian->module~leapparallel module~leapeulerian->module~leapparser module~leapeulerian->module~leaputils module~leapeulerian->mpi_f08 module~leaphypre->module~leapblock module~leaphypre->module~leapeulerian module~leaphypre->module~leapkinds module~leaphypre->module~leapparallel module~leaphypre->iso_c_binding module~leaphypre->mpi_f08 module~leapio_h5hut leapIO_h5hut module~leapio->module~leapio_h5hut module~leapio_hdf5 leapIO_hdf5 module~leapio->module~leapio_hdf5 module~leapio->module~leapio_mpi module~leapio_silo leapIO_silo module~leapio->module~leapio_silo module~leapio_h5hut->module~leapkinds module~leapio_h5hut->module~leapparallel h5hut h5hut module~leapio_h5hut->h5hut module~leapio_hdf5->module~leapkinds module~leapio_hdf5->module~leapparallel module~leapio_hdf5->module~leaputils hdf5 hdf5 module~leapio_hdf5->hdf5 module~leapio_mpi->module~leapblock module~leapio_mpi->module~leapkinds module~leapio_mpi->module~leapparallel module~leapio_mpi->mpi_f08 module~leapio_silo->module~leapblock module~leapio_silo->module~leapkinds module~leapio_silo->module~leapparallel module~leapio_silo->module~leaputils module~leapio_silo->mpi_f08 iso_fortran_env iso_fortran_env module~leapkinds->iso_fortran_env module~leaplagrangian->module~leapblock module~leaplagrangian->module~leapio module~leaplagrangian->module~leapkinds module~leaplagrangian->module~leapparallel module~leaplagrangian->module~leapparser module~leaplagrangian->module~leaputils module~leaplagrangian->mpi_f08 module~leapmonitor->module~leapkinds module~leapmonitor->module~leapparallel module~leapmonitor->module~leaputils module~leapparallel->module~leapkinds module~leapparallel->module~leapparser module~leapparallel->mpi_f08 module~leapparser->module~leapcli module~leapparser->module~leapkinds module~leapsolver->module~leapkinds module~leapsolver->module~leapparallel module~leapsolver->module~leapparser module~leapsolver->module~leaptimer module~leaptimer->module~leapkinds module~leaptimer->module~leapparser module~leaputils->module~leapkinds module~leaputils->mpi_f08 module~nga_smod nga_smod module~nga_smod->module~particles_point module~particles_point->module~leapblock module~particles_point->module~leapeulerian module~particles_point->module~leapio module~particles_point->module~leapkinds module~particles_point->module~leaplagrangian module~particles_point->module~leapparallel module~particles_point->mpi_f08 module~particles_resolved->module~immersed_boundaries module~particles_resolved->module~leapblock module~particles_resolved->module~leapdiffop module~particles_resolved->module~leapeulerian module~particles_resolved->module~leapio module~particles_resolved->module~leapkinds module~particles_resolved->module~leaplagrangian module~particles_resolved->module~leapmonitor module~particles_resolved->module~leapparallel module~particles_resolved->module~leapparser module~particles_resolved->module~leaptimer module~rebound_smod rebound_smod module~rebound_smod->module~cdifs_cases module~rotating_drum_smod rotating_drum_smod module~rotating_drum_smod->module~grans_cases module~settling_sphere_smod settling_sphere_smod module~settling_sphere_smod->module~cdifs_cases module~taylor_green_smod taylor_green_smod module~taylor_green_smod->module~cdifs_cases module~vortex_dipole_smod vortex_dipole_smod module~vortex_dipole_smod->module~cdifs_cases module~vortex_impingement_smod vortex_impingement_smod module~vortex_impingement_smod->module~cdifs_cases proc~add_markers add_markers proc~add_markers->module~immersed_boundaries proc~add_markers->module~particles_resolved proc~add_markers~2 add_markers proc~add_markers~2->module~immersed_boundaries proc~add_markers~2->module~particles_resolved proc~bc_set_buildmask bc_set%bc_set_BuildMask proc~bc_set_buildmask->module~leapeulerian proc~bc_set_info bc_set%bc_set_Info proc~bc_set_info->iso_fortran_env proc~bc_set_read bc_set%bc_set_Read proc~bc_set_read->module~leapio proc~bc_set_write bc_set%bc_set_Write proc~bc_set_write->module~leapio proc~block_obj_info block_obj%block_obj_Info proc~block_obj_info->iso_fortran_env proc~block_obj_locate block_obj%block_obj_Locate proc~block_obj_locate->mpi_f08 proc~block_obj_read block_obj%block_obj_Read proc~block_obj_read->module~leapio_hdf5 proc~block_obj_write block_obj%block_obj_Write proc~block_obj_write->module~leapio_hdf5 proc~cdifs_channel_flow_bcs cdifs_channel_flow_bcs proc~cdifs_channel_flow_bcs->module~leapbc proc~cdifs_channel_flow_block cdifs_channel_flow_block proc~cdifs_channel_flow_block->module~leapblock proc~cdifs_cylinder_bcs cdifs_cylinder_bcs proc~cdifs_cylinder_bcs->module~leapbc proc~cdifs_cylinder_ib cdifs_cylinder_IB proc~cdifs_cylinder_ib->module~immersed_boundaries proc~cdifs_lamb_oseen_bcs cdifs_lamb_oseen_bcs proc~cdifs_lamb_oseen_bcs->module~leapbc proc~cdifs_lid_driven_cavity_bcs cdifs_lid_driven_cavity_bcs proc~cdifs_lid_driven_cavity_bcs->module~leapbc proc~cdifs_lid_driven_cavity_block cdifs_lid_driven_cavity_block proc~cdifs_lid_driven_cavity_block->module~leapblock proc~cdifs_obj_preparesolveroperators cdifs_obj_PrepareSolverOperators proc~cdifs_obj_preparesolveroperators->module~leapbc proc~cdifs_obj_preparesolveroperatorsdiv cdifs_obj_PrepareSolverOperatorsDIV proc~cdifs_obj_preparesolveroperatorsdiv->module~leapbc proc~cdifs_obj_preparesolveroperatorspgrad cdifs_obj_PrepareSolverOperatorsPGRAD proc~cdifs_obj_preparesolveroperatorspgrad->module~leapbc proc~cdifs_obj_preparesolveroperatorsvlap cdifs_obj_PrepareSolverOperatorsVLAP proc~cdifs_obj_preparesolveroperatorsvlap->module~leapbc proc~cdifs_rebound_bcs cdifs_rebound_bcs proc~cdifs_rebound_bcs->module~leapbc proc~cdifs_rebound_ib cdifs_rebound_IB proc~cdifs_rebound_ib->module~immersed_boundaries proc~cdifs_rebound_respart cdifs_rebound_ResPart proc~cdifs_rebound_respart->module~particles_resolved proc~cdifs_settling_sphere_bcs cdifs_settling_sphere_bcs proc~cdifs_settling_sphere_bcs->module~leapbc proc~cdifs_settling_sphere_ib cdifs_settling_sphere_IB proc~cdifs_settling_sphere_ib->module~immersed_boundaries proc~cdifs_settling_sphere_respart cdifs_settling_sphere_ResPart proc~cdifs_settling_sphere_respart->module~particles_resolved proc~cdifs_taylor_green_bcs cdifs_taylor_green_bcs proc~cdifs_taylor_green_bcs->module~leapbc proc~cdifs_vortex_dipole_bcs cdifs_vortex_dipole_bcs proc~cdifs_vortex_dipole_bcs->module~leapbc proc~cdifs_vortex_impingement_bcs cdifs_vortex_impingement_bcs proc~cdifs_vortex_impingement_bcs->module~leapbc proc~cdifs_vortex_impingement_block cdifs_vortex_impingement_block proc~cdifs_vortex_impingement_block->module~leapblock proc~device_free device_free proc~device_free->iso_c_binding proc~device_get_attribute device_Get_Attribute proc~device_get_attribute->iso_c_binding proc~device_get_attribute->iso_fortran_env proc~device_get_count device_Get_Count proc~device_get_count->iso_c_binding proc~device_get_count->iso_fortran_env proc~device_malloc_managed device_malloc_managed proc~device_malloc_managed->iso_c_binding proc~device_malloc_managed->iso_fortran_env proc~eulerian_obj_info eulerian_obj_base%eulerian_obj_Info proc~eulerian_obj_info->iso_fortran_env proc~eulerian_set_info eulerian_set%eulerian_set_Info proc~eulerian_set_info->iso_fortran_env proc~grans_obj_preparesolver_operators grans_obj_PrepareSolver_operators proc~grans_obj_preparesolver_operators->module~leapdiffop proc~hdf5_obj_open hdf5_obj%hdf5_obj_Open proc~hdf5_obj_open->mpi_f08 proc~hdf5_obj_read1d hdf5_obj%hdf5_obj_Read1D proc~hdf5_obj_read1d->iso_c_binding proc~hdf5_obj_read3d hdf5_obj%hdf5_obj_Read3D proc~hdf5_obj_read3d->iso_c_binding proc~hdf5_obj_readattributes0d hdf5_obj%hdf5_obj_ReadAttributes0D proc~hdf5_obj_readattributes0d->iso_c_binding proc~hdf5_obj_readattributes1d hdf5_obj%hdf5_obj_ReadAttributes1D proc~hdf5_obj_readattributes1d->iso_c_binding proc~hdf5_obj_readgroupnames hdf5_obj%hdf5_obj_ReadGroupNames proc~hdf5_obj_readgroupnames->iso_c_binding proc~hdf5_obj_writeattributes0d hdf5_obj%hdf5_obj_WriteAttributes0D proc~hdf5_obj_writeattributes0d->iso_c_binding proc~hypre_obj_final hypre_obj%hypre_obj_Final proc~hypre_obj_final->module~leapcuda proc~hypre_obj_setuppointersij hypre_obj%hypre_obj_SetupPointersIJ proc~hypre_obj_setuppointersij->module~leapcuda proc~hypre_obj_setuppointersij->iso_c_binding proc~lagrangian_set_info lagrangian_set%lagrangian_set_Info proc~lagrangian_set_info->iso_fortran_env proc~leap_create_directory leap_create_directory proc~leap_create_directory->iso_fortran_env proc~marker_obj_info marker_obj%marker_obj_Info proc~marker_obj_info->iso_fortran_env proc~marker_set_computesolidvolfrac marker_set%marker_set_ComputeSolidVolFrac proc~marker_set_computesolidvolfrac->module~leapdiffop proc~marker_set_setmpidatatypeparams marker_set%marker_set_SetMPIDataTypeParams proc~marker_set_setmpidatatypeparams->mpi_f08 proc~monitor_set_info monitor_set%monitor_set_Info proc~monitor_set_info->iso_fortran_env proc~op_obj_applylaplaciandc op_obj%op_obj_ApplyLaplacianDC proc~op_obj_applylaplaciandc->module~leapbc proc~parallel_obj_stop parallel_obj%parallel_obj_stop proc~parallel_obj_stop->iso_fortran_env proc~parser_obj_print parser_obj%parser_obj_print proc~parser_obj_print->iso_fortran_env proc~respart_set_setmpidatatypeparams ResPart_set%ResPart_set_SetMPIDataTypeParams proc~respart_set_setmpidatatypeparams->mpi_f08 program~main main program~main->module~cdifs program~main->module~grans program~main->module~leapcli program~main->module~leapkinds program~main->module~leapparallel program~main->module~leapparser program~main->module~leapsolver program~main->module~leaptimer
Help