leapUtils Module

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



Uses

  • module~~leaputils~~UsesGraph module~leaputils leapUtils module~leapkinds leapKinds module~leaputils->module~leapkinds mpi_f08 mpi_f08 module~leaputils->mpi_f08 iso_fortran_env iso_fortran_env module~leapkinds->iso_fortran_env

Used by

  • module~~leaputils~~UsedByGraph module~leaputils leapUtils module~collisions collisions module~collisions->module~leaputils module~leapmonitor leapMonitor module~collisions->module~leapmonitor module~leaptimer leapTimer module~collisions->module~leaptimer module~particles_point particles_point module~collisions->module~particles_point module~particles_resolved particles_resolved module~collisions->module~particles_resolved module~immersed_boundaries immersed_boundaries module~collisions->module~immersed_boundaries module~leapbc leapBC module~leapbc->module~leaputils module~leapeulerian leapEulerian module~leapbc->module~leapeulerian module~leapeulerian->module~leaputils module~leapio leapIO module~leapeulerian->module~leapio module~leapio_hdf5 leapIO_hdf5 module~leapio_hdf5->module~leaputils module~leapio_silo leapIO_silo module~leapio_silo->module~leaputils module~leaplagrangian leapLagrangian module~leaplagrangian->module~leaputils module~leaplagrangian->module~leapio module~leapmonitor->module~leaputils module~leaptimer->module~leaputils module~cdifs cdifs module~cdifs->module~collisions module~cdifs->module~leapbc module~cdifs->module~leapeulerian module~cdifs->module~leapmonitor module~cdifs->module~leaptimer module~leapdiffop leapDiffOp module~cdifs->module~leapdiffop module~leaphypre leapHypre module~cdifs->module~leaphypre module~leapsolver leapSolver module~cdifs->module~leapsolver module~cdifs->module~particles_resolved module~cdifs->module~immersed_boundaries module~grans grans module~grans->module~collisions module~grans->module~leapbc module~grans->module~leapeulerian module~grans->module~leapmonitor module~grans->module~leaptimer module~grans->module~leapdiffop module~grans->module~leaphypre module~grans->module~leapsolver module~grans->module~particles_point module~grans->module~particles_resolved module~grans->module~immersed_boundaries module~immersed_boundaries_markers immersed_boundaries_markers module~immersed_boundaries_markers->module~leapeulerian module~immersed_boundaries_markers->module~leaplagrangian module~immersed_boundaries_markers->module~leapmonitor module~immersed_boundaries_markers->module~leaptimer module~immersed_boundaries_markers->module~leapdiffop module~immersed_boundaries_markers->module~leaphypre module~immersed_boundaries_markers->module~leapio module~immersed_boundaries_solids immersed_boundaries_solids module~immersed_boundaries_solids->module~leapeulerian module~immersed_boundaries_solids->module~leaplagrangian module~immersed_boundaries_solids->module~immersed_boundaries_markers module~immersed_boundaries_solids->module~leapio module~leapdiffop->module~leapbc module~leapdiffop->module~leapeulerian module~leaphypre->module~leapeulerian module~leapio->module~leapio_hdf5 module~leapio->module~leapio_silo module~leapsolver->module~leaptimer module~particles_point->module~leapeulerian module~particles_point->module~leaplagrangian module~particles_point->module~leapmonitor module~particles_point->module~leaptimer module~particles_point->module~leapdiffop module~particles_point->module~leapio module~particles_point->module~immersed_boundaries module~particles_resolved->module~leapeulerian module~particles_resolved->module~leaplagrangian module~particles_resolved->module~leapmonitor module~particles_resolved->module~leaptimer module~particles_resolved->module~leapdiffop module~particles_resolved->module~leapio module~particles_resolved->module~immersed_boundaries proc~bc_set_buildmask bc_set%bc_set_BuildMask proc~bc_set_buildmask->module~leapeulerian 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_obj_preparesolverbodyforce cdifs_obj_PrepareSolverBodyforce proc~cdifs_obj_preparesolverbodyforce->module~leapbc 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~op_obj_applylaplaciandc op_obj%op_obj_ApplyLaplacianDC proc~op_obj_applylaplaciandc->module~leapbc program~main main program~main->module~leaptimer program~main->module~cdifs program~main->module~grans program~main->module~leapsolver module~cdifs_advancesolution_smod cdifs_AdvanceSolution_smod module~cdifs_advancesolution_smod->module~cdifs 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~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 module~immersed_boundaries->module~immersed_boundaries_markers module~immersed_boundaries->module~immersed_boundaries_solids module~nga_smod nga_smod module~nga_smod->module~particles_point 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~grans_obj_preparesolveroperators grans_obj_PrepareSolverOperators proc~grans_obj_preparesolveroperators->module~leapdiffop proc~marker_set_computesolidvolfrac marker_set%marker_set_ComputeSolidVolFrac proc~marker_set_computesolidvolfrac->module~leapdiffop

Derived Types

type, public ::  hashtbl_obj

Hash table

Components

Type Visibility Attributes Name Initial
type(sllist_obj), public, allocatable :: vec(:)
integer, public :: vec_len = 0

Type-Bound Procedures

procedure, public :: Finalize => hashtbl_obj_final
procedure, public :: Get => hashtbl_obj_Get
procedure, public, nopass :: HashString => hashtbl_obj_HashString
procedure, public :: Initialize => hashtbl_obj_init
procedure, public :: Put => hashtbl_obj_Put

type, public ::  sllist_obj

Singly-linked list

Components

Type Visibility Attributes Name Initial
type(sllist_obj), public, pointer :: child => null()
integer, public :: key = -1
integer, public :: val = -1

Type-Bound Procedures

procedure, public :: Free => sllist_obj_Free
procedure, public :: Get => sllist_obj_Get
procedure, public :: Put => sllist_obj_Put

Functions

private pure function hashtbl_obj_HashString(str) result(val)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: str

Return Value integer


Subroutines

public subroutine leap_create_directory(dirname)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: dirname

private pure subroutine hashtbl_obj_Get(this, key, val)

Arguments

Type IntentOptional Attributes Name
class(hashtbl_obj), intent(in) :: this
integer, intent(in) :: key
integer, intent(out) :: val

private pure subroutine hashtbl_obj_Put(this, key, val)

Arguments

Type IntentOptional Attributes Name
class(hashtbl_obj), intent(inout) :: this
integer, intent(in) :: key
integer, intent(in) :: val

private pure subroutine hashtbl_obj_final(this)

Arguments

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

private pure subroutine hashtbl_obj_init(this, tbl_len)

Arguments

Type IntentOptional Attributes Name
class(hashtbl_obj), intent(inout) :: this
integer, intent(in) :: tbl_len

private pure recursive subroutine sllist_obj_Free(this)

Arguments

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

private pure recursive subroutine sllist_obj_Get(this, key, val)

Arguments

Type IntentOptional Attributes Name
class(sllist_obj), intent(in) :: this
integer, intent(in) :: key
integer, intent(out) :: val

private pure recursive subroutine sllist_obj_Put(this, key, val)

Arguments

Type IntentOptional Attributes Name
class(sllist_obj), intent(inout) :: this
integer, intent(in) :: key
integer, intent(in) :: val