MAT_SOLV Derived Type

type, public :: MAT_SOLV

MUSST high level system type


Inherits

type~~mat_solv~~InheritsGraph type~mat_solv MAT_SOLV MAT_SULU MAT_SULU type~mat_solv->MAT_SULU matsulu MAT_MUMP MAT_MUMP type~mat_solv->MAT_MUMP matmump type~mat_umfp MAT_UMFP type~mat_solv->type~mat_umfp matumfp type~mat_ma48 MAT_MA48 type~mat_solv->type~mat_ma48 matma48 c_ptr c_ptr type~mat_umfp->c_ptr c_symbolic, c_numeric MA48_AINFO MA48_AINFO type~mat_ma48->MA48_AINFO ainf MA48_CONTROL MA48_CONTROL type~mat_ma48->MA48_CONTROL ctrl MA48_SINFO MA48_SINFO type~mat_ma48->MA48_SINFO sinf ZD11_TYPE ZD11_TYPE type~mat_ma48->ZD11_TYPE zmat MA48_FINFO MA48_FINFO type~mat_ma48->MA48_FINFO finf MA48_FACTORS MA48_FACTORS type~mat_ma48->MA48_FACTORS fact

Inherited by

type~~mat_solv~~InheritedByGraph type~mat_solv MAT_SOLV type~ms_mat_solv MS_MAT_SOLV type~ms_mat_solv->type~mat_solv ts_mat, bs_mat

Contents

Source Code


Components

TypeVisibility AttributesNameInitial
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


Source Code

type MAT_SOLV
!! <span style="color:green">MUSST high level system type</span>
   integer(kind=I4) :: slv_t                             !! *solver type*
   logical(kind=I4) :: first = .true.                    !! *analysis of the system to be done?*
   integer(kind=I4) :: nn                                !! *number of nodes*
   integer(kind=I4) :: ne                                !! *number of elements*
   integer(kind=I4) :: nt                                !! *number of **a priori** non-zero terms in the matrix*
   integer(kind=I4) :: nz                                !! *number of non-zero terms in the matrix*
   integer(kind=I4) :: nvar                              !! *eltvar length ( if 4-nodes elt -> 2 lines X number of elemental matrices)*
   integer(kind=I4) :: code                              !! *error code*   [not used yet]
   real(kind=R8)    :: error                             !! *error value*  [not used yet]
   character(len=1024) :: mess                           !! *message*      [not used yet]
   !.....................................................
   type(MAT_MUMP) :: matmump                             !! *matrices for mumps solver*
   type(MAT_MA48) :: matma48                             !! *matrices for ma48 solver*
   type(MAT_SULU) :: matsulu                             !! *matrices for SuperLu solver*
   type(MAT_UMFP) :: matumfp                             !! *matrices for Umfpack solver*
   !.....................................................
   integer(kind=I4), dimension(:), allocatable :: eltvar !! *rows in assembled matrix*
   integer(kind=I4), dimension(:), allocatable :: eltptr !! *element rows pointer*
   real(kind=R8),    dimension(:), allocatable :: a_elt  !! *unassembled rigidity matrix*
   !.....................................................
   integer(kind=I4), dimension(:), allocatable :: irow   !! *line number*
   integer(kind=I4), dimension(:), allocatable :: jcol   !! *column number*
   integer(kind=I4), dimension(:), allocatable :: jptr   !! *line pointer*
   !.....................................................
   real(kind=R8), dimension(:), allocatable    :: b      !! *right hand side vector*
   real(kind=R8), dimension(:), allocatable    :: x      !! *unknwon vector*
endtype MAT_SOLV