Api for different sparse matrix solvers
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer(kind=I4), | public, | parameter | :: | MA48 | = | 0 | code for Ma48 solver type |
integer(kind=I4), | public, | parameter | :: | SULU | = | 1 | code for SUPER LU solver type |
integer(kind=I4), | public, | parameter | :: | MUMP | = | 2 | code for MUMPS solver type |
integer(kind=I4), | public, | parameter | :: | UMFP | = | 3 | code for UMFPACK solver type |
integer(kind=I4), | public | :: | SOLVER_BS | = | -1 | solver used for bottom scale grids [not used by the present module] |
|
integer(kind=I4), | public | :: | SOLVER_TS | = | -1 | solver used for top scale grids [not used by the present module] |
All the stuff needed by HSL_MA48
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
type(ZD11_TYPE), | public | :: | zmat | ||||
type(MA48_CONTROL), | public | :: | ctrl | ||||
type(MA48_AINFO), | public | :: | ainf | ||||
type(MA48_FINFO), | public | :: | finf | ||||
type(MA48_SINFO), | public | :: | sinf | ||||
type(MA48_FACTORS), | public | :: | fact | ||||
integer(kind=I4), | public | :: | fast | ||||
real(kind=R8), | public, | dimension(2) | :: | resid |
All the stuff needed by UMFPACK
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
type(c_ptr), | public | :: | c_symbolic | ||||
type(c_ptr), | public | :: | c_numeric | ||||
real(kind=R8), | public, | dimension(0:UMFPACK_CONTROL-1) | :: | c_control | |||
real(kind=R8), | public, | dimension(0:UMFPACK_INFO -1) | :: | c_info |
MUSST high level system type
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer(kind=I4), | public | :: | slv_t | solver type |
|||
logical(kind=I4), | public | :: | first | = | .true. | analysis of the system to be done? |
|
integer(kind=I4), | public | :: | nn | number of nodes |
|||
integer(kind=I4), | public | :: | ne | number of elements |
|||
integer(kind=I4), | public | :: | nt | number of a priori non-zero terms in the matrix |
|||
integer(kind=I4), | public | :: | nz | number of non-zero terms in the matrix |
|||
integer(kind=I4), | public | :: | nvar | eltvar length ( if 4-nodes elt -> 2 lines X number of elemental matrices) |
|||
integer(kind=I4), | public | :: | code | error code [not used yet] |
|||
real(kind=R8), | public | :: | error | error value [not used yet] |
|||
character(len=1024), | public | :: | mess | message [not used yet] |
|||
type(MAT_MUMP), | public | :: | matmump | matrices for mumps solver |
|||
type(MAT_MA48), | public | :: | matma48 | matrices for ma48 solver |
|||
type(MAT_SULU), | public | :: | matsulu | matrices for SuperLu solver |
|||
type(MAT_UMFP), | public | :: | matumfp | matrices for Umfpack solver |
|||
integer(kind=I4), | public, | dimension(:), allocatable | :: | eltvar | rows in assembled matrix |
||
integer(kind=I4), | public, | dimension(:), allocatable | :: | eltptr | element rows pointer |
||
real(kind=R8), | public, | dimension(:), allocatable | :: | a_elt | unassembled rigidity matrix |
||
integer(kind=I4), | public, | dimension(:), allocatable | :: | irow | line number |
||
integer(kind=I4), | public, | dimension(:), allocatable | :: | jcol | column number |
||
integer(kind=I4), | public, | dimension(:), allocatable | :: | jptr | line pointer |
||
real(kind=R8), | public, | dimension(:), allocatable | :: | b | right hand side vector |
||
real(kind=R8), | public, | dimension(:), allocatable | :: | x | unknwon vector |
MUSST multiscale high level solver type
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
type(MAT_SOLV), | public | :: | ts_mat | top-scale solver type matrices |
|||
type(MAT_SOLV), | public, | dimension(:), allocatable | :: | bs_mat | bottom-scale solver type matrices (table) |
||
integer(kind=I4), | public, | dimension(:), allocatable | :: | ass_loc_in_mat | table for assembly location (for parallel computation) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(MAT_SOLV), | intent(inout) | :: | mat | high level system type |
||
character(len=*), | intent(in) | :: | step | 'ini'=initialize, 'ana'=analyze, 'fac'=factorize, 'sol'=solve, 'fre'=free memory, 'end'=close solver |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(MAT_SOLV), | intent(inout) | :: | mat | high level system type |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(MAT_SOLV), | intent(inout), | target | :: | mat | high level system type |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(MAT_SOLV), | intent(inout) | :: | mat | high level system type |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(MAT_SOLV), | intent(inout), | target | :: | mat | high level system type |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(MAT_SOLV), | intent(inout) | :: | mat | high level system type |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(MAT_SOLV), | intent(inout) | :: | mat | high level system type |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(MAT_SOLV), | intent(inout), | target | :: | mat | high level system type |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(MAT_SOLV), | intent(inout), | target | :: | mat | high level system type |