version 0.6.0
HYPRE linear system interface

Topics

 HYPRE bindings
 HYPRE bindings.
 

Functions

subroutine mod_hypre_sstruct_cell::hypre_sstruct_cell (stencil, solver, matrix, rhs, x, ls_map, stencil_size)
 SSTRUCT cell interface to HYPRE's solvers.
 
subroutine mod_hypre_sstruct_cell::hypre_sstruct_cell_coupled (stencil, solver, matrix, rhs, x, ls_map)
 SSTRUCT cell interface to HYPRE's solvers: coupled equations.
 
subroutine mod_hypre_sstruct_face::hypre_sstruct_face (stencil_u, stencil_v, stencil_w, solver, matrix, rhs, x, face_ls_map, cell_ls_map, stencil_size)
 SSTRUCT face interface to HYPRE's solvers.
 
subroutine mod_hypre_struct_cell::hypre_struct_cell (stencil, solver, matrix, rhs, x, ls_map, stencil_size)
 STRUCT cell interface to HYPRE's solvers.
 

Detailed Description

HYPRE library provides many solvers, every one taking a different set of parameters. In order to manage the large number of parameters, while ensuring extensibility and maintainability of the code, polymorphic derived types are used. They allow for a coherent parameter grouping and contains the solver hierarchy.

Each solver has its own derived type shown as leaves in the tree graph below:

t_hypre_solver_interface
 │
 ├── t_hypre_solver
 │    │
 │    ├── t_hypre_solver_Struct_interface
 │    │    │
 │    │    └── t_hypre_solver_Struct
 │    │         ├── t_hypre_solver_Struct_Jacobi
 │    │         ├── t_hypre_solver_Struct_PFMG
 │    │         ├── t_hypre_solver_Struct_SMG
 │    │         ├── t_hypre_solver_Struct_PCG
 │    │         ├── t_hypre_solver_Struct_GMRES
 │    │         └── t_hypre_solver_Struct_BiCGSTAB
 │    │
 │    └── t_hypre_solver_SStruct_interface
 │         │
 │         ├── t_hypre_solver_SStruct
 │         │    ├── t_hypre_solver_SStruct_SysPFMG
 │         │    ├── t_hypre_solver_SStruct_GMRES
 │         │    └── t_hypre_solver_SStruct_BiCGSTAB
 │         │
 │         └── t_hypre_solver_ParCSR
 │              ├── t_hypre_solver_ParCSR_BoomerAMG
 │              ├── t_hypre_solver_ParCSR_GMRES
 │              └── t_hypre_solver_ParCSR_BiCGSTAB
 │
 └── t_hypre_preconditioner
      │
      ├── t_hypre_precond_Struct_interface
      │    │
      │    └── t_hypre_precond_Struct
      │         ├── t_hypre_precond_Struct_Jacobi
      │         ├── t_hypre_precond_Struct_PFMG
      │         └── t_hypre_precond_Struct_SMG
      │
      └── t_hypre_precond_SStruct_interface
           │
           ├── t_hypre_precond_SStruct
           │    └── t_hypre_precond_SStruct_SysPFMG
           │
           └── t_hypre_precond_ParCSR
                ├── t_hypre_precond_ParCSR_BoomerAMG
                ├── t_hypre_precond_ParCSR_ParaSails
                ├── t_hypre_precond_ParCSR_Euclid
                └── t_hypre_precond_ParCSR_Pilut

This directory contains: