Massively parallel HYPRE library interface routines. More...
Topics | |
| HYPRE bindings | |
| HYPRE bindings. | |
Namespaces | |
| module | type_solver_hypre |
| Type definition for all HYPRE's solvers. | |
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, 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. | |
Massively parallel HYPRE library interface routines.
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:
| subroutine mod_hypre_sstruct_cell::hypre_sstruct_cell | ( | integer, dimension(:,:,:), intent(in), allocatable | stencil, |
| class(t_hypre_solver_sstruct_interface), intent(inout) | solver, | ||
| double precision, dimension(0:), intent(in) | matrix, | ||
| double precision, dimension(0:), intent(in) | rhs, | ||
| double precision, dimension(0:), intent(out) | x, | ||
| type(t_ls_map), intent(in) | ls_map, | ||
| integer, intent(in) | stencil_size ) |
SSTRUCT cell interface to HYPRE's solvers.
| subroutine mod_hypre_sstruct_cell::hypre_sstruct_cell_coupled | ( | integer, dimension(:,:,:), intent(in), allocatable | stencil, |
| class(t_hypre_solver_sstruct_interface), intent(inout) | solver, | ||
| double precision, dimension(0:), intent(in) | matrix, | ||
| double precision, dimension(0:), intent(in) | rhs, | ||
| double precision, dimension(0:), intent(out) | x, | ||
| type(t_ls_map), intent(in) | ls_map ) |
SSTRUCT cell interface to HYPRE's solvers: coupled equations.
| subroutine mod_hypre_sstruct_face::hypre_sstruct_face | ( | integer, dimension(:,:,:,:), intent(in), allocatable | stencil_u, |
| integer, dimension(:,:,:,:), intent(in), allocatable | stencil_v, | ||
| integer, dimension(:,:,:,:), intent(in), allocatable | stencil_w, | ||
| class(t_hypre_solver_sstruct_interface), intent(inout) | solver, | ||
| double precision, dimension(0:), intent(in) | matrix, | ||
| double precision, dimension(0:), intent(in) | rhs, | ||
| double precision, dimension(0:), intent(inout) | x, | ||
| type(t_face_ls_map), intent(in) | face_ls_map, | ||
| integer, intent(in) | stencil_size ) |
SSTRUCT face interface to HYPRE's solvers.
| subroutine mod_hypre_struct_cell::hypre_struct_cell | ( | integer, dimension(:,:,:), intent(in), allocatable | stencil, |
| class(t_hypre_solver_struct_interface), intent(inout) | solver, | ||
| double precision, dimension(0:), intent(in) | matrix, | ||
| double precision, dimension(0:), intent(in) | rhs, | ||
| double precision, dimension(0:), intent(out) | x, | ||
| type(t_ls_map), intent(in) | ls_map, | ||
| integer, intent(in) | stencil_size ) |
STRUCT cell interface to HYPRE's solvers.