AGRIF
Adaptive Grid Refinement In Fortran
agrif_user_hierarchy Module Reference

Module Agrif_User_Hierarchy. More...

Data Types

interface  step_proc
 

Functions/Subroutines

subroutine agrif_step (procname)
 This subroutine Creates the grid hierarchy and manages the time integration procedure. It should be called in the main program and calls the procname recursively for each grid. It also takes account the time refinement factor and Calls subroutines Agrif_Regrid and Agrif_Integrate. More...
 
subroutine agrif_step_child (procname)
 This subroutine calls 'procname' recursively for each grid and do not take account the time refinement factor. It Applies 'procname' to each grid of the hierarchy. More...
 
subroutine agrif_step_childs (procname)
 The subroutine Agrif_Step_Childs calls 'procname' recursively on each child grid of the current coarse grid and take account the time refinement. So, it Applies 'procname' to each child grids of the current grid. More...
 
subroutine agrif_regrid (procname)
 This subroutine creates the grid hierarchy from fixed grids and adaptive mesh refinement. More...
 
recursive subroutine agrif_integrate_childgrids (procname)
 This subroutine manages the time integration of the grid hierarchy. It Calls the subroutine procname on each child grid of the current grid. More...
 
subroutine agrif_init_grids (procname1, procname2)
 This subroutine initializes the root coarse grid pointed by #Agrif_Mygrid. It is called in the main program. More...
 
subroutine agrif_deallocation
 This subroutine deallocates all data arrays. More...
 
subroutine agrif_step_adj (procname)
 This subroutine creates the grid hierarchy and manages the backward time integration procedure. It is called in the main program and calls subroutines Agrif_Regrid() and Agrif_Integrate_adj(). More...
 
subroutine agrif_step_child_adj (procname)
 This subroutine applies 'procname' to each grid of the hierarchy from Child to Parent. More...
 

Detailed Description

Module Agrif_User_Hierarchy.

This module contains procedures we used to manage the grid hierarchy. For example the procedures below are called in the main program :

  • #Agrif_Init_Grids allows the initialization of the root coarse grid.
  • #Agrif_Step allows the creation of the grid hierarchy and the management of the time integration.

Function/Subroutine Documentation

subroutine agrif_user_hierarchy::agrif_step ( procedure(step_proc procname)

This subroutine Creates the grid hierarchy and manages the time integration procedure. It should be called in the main program and calls the procname recursively for each grid. It also takes account the time refinement factor and Calls subroutines Agrif_Regrid and Agrif_Integrate.

Parameters
procnamesubroutine to call on each grid
subroutine agrif_user_hierarchy::agrif_step_child ( procedure(step_proc procname)

This subroutine calls 'procname' recursively for each grid and do not take account the time refinement factor. It Applies 'procname' to each grid of the hierarchy.

Parameters
procnamesubroutine to call on each grid
subroutine agrif_user_hierarchy::agrif_step_childs ( procedure(step_proc procname)

The subroutine Agrif_Step_Childs calls 'procname' recursively on each child grid of the current coarse grid and take account the time refinement. So, it Applies 'procname' to each child grids of the current grid.

Parameters
procnamesubroutine to call on each grid
subroutine agrif_user_hierarchy::agrif_regrid ( procedure(init_proc), optional  procname)

This subroutine creates the grid hierarchy from fixed grids and adaptive mesh refinement.

Parameters
procnameInitialisation subroutine (Default: Agrif_InitValues)
recursive subroutine agrif_user_hierarchy::agrif_integrate_childgrids ( procedure(step_proc procname)

This subroutine manages the time integration of the grid hierarchy. It Calls the subroutine procname on each child grid of the current grid.

Parameters
procnameSubroutine to call on each grid
subroutine agrif_user_hierarchy::agrif_init_grids ( procedure(typedef_proc), optional  procname1,
procedure(alloc_proc), optional  procname2 
)

This subroutine initializes the root coarse grid pointed by #Agrif_Mygrid. It is called in the main program.

Parameters
procname1(Default: Agrif_probdim_modtype_def)
procname2(Default: Agrif_Allocationcalls)
subroutine agrif_user_hierarchy::agrif_deallocation ( )

This subroutine deallocates all data arrays.

subroutine agrif_user_hierarchy::agrif_step_adj ( procedure(step_proc procname)

This subroutine creates the grid hierarchy and manages the backward time integration procedure. It is called in the main program and calls subroutines Agrif_Regrid() and Agrif_Integrate_adj().

Parameters
procnameSubroutine to call on each grid
subroutine agrif_user_hierarchy::agrif_step_child_adj ( procedure(step_proc procname)

This subroutine applies 'procname' to each grid of the hierarchy from Child to Parent.

Parameters
procnameSubroutine to call on each grid