Afivo  0.3
Modules List
Here is a list of all modules with brief descriptions:
[detail level 12]
 Nm_af_advanceModule with methods to perform time integration
 Csubr_feulerInterface for a generic forward Euler scheme for time integration
 Csubr_implicitInterface for a implicit solver for integrating stiff terms over time
 Nm_af_allModule which contains all Afivo modules, so that a user does not have to include them separately
 Nm_af_coreThis module contains the core routines of Afivo, namely those that deal with initializing and changing the quadtree/octree mesh
 Nm_af_flux_schemesModule containing a couple flux schemes for solving hyperbolic problems explicitly, as well as handling diffusion explicitly
 Csubr_prim_cons
 Csubr_max_wavespeed
 Csubr_flux
 Csubr_flux_upwind
 Csubr_flux_modify
 Csubr_flux_dir
 Csubr_line_modify
 Csubr_source
 Csubr_box_mask
 Nm_af_ghostcellThis module contains routines related to the filling of ghost cells. Note that corner ghost cells are not used in Afivo
 Nm_af_interpThis module contains routines related to interpolation, which can interpolate 'to' the grid and 'from' the grid (useful for e.g. particle simulations). The interpolation for meshes is called prolongation, see m_aX_prolong
 Nm_af_limitersModule containing slope limiters
 Nm_af_multigridThis module contains the geometric multigrid routines that come with Afivo
 Nm_af_outputThis module contains routines for writing output files with Afivo. The Silo format should probably be used for larger files, especially in 3D
 Csubr_add_vars
 Csubr_other_data
 Nm_af_particlesThis module contains routines related to , which can interpolate 'to' the grid and 'from' the grid (useful for e.g. particle simulations). The interpolation for meshes is called prolongation, see m_aX_prolong
 Csubr_particle_idTo get a particle id
 Csubr_particle_rwTo get a particle's coordinates and weight
 Nm_af_prolongThis module contains the routines related to prolongation: going from coarse to fine variables
 Nm_af_restrictThis module contains routines for restriction: going from fine to coarse variables
 Nm_af_stencilThis module contains functionality for dealing with numerical stencils
 Caf_subr_stencilSubroutine for setting a stencil on a box
 Nm_af_surfaceThis module contains routines for including flat surfaces between changes in epsilon (some material property). This can for example be used to include flat dielectrics in electrostatic computations
 Csurface_tType for a single surface
 Csurfaces_tType for storing all the surfaces on a mesh
 Cvalue_func
 Nm_af_typesThis module contains the basic types and constants that are used in the NDIM-dimensional version of Afivo, together with some basic routines
 Clvl_tType which contains the indices of all boxes at a refinement level, as well as a list with all the "leaf" boxes and non-leaf (parent) boxes
 Cref_lvl_tType that contains the refinement changes in a level
 Cref_info_tType that contains the refinement changes in a tree
 Caf_cc_methodsCollection of methods for a cell-centered variable
 Cstencil_tType for storing a numerical stencil for a box
 Cbox_tThe basic building block of afivo: a box with cell-centered and face centered data, and information about its position, neighbors, children etc
 Caf_tType which stores all the boxes and levels, as well as some information about the number of boxes, variables and levels
 Caf_loc_tType specifying the location of a cell
 Caf_subr_refSubroutine for setting refinement flags
 Caf_subrSubroutine that gets a box
 Caf_subr_argSubroutine that gets a box and an array of reals
 Caf_subr_boxesSubroutine that gets a list of boxes and a box id
 Caf_subr_boxes_argSubroutine that gets a list of boxes, an id and an array of reals
 Caf_subr_treeSubroutine that gets a tree and a box id
 Caf_subr_tree_argSubroutine that gets a tree, a box id and an array of reals
 Caf_subr_rbTo fill ghost cells near refinement boundaries
 Caf_subr_bcTo fill ghost cells near physical boundaries
 Caf_subr_bc_customTo fill ghost cells near physical boundaries in a custom way. If the number of ghost cells to fill is greater than one (n_gc > 1), fill ghost cells in the optional argument cc
 Caf_subr_funcvalTo set cell-centered variables based on a user-defined function. This can be useful to avoid recomputing values. The values should also be set in ghost cells
 Caf_subr_prolongSubroutine for prolongation
 Caf_subr_restrictSubroutine for restriction
 Ccoarse_solve_tGeneric type for the coarse grid solver
 Cmg_tType to store multigrid options in
 Cmg_box_opSubroutine that performs A * cc(..., i_in) = cc(..., i_out)
 Cmg_box_gsrbSubroutine that performs Gauss-Seidel relaxation
 Cmg_box_corr
 Cmg_box_rstr
 Cmg_box_stencil
 Cmg_func_lsfLevel set function
 Cmg_lsf_distfCompute distance to boundary starting at point a going to point b, in the range from [0, 1], with 1 meaning there is no boundary
 Nm_af_utilsThis module contains all kinds of different 'helper' routines for Afivo. If the number of routines for a particular topic becomes large, they should probably be put in a separate module
 Nm_coarse_solverModule to solve elliptic PDEs on the coarse grid. This module contains an interface to Hypre, assuming Hypre is compiled with OpenMP and without MPI
 CHYPRE_StructMatrixSetBoxValues
 Nm_configModule that allows working with a configuration file
 Ccfg_var_tThe type of a configuration variable
 Ccfg_tThe configuration that contains all the variables
 Ccfg_addInterface to add variables to the configuration
 Ccfg_getInterface to get variables from the configuration
 Ccfg_add_getInterface to get variables from the configuration
 Nm_gaussiansThis module can be used to construct solutions consisting of one or more Gaussians
 Cgauss_tA type to store a collection of gaussians in
 Nm_mrgrnk
 Cmrgrnk
 Nm_npy
 Csave_npy
 Nm_vtkThis file is a modification of code found in Lib_VTK_IO
 Cvtk_t
 Nm_write_siloThis module contains wrapper functions to simplify writing Silo files