Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | public | :: | COMM | ||||
integer, | public | :: | SYM | ||||
integer, | public | :: | PAR | ||||
integer, | public | :: | JOB | ||||
integer, | public | :: | N | ||||
integer, | public | :: | NZ | ||||
integer(kind=8), | public | :: | NNZ | ||||
double precision, | public, | DIMENSION(:), POINTER | :: | A | |||
integer, | public, | DIMENSION(:), POINTER | :: | IRN | |||
integer, | public, | DIMENSION(:), POINTER | :: | JCN | |||
double precision, | public, | DIMENSION(:), POINTER | :: | COLSCA | |||
double precision, | public, | DIMENSION(:), POINTER | :: | ROWSCA | |||
double precision, | public, | DIMENSION(:), POINTER | :: | pad0 | |||
integer, | public | :: | NZ_loc | ||||
integer, | public | :: | pad1 | ||||
integer(kind=8), | public | :: | NNZ_loc | ||||
integer, | public, | DIMENSION(:), POINTER | :: | IRN_loc | |||
integer, | public, | DIMENSION(:), POINTER | :: | JCN_loc | |||
double precision, | public, | DIMENSION(:), POINTER | :: | A_loc | |||
double precision, | public, | DIMENSION(:), POINTER | :: | pad2 | |||
integer, | public | :: | NELT | ||||
integer, | public | :: | pad3 | ||||
integer, | public, | DIMENSION(:), POINTER | :: | ELTPTR | |||
integer, | public, | DIMENSION(:), POINTER | :: | ELTVAR | |||
double precision, | public, | DIMENSION(:), POINTER | :: | A_ELT | |||
double precision, | public, | DIMENSION(:), POINTER | :: | pad4 | |||
integer, | public, | DIMENSION(:), POINTER | :: | PERM_IN | |||
double precision, | public, | DIMENSION(:), POINTER | :: | RHS | |||
double precision, | public, | DIMENSION(:), POINTER | :: | REDRHS | |||
double precision, | public, | DIMENSION(:), POINTER | :: | RHS_SPARSE | |||
double precision, | public, | DIMENSION(:), POINTER | :: | SOL_loc | |||
integer, | public, | DIMENSION(:), POINTER | :: | IRHS_SPARSE | |||
integer, | public, | DIMENSION(:), POINTER | :: | IRHS_PTR | |||
integer, | public, | DIMENSION(:), POINTER | :: | ISOL_loc | |||
integer, | public | :: | LRHS | ||||
integer, | public | :: | NRHS | ||||
integer, | public | :: | NZ_RHS | ||||
integer, | public | :: | LSOL_loc | ||||
integer, | public | :: | LREDRHS | ||||
integer, | public | :: | pad5 | ||||
integer, | public | :: | ICNTL(40) | ||||
integer, | public | :: | INFO(40) | ||||
integer, | public | :: | INFOG(40) | ||||
double precision, | public | :: | COST_SUBTREES | ||||
double precision, | public | :: | CNTL(15) | ||||
double precision, | public | :: | RINFO(40) | ||||
double precision, | public | :: | RINFOG(40) | ||||
integer, | public, | DIMENSION(:), POINTER | :: | SYM_PERM | |||
integer, | public, | DIMENSION(:), POINTER | :: | UNS_PERM | |||
integer, | public | :: | NPROW | ||||
integer, | public | :: | NPCOL | ||||
integer, | public | :: | MBLOCK | ||||
integer, | public | :: | NBLOCK | ||||
integer, | public | :: | SCHUR_MLOC | ||||
integer, | public | :: | SCHUR_NLOC | ||||
integer, | public | :: | SCHUR_LLD | ||||
integer, | public | :: | SIZE_SCHUR | ||||
double precision, | public, | DIMENSION(:), POINTER | :: | SCHUR | |||
double precision, | public, | DIMENSION(:), POINTER | :: | SCHUR_CINTERFACE | |||
integer, | public, | DIMENSION(:), POINTER | :: | LISTVAR_SCHUR | |||
integer, | public, | DIMENSION(:), POINTER | :: | MAPPING | |||
character(len=30), | public | :: | VERSION_NUMBER | ||||
character(len=255), | public | :: | OOC_TMPDIR | ||||
character(len=63), | public | :: | OOC_PREFIX | ||||
character(len=255), | public | :: | WRITE_PROBLEM | ||||
character(len=255), | public | :: | SAVE_DIR | ||||
character(len=255), | public | :: | SAVE_PREFIX | ||||
character(len=7), | public | :: | pad8 | ||||
integer(kind=8), | public | :: | KEEP8(150) | ||||
integer(kind=8), | public | :: | MAX_SURF_MASTER | ||||
integer, | public | :: | INST_Number | ||||
integer, | public | :: | COMM_NODES | ||||
integer, | public | :: | MYID_NODES | ||||
integer, | public | :: | COMM_LOAD | ||||
integer, | public | :: | MYID | ||||
integer, | public | :: | NPROCS | ||||
integer, | public | :: | NSLAVES | ||||
integer, | public | :: | ASS_IRECV | ||||
integer, | public | :: | LBUFR | ||||
integer, | public | :: | LBUFR_BYTES | ||||
integer, | public, | DIMENSION(:), POINTER | :: | BUFR | |||
integer, | public, | DIMENSION(:), POINTER | :: | IS | |||
integer, | public, | DIMENSION(:), POINTER | :: | IS1 | |||
integer, | public | :: | MAXIS1 | ||||
integer, | public | :: | Deficiency | ||||
integer, | public | :: | KEEP(500) | ||||
integer, | public | :: | LNA | ||||
integer, | public | :: | NBSA | ||||
integer, | public, | POINTER, DIMENSION(:) | :: | STEP | |||
integer, | public, | POINTER, DIMENSION(:) | :: | NE_STEPS | |||
integer, | public, | POINTER, DIMENSION(:) | :: | ND_STEPS | |||
integer, | public, | POINTER, DIMENSION(:) | :: | Step2node | |||
integer, | public, | POINTER, DIMENSION(:) | :: | FRERE_STEPS | |||
integer, | public, | POINTER, DIMENSION(:) | :: | DAD_STEPS | |||
integer, | public, | POINTER, DIMENSION(:) | :: | FILS | |||
integer, | public, | POINTER, DIMENSION(:) | :: | FRTPTR | |||
integer, | public, | POINTER, DIMENSION(:) | :: | FRTELT | |||
integer(kind=8), | public, | POINTER, DIMENSION(:) | :: | PTRAR | |||
integer, | public, | POINTER, DIMENSION(:) | :: | NA | |||
integer, | public, | POINTER, DIMENSION(:) | :: | PROCNODE_STEPS | |||
integer, | public, | DIMENSION(:), POINTER | :: | PTLUST_S | |||
integer(kind=8), | public, | DIMENSION(:), POINTER | :: | PTRFAC | |||
double precision, | public, | DIMENSION(:), POINTER | :: | S | |||
integer, | public, | DIMENSION(:), POINTER | :: | PROCNODE | |||
integer, | public, | DIMENSION(:), POINTER | :: | INTARR | |||
double precision, | public, | DIMENSION(:), POINTER | :: | DBLARR | |||
integer, | public | :: | NELT_loc | ||||
integer, | public | :: | LELTVAR | ||||
integer, | public, | DIMENSION(:), POINTER | :: | ELTPROC | |||
integer, | public, | DIMENSION(:,:), POINTER | :: | CANDIDATES | |||
integer, | public, | DIMENSION(:), POINTER | :: | ISTEP_TO_INIV2 | |||
integer, | public, | DIMENSION(:), POINTER | :: | FUTURE_NIV2 | |||
integer, | public, | DIMENSION(:,:), POINTER | :: | TAB_POS_IN_PERE | |||
logical, | public, | DIMENSION(:), POINTER | :: | I_AM_CAND | |||
integer, | public, | DIMENSION(:), POINTER | :: | MEM_DIST | |||
integer, | public, | DIMENSION(:), POINTER | :: | POSINRHSCOMP_ROW | |||
logical, | public | :: | POSINRHSCOMP_COL_ALLOC | ||||
logical, | public | :: | pad11 | ||||
integer, | public, | DIMENSION(:), POINTER | :: | POSINRHSCOMP_COL | |||
double precision, | public, | DIMENSION(:), POINTER | :: | RHSCOMP | |||
double precision, | public, | DIMENSION(:), POINTER | :: | MEM_SUBTREE | |||
double precision, | public, | DIMENSION(:), POINTER | :: | COST_TRAV | |||
integer, | public, | DIMENSION(:), POINTER | :: | MY_ROOT_SBTR | |||
integer, | public, | DIMENSION(:), POINTER | :: | MY_FIRST_LEAF | |||
integer, | public, | DIMENSION(:), POINTER | :: | MY_NB_LEAF | |||
integer, | public, | DIMENSION(:), POINTER | :: | DEPTH_FIRST | |||
integer, | public, | DIMENSION(:), POINTER | :: | DEPTH_FIRST_SEQ | |||
integer, | public, | DIMENSION(:), POINTER | :: | SBTR_ID | |||
integer, | public, | DIMENSION(:), POINTER | :: | SCHED_DEP | |||
integer, | public, | DIMENSION(:), POINTER | :: | SCHED_GRP | |||
integer, | public, | DIMENSION(:), POINTER | :: | SCHED_SBTR | |||
integer, | public, | DIMENSION(:), POINTER | :: | CROIX_MANU | |||
double precision, | public, | DIMENSION(:), POINTER | :: | WK_USER | |||
integer, | public | :: | NBSA_LOCAL | ||||
integer, | public | :: | LWK_USER | ||||
double precision, | public | :: | DKEEP(230) | ||||
double precision, | public, | DIMENSION(:), POINTER | :: | CB_SON_SIZE | |||
integer, | public | :: | INSTANCE_NUMBER | ||||
integer, | public | :: | OOC_MAX_NB_NODES_FOR_ZONE | ||||
integer, | public, | DIMENSION(:,:), POINTER | :: | OOC_INODE_SEQUENCE | |||
integer(kind=8), | public, | DIMENSION(:,:), POINTER | :: | OOC_SIZE_OF_BLOCK | |||
integer(kind=8), | public, | DIMENSION(:,:), POINTER | :: | OOC_VADDR | |||
integer, | public, | DIMENSION(:), POINTER | :: | OOC_TOTAL_NB_NODES | |||
integer, | public, | DIMENSION(:), POINTER | :: | OOC_NB_FILES | |||
integer, | public | :: | OOC_NB_FILE_TYPE | ||||
integer, | public | :: | pad12 | ||||
integer, | public, | DIMENSION(:), POINTER | :: | OOC_FILE_NAME_LENGTH | |||
character, | public, | DIMENSION(:,:), POINTER | :: | OOC_FILE_NAMES | |||
integer, | public, | DIMENSION(:), POINTER | :: | PIVNUL_LIST | |||
integer, | public, | DIMENSION(:,:), POINTER | :: | SUP_PROC | |||
integer, | public, | DIMENSION(:,:), POINTER | :: | pad14 | |||
integer, | public, | DIMENSION(:), POINTER | :: | IPTR_WORKING | |||
integer, | public, | DIMENSION(:), POINTER | :: | WORKING | |||
type(DMUMPS_ROOT_STRUC), | public | :: | root | ||||
integer, | public, | POINTER, DIMENSION(:) | :: | LRGROUPS | |||
integer, | public | :: | NBGRP | ||||
integer, | public | :: | pad13 | ||||
character(len=1), | public, | DIMENSION(:), POINTER | :: | FDM_F_ENCODING | |||
character(len=1), | public, | DIMENSION(:), POINTER | :: | BLRARRAY_ENCODING | |||
integer, | public | :: | LPOOL_AFTER_L0_OMP | ||||
integer, | public | :: | LPOOL_BEFORE_L0_OMP | ||||
integer, | public | :: | L_PHYS_L0_OMP | ||||
integer, | public | :: | L_VIRT_L0_OMP | ||||
integer, | public | :: | LL0_OMP_MAPPING | ||||
integer, | public | :: | pad15 | ||||
integer(kind=8), | public | :: | THREAD_LA | ||||
integer, | public, | DIMENSION(:), POINTER | :: | IPOOL_BEFORE_L0_OMP | |||
integer, | public, | DIMENSION(:), POINTER | :: | IPOOL_AFTER_L0_OMP | |||
integer, | public, | DIMENSION(:), POINTER | :: | PHYS_L0_OMP | |||
integer, | public, | DIMENSION(:), POINTER | :: | VIRT_L0_OMP | |||
integer, | public, | DIMENSION(:), POINTER | :: | PERM_L0_OMP | |||
integer, | public, | DIMENSION(:), POINTER | :: | PTR_LEAFS_L0_OMP | |||
integer, | public, | DIMENSION(:), POINTER | :: | L0_OMP_MAPPING | |||
double precision, | public, | DIMENSION(:), POINTER | :: | SINGULAR_VALUES | |||
integer, | public | :: | NB_SINGULAR_VALUES | ||||
logical, | public | :: | ASSOCIATED_OOC_FILES |
TYPE DMUMPS_STRUC
SEQUENCE
!
! This structure contains all parameters
! for the interface to the user, plus internal
! information from the solver
!
! *****************
! INPUT PARAMETERS
! *****************
! -----------------
! MPI Communicator
! -----------------
INTEGER :: COMM
! ------------------
! Problem definition
! ------------------
! Solver (SYM=0 unsymmetric,SYM=1 symmetric Positive Definite,
! SYM=2 general symmetric)
! Type of parallelism (PAR=1 host working, PAR=0 host not working)
INTEGER :: SYM, PAR
INTEGER :: JOB
! --------------------
! Order of Input matrix
! --------------------
INTEGER :: N
!
! ----------------------------------------
! Assembled input matrix : User interface
! ----------------------------------------
INTEGER :: NZ ! Standard integer input + bwd. compat.
INTEGER(8) :: NNZ ! 64-bit integer input
DOUBLE PRECISION, DIMENSION(:), POINTER :: A
INTEGER, DIMENSION(:), POINTER :: IRN, JCN
DOUBLE PRECISION, DIMENSION(:), POINTER :: COLSCA, ROWSCA, pad0
!
! ------------------------------------
! Case of distributed assembled matrix
! matrix on entry:
! ------------------------------------
INTEGER :: NZ_loc ! Standard integer input + bwd. compat.
INTEGER :: pad1
INTEGER(8) :: NNZ_loc ! 64-bit integer input
INTEGER, DIMENSION(:), POINTER :: IRN_loc, JCN_loc
DOUBLE PRECISION, DIMENSION(:), POINTER :: A_loc, pad2
!
! ----------------------------------------
! Unassembled input matrix: User interface
! ----------------------------------------
INTEGER :: NELT, pad3
INTEGER, DIMENSION(:), POINTER :: ELTPTR
INTEGER, DIMENSION(:), POINTER :: ELTVAR
DOUBLE PRECISION, DIMENSION(:), POINTER :: A_ELT, pad4
!
! ---------------------------------------------
! Symmetric permutation :
! PERM_IN if given by user (optional)
! ---------------------------------------------
INTEGER, DIMENSION(:), POINTER :: PERM_IN
!
!
! ******************
! INPUT/OUTPUT data
! ******************
! --------------------------------------------------------
! RHS / SOL_loc
! -------------
! right-hand side and solution
! -------------------------------------------------------
DOUBLE PRECISION, DIMENSION(:), POINTER :: RHS, REDRHS
DOUBLE PRECISION, DIMENSION(:), POINTER :: RHS_SPARSE
DOUBLE PRECISION, DIMENSION(:), POINTER :: SOL_loc
INTEGER, DIMENSION(:), POINTER :: IRHS_SPARSE
INTEGER, DIMENSION(:), POINTER :: IRHS_PTR
INTEGER, DIMENSION(:), POINTER :: ISOL_loc
INTEGER :: LRHS, NRHS, NZ_RHS, LSOL_loc, LREDRHS
INTEGER :: pad5
! ----------------------------
! Control parameters,
! statistics and output data
! ---------------------------
INTEGER :: ICNTL(40)
INTEGER :: INFO(40)
INTEGER :: INFOG(40)
DOUBLE PRECISION :: COST_SUBTREES
DOUBLE PRECISION :: CNTL(15)
DOUBLE PRECISION :: RINFO(40)
DOUBLE PRECISION :: RINFOG(40)
! ---------------------------------------------------------
! Permutations computed during analysis:
! SYM_PERM: Symmetric permutation
! UNS_PERM: Column permutation (optional)
! ---------------------------------------------------------
INTEGER, DIMENSION(:), POINTER :: SYM_PERM, UNS_PERM
!
! -----
! Schur
! -----
INTEGER :: NPROW, NPCOL, MBLOCK, NBLOCK
INTEGER :: SCHUR_MLOC, SCHUR_NLOC, SCHUR_LLD
INTEGER :: SIZE_SCHUR
DOUBLE PRECISION, DIMENSION(:), POINTER :: SCHUR
DOUBLE PRECISION, DIMENSION(:), POINTER :: SCHUR_CINTERFACE
INTEGER, DIMENSION(:), POINTER :: LISTVAR_SCHUR
! -------------------------------------
! Case of distributed matrix on entry:
! DMUMPS potentially provides mapping
! -------------------------------------
INTEGER, DIMENSION(:), POINTER :: MAPPING
! --------------
! Version number
! --------------
CHARACTER(LEN=30) :: VERSION_NUMBER
! -----------
! Out-of-core
! -----------
CHARACTER(LEN=255) :: OOC_TMPDIR
CHARACTER(LEN=63) :: OOC_PREFIX
! ------------------------------------------
! To save the matrix in matrix market format
! ------------------------------------------
CHARACTER(LEN=255) :: WRITE_PROBLEM
! -----------
! Save/Restore
! -----------
CHARACTER(LEN=255) :: SAVE_DIR
CHARACTER(LEN=255) :: SAVE_PREFIX
CHARACTER(LEN=7) :: pad8
!
!
! **********************
! INTERNAL Working data
! *********************
INTEGER(8) :: KEEP8(150), MAX_SURF_MASTER
INTEGER :: INST_Number
! For MPI
INTEGER :: COMM_NODES, MYID_NODES, COMM_LOAD
INTEGER :: MYID, NPROCS, NSLAVES
INTEGER :: ASS_IRECV
INTEGER :: LBUFR
INTEGER :: LBUFR_BYTES
INTEGER, DIMENSION(:), POINTER :: BUFR
! IS is used for the factors + workspace for contrib. blocks
INTEGER, DIMENSION(:), POINTER :: IS
! IS1 (maxis1) contains working arrays computed
! and used only during analysis
INTEGER, DIMENSION(:), POINTER :: IS1
! For analysis/facto/solve phases
INTEGER :: MAXIS1, Deficiency
INTEGER :: KEEP(500)
! The following data/arrays are computed during the analysis
! phase and used during the factorization and solve phases.
INTEGER :: LNA
INTEGER :: NBSA
INTEGER,POINTER,DIMENSION(:) :: STEP, NE_STEPS, ND_STEPS
! Info for pruning tree
INTEGER,POINTER,DIMENSION(:) :: Step2node
! ---------------------
INTEGER,POINTER,DIMENSION(:) :: FRERE_STEPS, DAD_STEPS
INTEGER,POINTER,DIMENSION(:) :: FILS, FRTPTR, FRTELT
INTEGER(8),POINTER,DIMENSION(:) :: PTRAR
INTEGER,POINTER,DIMENSION(:) :: NA, PROCNODE_STEPS
! The two pointer arrays computed in facto and used by the solve
! (except the factors) are PTLUST_S and PTRFAC.
INTEGER, DIMENSION(:), POINTER :: PTLUST_S
INTEGER(8), DIMENSION(:), POINTER :: PTRFAC
! main real working arrays for factorization/solve phases
DOUBLE PRECISION, DIMENSION(:), POINTER :: S
! Information on mapping
INTEGER, DIMENSION(:), POINTER :: PROCNODE
! Input matrix ready for numerical assembly
! -arrowhead format in case of assembled matrix
! -element format otherwise
INTEGER, DIMENSION(:), POINTER :: INTARR
DOUBLE PRECISION, DIMENSION(:), POINTER :: DBLARR
! Element entry: internal data
INTEGER :: NELT_loc, LELTVAR
INTEGER, DIMENSION(:), POINTER :: ELTPROC
! Candidates and node partitionning
INTEGER, DIMENSION(:,:), POINTER :: CANDIDATES
INTEGER, DIMENSION(:), POINTER :: ISTEP_TO_INIV2
INTEGER, DIMENSION(:), POINTER :: FUTURE_NIV2
INTEGER, DIMENSION(:,:), POINTER :: TAB_POS_IN_PERE
LOGICAL, DIMENSION(:), POINTER :: I_AM_CAND
! For heterogeneous architecture
INTEGER, DIMENSION(:), POINTER :: MEM_DIST
! Compressed RHS
INTEGER, DIMENSION(:), POINTER :: POSINRHSCOMP_ROW
LOGICAL :: POSINRHSCOMP_COL_ALLOC, pad11
INTEGER, DIMENSION(:), POINTER :: POSINRHSCOMP_COL
DOUBLE PRECISION, DIMENSION(:), POINTER :: RHSCOMP
! Info on the subtrees to be used during factorization
DOUBLE PRECISION, DIMENSION(:), POINTER :: MEM_SUBTREE
DOUBLE PRECISION, DIMENSION(:), POINTER :: COST_TRAV
INTEGER, DIMENSION(:), POINTER :: MY_ROOT_SBTR
INTEGER, DIMENSION(:), POINTER :: MY_FIRST_LEAF
INTEGER, DIMENSION(:), POINTER :: MY_NB_LEAF
INTEGER, DIMENSION(:), POINTER :: DEPTH_FIRST
INTEGER, DIMENSION(:), POINTER :: DEPTH_FIRST_SEQ
INTEGER, DIMENSION(:), POINTER :: SBTR_ID
INTEGER, DIMENSION(:), POINTER :: SCHED_DEP
INTEGER, DIMENSION(:), POINTER :: SCHED_GRP
INTEGER, DIMENSION(:), POINTER :: SCHED_SBTR
INTEGER, DIMENSION(:), POINTER :: CROIX_MANU
DOUBLE PRECISION, DIMENSION(:), POINTER :: WK_USER
INTEGER :: NBSA_LOCAL
INTEGER :: LWK_USER
! Internal control array
DOUBLE PRECISION :: DKEEP(230)
! For simulating parallel out-of-core stack.
DOUBLE PRECISION, DIMENSION(:),POINTER :: CB_SON_SIZE
! Instance number used/managed by the C/F77 interface
INTEGER :: INSTANCE_NUMBER
! OOC management data that must persist from factorization to solve.
INTEGER :: OOC_MAX_NB_NODES_FOR_ZONE
INTEGER, DIMENSION(:,:), POINTER :: OOC_INODE_SEQUENCE
INTEGER(8),DIMENSION(:,:), POINTER :: OOC_SIZE_OF_BLOCK
INTEGER(8), DIMENSION(:,:), POINTER :: OOC_VADDR
INTEGER,DIMENSION(:), POINTER :: OOC_TOTAL_NB_NODES
INTEGER,DIMENSION(:), POINTER :: OOC_NB_FILES
INTEGER :: OOC_NB_FILE_TYPE,pad12
INTEGER,DIMENSION(:), POINTER :: OOC_FILE_NAME_LENGTH
CHARACTER,DIMENSION(:,:), POINTER :: OOC_FILE_NAMES
! Indices of nul pivots
INTEGER,DIMENSION(:), POINTER :: PIVNUL_LIST
! Array needed to manage additionnal candidate processor
INTEGER, DIMENSION(:,:), POINTER :: SUP_PROC, pad14
! Lists of nodes where processors work. Built/used in solve phase.
INTEGER, DIMENSION(:), POINTER :: IPTR_WORKING, WORKING
! Root structure(internal)
TYPE (DMUMPS_ROOT_STRUC) :: root
! Low-rank
INTEGER, POINTER, DIMENSION(:) :: LRGROUPS
INTEGER :: NBGRP,pad13
! Pointer encoding for FDM_F data
CHARACTER(LEN=1), DIMENSION(:), POINTER :: FDM_F_ENCODING
! Pointer array encoding BLR factors pointers
CHARACTER(LEN=1), DIMENSION(:), POINTER :: BLRARRAY_ENCODING
! Multicore
INTEGER :: LPOOL_AFTER_L0_OMP, LPOOL_BEFORE_L0_OMP
INTEGER :: L_PHYS_L0_OMP
INTEGER :: L_VIRT_L0_OMP
INTEGER :: LL0_OMP_MAPPING,pad15
INTEGER(8) :: THREAD_LA
! Pool before L0_OMP
INTEGER, DIMENSION(:), POINTER :: IPOOL_BEFORE_L0_OMP
! Pool after L0_OMP
INTEGER, DIMENSION(:), POINTER :: IPOOL_AFTER_L0_OMP
! Subtrees
INTEGER, DIMENSION(:), POINTER :: PHYS_L0_OMP
! Amalgamated subtrees
INTEGER, DIMENSION(:), POINTER :: VIRT_L0_OMP
! From heaviest to lowest subtree
INTEGER, DIMENSION(:), POINTER :: PERM_L0_OMP
! To get leafs in global pool
INTEGER, DIMENSION(:), POINTER :: PTR_LEAFS_L0_OMP
! Mapping of the subtrees
INTEGER, DIMENSION(:), POINTER :: L0_OMP_MAPPING
! for RR on root
DOUBLE PRECISION, DIMENSION(:), POINTER :: SINGULAR_VALUES
INTEGER :: NB_SINGULAR_VALUES
! To know if OOC files are associated to a saved and so if they should be removed.
LOGICAL :: ASSOCIATED_OOC_FILES
END TYPE DMUMPS_STRUC