0.6.0
Loading...
Searching...
No Matches
HYPRE linear system interface

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.
 

Detailed Description

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:

Function Documentation

◆ hypre_sstruct_cell()

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.

◆ hypre_sstruct_cell_coupled()

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.

◆ hypre_sstruct_face()

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.

◆ hypre_struct_cell()

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.