21 TYPE( dmumps_struc ) :: id
25 parameter( master = 0 )
29 & id_BLRARRAY_ENCODING, KEEP8, K34)
30# if defined(MUMPS_F2003)
31 CHARACTER,
DIMENSION(:),
POINTER,
intent(inout) ::
32 & id_blrarray_encoding
33 CHARACTER,
DIMENSION(:),
POINTER,
intent(inout) ::
36 CHARACTER,
DIMENSION(:),
POINTER :: id_BLRARRAY_ENCODING
37 CHARACTER,
DIMENSION(:),
POINTER :: id_FDM_F_ENCODING
39 INTEGER(8),
intent(inout) :: KEEP8(150)
40 INTEGER,
intent(in) :: K34
43 i_am_slave = ( id%MYID .ne. master .OR. id%KEEP(46) .NE. 0 )
51 IF (id%KEEP(201).GT.0 .AND. i_am_slave)
THEN
60 IF (id%root%gridinit_done)
THEN
61 IF ( id%KEEP(38).NE.0 .and. id%root%yes )
THEN
63 id%root%gridinit_done = .false.
66 IF ( id%MYID .NE. master .OR. id%KEEP(46) .ne. 0 )
THEN
80 IF (
associated(id%MEM_DIST))
THEN
81 DEALLOCATE(id%MEM_DIST)
93 IF (
associated(id%MAPPING))
THEN
94 DEALLOCATE(id%MAPPING)
97 NULLIFY(id%SCHUR_CINTERFACE)
104 IF ( id%KEEP(52) .NE. -1 .or. id%MYID .ne. master )
THEN
105 IF (
associated(id%COLSCA))
THEN
106 DEALLOCATE(id%COLSCA)
109 IF (
associated(id%ROWSCA))
THEN
110 DEALLOCATE(id%ROWSCA)
114 IF (
associated(id%PTLUST_S))
THEN
115 DEALLOCATE(id%PTLUST_S)
118 IF (
associated(id%PTRFAC))
THEN
119 DEALLOCATE(id%PTRFAC)
122 IF (
associated(id%IS))
THEN
126 IF (
associated(id%STEP))
THEN
132 IF (
associated(id%Step2node))
THEN
133 DEALLOCATE(id%Step2node)
134 NULLIFY(id%Step2node)
138 IF (
associated(id%NE_STEPS))
THEN
139 DEALLOCATE(id%NE_STEPS)
142 IF (
associated(id%ND_STEPS))
THEN
143 DEALLOCATE(id%ND_STEPS)
146 IF (
associated(id%FRERE_STEPS))
THEN
147 DEALLOCATE(id%FRERE_STEPS)
148 NULLIFY(id%FRERE_STEPS)
150 IF (
associated(id%DAD_STEPS))
THEN
151 DEALLOCATE(id%DAD_STEPS)
152 NULLIFY(id%DAD_STEPS)
154 IF (
associated(id%SYM_PERM))
THEN
155 DEALLOCATE(id%SYM_PERM)
158 IF (
associated(id%UNS_PERM))
THEN
159 DEALLOCATE(id%UNS_PERM)
162 IF (
associated(id%PIVNUL_LIST))
THEN
163 DEALLOCATE(id%PIVNUL_LIST)
164 NULLIFY(id%PIVNUL_LIST)
166 IF (
associated(id%FILS))
THEN
170 IF (
associated(id%PTRAR))
THEN
174 IF (
associated(id%FRTPTR))
THEN
175 DEALLOCATE(id%FRTPTR)
178 IF (
associated(id%FRTELT))
THEN
179 DEALLOCATE(id%FRTELT)
182 IF (
associated(id%NA))
THEN
186 IF (
associated(id%PROCNODE_STEPS))
THEN
187 DEALLOCATE(id%PROCNODE_STEPS)
188 NULLIFY(id%PROCNODE_STEPS)
190 IF (
associated(id%RHSCOMP))
THEN
191 DEALLOCATE(id%RHSCOMP)
195 IF (
associated(id%POSINRHSCOMP_ROW))
THEN
196 DEALLOCATE(id%POSINRHSCOMP_ROW)
197 NULLIFY(id%POSINRHSCOMP_ROW)
199 IF (id%POSINRHSCOMP_COL_ALLOC)
THEN
200 DEALLOCATE(id%POSINRHSCOMP_COL)
201 NULLIFY(id%POSINRHSCOMP_COL)
202 id%POSINRHSCOMP_COL_ALLOC = .false.
209 IF (id%KEEP(46).eq.1 .and.
210 & id%KEEP(55).ne.0 .and.
211 & id%MYID .eq. master .and.
212 & id%KEEP(52) .eq. 0 )
THEN
215 IF (
associated(id%DBLARR))
THEN
216 DEALLOCATE(id%DBLARR)
220 IF (
associated(id%INTARR))
THEN
221 DEALLOCATE(id%INTARR)
224 IF (
associated(id%root%RG2L_ROW))
THEN
225 DEALLOCATE(id%root%RG2L_ROW)
226 NULLIFY(id%root%RG2L_ROW)
228 IF (
associated(id%root%RG2L_COL))
THEN
229 DEALLOCATE(id%root%RG2L_COL)
230 NULLIFY(id%root%RG2L_COL)
234 IF (
associated(id%root%IPIV))
THEN
235 DEALLOCATE(id%root%IPIV)
236 NULLIFY(id%root%IPIV)
238 IF (
associated(id%root%RHS_CNTR_MASTER_ROOT))
THEN
239 DEALLOCATE(id%root%RHS_CNTR_MASTER_ROOT)
240 NULLIFY(id%root%RHS_CNTR_MASTER_ROOT)
242 IF (
associated(id%root%RHS_ROOT))
THEN
243 DEALLOCATE(id%root%RHS_ROOT)
244 NULLIFY(id%root%RHS_ROOT)
247 IF (
associated(id%ELTPROC))
THEN
248 DEALLOCATE(id%ELTPROC)
254 IF (
associated(id%CANDIDATES))
THEN
255 DEALLOCATE(id%CANDIDATES)
256 NULLIFY(id%CANDIDATES)
258 IF (
associated(id%I_AM_CAND))
THEN
259 DEALLOCATE(id%I_AM_CAND)
260 NULLIFY(id%I_AM_CAND)
262 IF (
associated(id%ISTEP_TO_INIV2))
THEN
263 DEALLOCATE(id%ISTEP_TO_INIV2)
264 NULLIFY(id%ISTEP_TO_INIV2)
268 IF (
associated(id%TAB_POS_IN_PERE))
THEN
269 DEALLOCATE(id%TAB_POS_IN_PERE)
270 NULLIFY(id%TAB_POS_IN_PERE)
272 IF (
associated(id%FUTURE_NIV2))
THEN
273 DEALLOCATE(id%FUTURE_NIV2)
274 NULLIFY(id%FUTURE_NIV2)
277 IF(
associated(id%DEPTH_FIRST))
THEN
278 DEALLOCATE(id%DEPTH_FIRST)
279 NULLIFY(id%DEPTH_FIRST)
281 IF(
associated(id%DEPTH_FIRST_SEQ))
THEN
282 DEALLOCATE(id%DEPTH_FIRST_SEQ)
283 NULLIFY(id%DEPTH_FIRST_SEQ)
285 IF(
associated(id%SBTR_ID))
THEN
286 DEALLOCATE(id%SBTR_ID)
289 IF(
associated(id%SCHED_DEP))
THEN
290 DEALLOCATE(id%SCHED_DEP)
291 NULLIFY(id%SCHED_DEP)
293 IF(
associated(id%SCHED_SBTR))
THEN
294 DEALLOCATE(id%SCHED_SBTR)
295 NULLIFY(id%SCHED_SBTR)
297 IF(
associated(id%SCHED_GRP))
THEN
298 DEALLOCATE(id%SCHED_GRP)
299 NULLIFY(id%SCHED_GRP)
301 IF(
associated(id%CROIX_MANU))
THEN
302 DEALLOCATE(id%CROIX_MANU)
303 NULLIFY(id%CROIX_MANU)
305 IF (
associated(id%MEM_SUBTREE))
THEN
306 DEALLOCATE(id%MEM_SUBTREE)
307 NULLIFY(id%MEM_SUBTREE)
309 IF (
associated(id%MY_ROOT_SBTR))
THEN
310 DEALLOCATE(id%MY_ROOT_SBTR)
311 NULLIFY(id%MY_ROOT_SBTR)
313 IF (
associated(id%MY_FIRST_LEAF))
THEN
314 DEALLOCATE(id%MY_FIRST_LEAF)
315 NULLIFY(id%MY_FIRST_LEAF)
317 IF (
associated(id%MY_NB_LEAF))
THEN
318 DEALLOCATE(id%MY_NB_LEAF)
319 NULLIFY(id%MY_NB_LEAF)
321 IF (
associated(id%COST_TRAV))
THEN
322 DEALLOCATE(id%COST_TRAV)
323 NULLIFY(id%COST_TRAV)
325 IF (
associated(id%CB_SON_SIZE))
THEN
326 DEALLOCATE(id%CB_SON_SIZE)
327 NULLIFY(id%CB_SON_SIZE)
329 IF (
associated(id%SUP_PROC))
THEN
330 DEALLOCATE(id%SUP_PROC)
334 IF(
associated (id%OOC_INODE_SEQUENCE))
THEN
335 DEALLOCATE(id%OOC_INODE_SEQUENCE)
336 NULLIFY(id%OOC_INODE_SEQUENCE)
338 IF(
associated (id%OOC_TOTAL_NB_NODES))
THEN
339 DEALLOCATE(id%OOC_TOTAL_NB_NODES)
340 NULLIFY(id%OOC_TOTAL_NB_NODES)
342 IF(
associated (id%OOC_SIZE_OF_BLOCK))
THEN
343 DEALLOCATE(id%OOC_SIZE_OF_BLOCK)
344 NULLIFY(id%OOC_SIZE_OF_BLOCK)
346 IF(
associated (id%OOC_VADDR))
THEN
347 DEALLOCATE(id%OOC_VADDR)
348 NULLIFY(id%OOC_VADDR)
350 IF(
associated (id%OOC_NB_FILES))
THEN
351 DEALLOCATE(id%OOC_NB_FILES)
352 NULLIFY(id%OOC_NB_FILES)
356 IF (
associated(id%LRGROUPS))
THEN
357 DEALLOCATE(id%LRGROUPS)
362 & id%BLRARRAY_ENCODING, id%KEEP8(1), id%KEEP(34))
363 IF (
associated(id%MPITOOMP_PROCS_MAP))
THEN
364 DEALLOCATE(id%MPITOOMP_PROCS_MAP)
365 NULLIFY(id%MPITOOMP_PROCS_MAP)
367 IF (
associated(id%SINGULAR_VALUES))
THEN
368 DEALLOCATE(id%SINGULAR_VALUES)
369 NULLIFY(id%SINGULAR_VALUES)
375 IF (id%KEEP8(24).EQ.0_8)
THEN
377 IF (
associated(id%S))
DEALLOCATE(id%S)
393 IF (
associated(id%IPTR_WORKING))
THEN
394 DEALLOCATE(id%IPTR_WORKING)
395 NULLIFY(id%IPTR_WORKING)
397 IF (
associated(id%WORKING))
THEN
398 DEALLOCATE(id%WORKING)
401 IF (
associated(id%IPOOL_B_L0_OMP))
THEN
402 DEALLOCATE(id%IPOOL_B_L0_OMP)
403 NULLIFY(id%IPOOL_B_L0_OMP)
405 IF (
associated(id%IPOOL_A_L0_OMP))
THEN
406 DEALLOCATE(id%IPOOL_A_L0_OMP)
407 NULLIFY(id%IPOOL_A_L0_OMP)
409 IF (
associated(id%PHYS_L0_OMP))
THEN
410 DEALLOCATE(id%PHYS_L0_OMP)
411 NULLIFY(id%PHYS_L0_OMP)
413 IF (
associated(id%VIRT_L0_OMP))
THEN
414 DEALLOCATE(id%VIRT_L0_OMP)
415 NULLIFY(id%VIRT_L0_OMP)
417 IF (
associated(id%VIRT_L0_OMP_MAPPING))
THEN
418 DEALLOCATE(id%VIRT_L0_OMP_MAPPING)
419 NULLIFY(id%VIRT_L0_OMP_MAPPING)
421 IF (
associated(id%PERM_L0_OMP))
THEN
422 DEALLOCATE(id%PERM_L0_OMP)
423 NULLIFY(id%PERM_L0_OMP)
425 IF (
associated(id%PTR_LEAFS_L0_OMP))
THEN
426 DEALLOCATE(id%PTR_LEAFS_L0_OMP)
427 NULLIFY(id%PTR_LEAFS_L0_OMP)
429 IF (
associated(id%L0_OMP_MAPPING))
THEN
430 DEALLOCATE(id%L0_OMP_MAPPING)
431 NULLIFY(id%L0_OMP_MAPPING)
433 IF (
associated(id%I4_L0_OMP))
THEN
434 DEALLOCATE(id%I4_L0_OMP)
435 NULLIFY(id%I4_L0_OMP)
437 IF (
associated(id%I8_L0_OMP))
THEN
438 DEALLOCATE(id%I8_L0_OMP)
439 NULLIFY(id%I8_L0_OMP)
441 IF (
associated(id%L0_OMP_FACTORS))
THEN
447 & id_BLRARRAY_ENCODING, KEEP8, K34)
468# if defined(MUMPS_F2003)
469 CHARACTER,
DIMENSION(:),
POINTER,
intent(inout) ::
470 & id_BLRARRAY_ENCODING
471 CHARACTER,
DIMENSION(:),
POINTER,
intent(inout) ::
474 CHARACTER,
DIMENSION(:),
POINTER :: id_BLRARRAY_ENCODING
475 CHARACTER,
DIMENSION(:),
POINTER :: id_FDM_F_ENCODING
477 INTEGER(8),
intent(inout) :: KEEP8(150)
478 INTEGER,
intent(in) :: K34
480 IF (
associated(id_fdm_f_encoding))
THEN
483 IF (
associated(id_blrarray_encoding))
THEN
488 & lrsolve_act_opt=.true.)
subroutine mumps_propinfo(icntl, info, comm, id)
subroutine dmumps_end_driver(id)
subroutine dmumps_free_id_data_modules(id_fdm_f_encoding, id_blrarray_encoding, keep8, k34)
subroutine dmumps_rr_free_pointers(id)
subroutine mpi_comm_free(comm, ierr)
subroutine blacs_gridexit(cntxt)
subroutine, public dmumps_buf_deall_small_buf(ierr)
subroutine, public dmumps_buf_deall_cb(ierr)
subroutine, public dmumps_free_l0_omp_factors(id_l0_omp_factors)
subroutine, public dmumps_blr_struc_to_mod(id_blrarray_encoding)
subroutine, public dmumps_blr_end_module(info1, keep8, k34, lrsolve_act_opt)
subroutine dmumps_clean_ooc_data(id, ierr)
subroutine, public mumps_fdm_struc_to_mod(what, id_fdm_encoding)
subroutine, public mumps_fdm_end(what)