grans_cases Module

Simulation cases for GranS (Granular flow solver)

Note: Each new case must have: 1) an interface to a module subroutine where block and other simulation data are defined. 2) An implementation of this module subroutine in a submodule added in the src/cases folder. 3) name of the case, and call to the module subroutine added to the subroutine case_obj_setup



Uses

  • module~~grans_cases~~UsesGraph module~grans_cases grans_cases module~immersed_boundaries immersed_boundaries module~grans_cases->module~immersed_boundaries module~leapcases leapCases module~grans_cases->module~leapcases module~leapeulerian leapEulerian module~grans_cases->module~leapeulerian module~leapkinds leapKinds module~grans_cases->module~leapkinds module~particles_point particles_point module~grans_cases->module~particles_point module~particles_resolved particles_resolved module~grans_cases->module~particles_resolved 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~leapcases->module~leapkinds module~leapblock leapBlock module~leapcases->module~leapblock module~leapparallel leapParallel module~leapcases->module~leapparallel module~leapparser leapParser module~leapcases->module~leapparser module~leapeulerian->module~leapkinds module~leapeulerian->module~leapblock module~leapio leapIO module~leapeulerian->module~leapio module~leapio_mpi leapIO_mpi module~leapeulerian->module~leapio_mpi module~leapeulerian->module~leapparallel module~leapeulerian->module~leapparser module~leaputils leapUtils module~leapeulerian->module~leaputils mpi_f08 mpi_f08 module~leapeulerian->mpi_f08 iso_fortran_env iso_fortran_env module~leapkinds->iso_fortran_env module~particles_point->module~leapeulerian module~particles_point->module~leapkinds module~particles_point->module~leapblock module~particles_point->module~leapio module~leaplagrangian leapLagrangian 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~leapeulerian module~particles_resolved->module~leapkinds module~particles_resolved->module~leapblock module~leapdiffop leapDiffOp module~particles_resolved->module~leapdiffop module~particles_resolved->module~leapio module~particles_resolved->module~leaplagrangian module~leapmonitor leapMonitor module~particles_resolved->module~leapmonitor module~particles_resolved->module~leapparallel module~particles_resolved->module~leapparser module~leaptimer leapTimer module~particles_resolved->module~leaptimer module~immersed_boundaries_markers->module~leapeulerian module~immersed_boundaries_markers->module~leapkinds module~immersed_boundaries_markers->module~leapblock module~immersed_boundaries_markers->module~leapdiffop module~immersed_boundaries_markers->module~leapio 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~leaphypre leapHypre module~immersed_boundaries_markers->module~leaphypre module~immersed_boundaries_solids->module~leapeulerian module~immersed_boundaries_solids->module~leapkinds module~immersed_boundaries_solids->module~immersed_boundaries_markers module~immersed_boundaries_solids->module~leapblock module~immersed_boundaries_solids->module~leapio module~immersed_boundaries_solids->module~leaplagrangian module~immersed_boundaries_solids->module~leapparallel module~leapblock->module~leapkinds module~leapblock->module~leapparallel module~leapblock->mpi_f08 module~leapdiffop->module~leapeulerian module~leapdiffop->module~leapkinds module~leapdiffop->module~leapblock module~leapdiffop->module~leapparallel module~leapbc leapBC module~leapdiffop->module~leapbc module~leapio->module~leapio_mpi module~leapio_h5hut leapIO_h5hut module~leapio->module~leapio_h5hut module~leapio_hdf5 leapIO_hdf5 module~leapio->module~leapio_hdf5 module~leapio_silo leapIO_silo module~leapio->module~leapio_silo module~leapio_mpi->module~leapkinds module~leapio_mpi->module~leapblock module~leapio_mpi->module~leapparallel module~leapio_mpi->mpi_f08 module~leaplagrangian->module~leapkinds module~leaplagrangian->module~leapblock module~leaplagrangian->module~leapio 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~leapkinds module~leapcli leapCli module~leapparser->module~leapcli module~leaptimer->module~leapkinds module~leaptimer->module~leapparser module~leaputils->module~leapkinds module~leaputils->mpi_f08 module~leapbc->module~leapeulerian module~leapbc->module~leapkinds module~leapbc->module~leapblock module~leapbc->module~leapparallel module~leapbc->module~leaputils module~leapbc->mpi_f08 module~leapcli->module~leapkinds module~leaphypre->module~leapeulerian module~leaphypre->module~leapkinds module~leaphypre->module~leapblock module~leaphypre->module~leapparallel module~leaphypre->mpi_f08 iso_c_binding iso_c_binding module~leaphypre->iso_c_binding 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_silo->module~leapkinds module~leapio_silo->module~leapblock module~leapio_silo->module~leapparallel module~leapio_silo->module~leaputils module~leapio_silo->mpi_f08

Used by

  • module~~grans_cases~~UsedByGraph module~grans_cases grans_cases module~grans grans module~grans->module~grans_cases 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~rotating_drum_smod rotating_drum_smod module~rotating_drum_smod->module~grans_cases module~grans_advancesolution_smod grans_AdvanceSolution_smod module~grans_advancesolution_smod->module~grans 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 program~main main program~main->module~grans

Interfaces

interface

  • private module subroutine grans_headon_collision(this)

    Head-on Collision

    Arguments

    Type IntentOptional Attributes Name
    class(grans_case_obj), intent(inout) :: this

interface

  • private module subroutine grans_homogeneous_cooling(this)

    Homogeneous Cooling

    Arguments

    Type IntentOptional Attributes Name
    class(grans_case_obj), intent(inout) :: this

interface

  • private module subroutine grans_rotating_drum(this)

    Granular particles in a rotating drum.

    Arguments

    Type IntentOptional Attributes Name
    class(grans_case_obj), intent(inout) :: this

Derived Types

type, public, extends(case_obj) ::  grans_case_obj

Simulation case manager for the GRANS solvere

Components

Type Visibility Attributes Name Initial
type(block_obj), public, pointer :: block => null()

Block information

character(len=str64), public :: name

Name of simulation case

type(parallel_obj), public, pointer :: parallel => null()

Associated parallel obj

type(parser_obj), public, pointer :: parser => null()

Associated parser

Type-Bound Procedures

procedure, public :: Finalize => case_obj_final
procedure, public :: Initialize => case_obj_init
procedure, public :: setup => case_obj_setup

Subroutines

private subroutine case_obj_setup(this)

Calls appropriate case

Arguments

Type IntentOptional Attributes Name
class(grans_case_obj), intent(inout) :: this