OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
mumps_ooc_common.F
Go to the documentation of this file.
1C
2C This file is part of MUMPS 5.5.1, released
3C on Tue Jul 12 13:17:24 UTC 2022
4C
5C
6C Copyright 1991-2022 CERFACS, CNRS, ENS Lyon, INP Toulouse, Inria,
7C Mumps Technologies, University of Bordeaux.
8C
9C This version of MUMPS is provided to you free of charge. It is
10C released under the CeCILL-C license
11C (see doc/CeCILL-C_V1-en.txt, doc/CeCILL-C_V1-fr.txt, and
12C https://cecill.info/licences/Licence_CeCILL-C_V1-en.html)
13C
15 IMPLICIT NONE
16 INTEGER, PARAMETER :: fct = 0
17 INTEGER, PARAMETER, PUBLIC :: typef_invalid = -999999
18 INTEGER, PUBLIC :: typef_l, typef_u, typef_cb
20 INTEGER, DIMENSION(:,:),POINTER :: ooc_inode_sequence
21 INTEGER(8), DIMENSION(:,:),POINTER :: ooc_vaddr
22 INTEGER,DIMENSION(:),POINTER:: keep_ooc
23 INTEGER icntl1
24 INTEGER(8), DIMENSION(:),ALLOCATABLE :: addvirtlibre
26 INTEGER, DIMENSION(:),POINTER :: step_ooc,procnode_ooc
28 INTEGER(8), SAVE :: hbuf_size, dim_buf_io
30 parameter(err_str_ooc_max_len = 512)
31 CHARACTER(len=1):: err_str_ooc(err_str_ooc_max_len)
34 INTEGER :: inode
35 LOGICAL :: master
36 INTEGER :: typenode
37 INTEGER :: nrow, ncol, nfs
38 LOGICAL :: last
39 INTEGER :: lastpiv
40 INTEGER :: lastpanelwritten_l
41 INTEGER :: lastpanelwritten_u
42 INTEGER,POINTER,DIMENSION(:) :: indices
43 END TYPE
44 PUBLIC io_block
45 INTEGER, PUBLIC :: strat_write_max, strat_try_write
46 parameter(strat_write_max=1, strat_try_write=2)
47 END MODULE mumps_ooc_common
48 SUBROUTINE mumps_ooc_convert_2inttobigint(INT1,INT2,BIGINT)
49 IMPLICIT NONE
50 INTEGER INT1,INT2
51 INTEGER(8) BIGINT
52 INTEGER(8) TMP1,TMP2,CONV
53 parameter(conv=1073741824_8)
54 tmp1=int(int1,kind=kind(tmp1))
55 tmp2=int(int2,kind=kind(tmp2))
56 bigint=(tmp1*conv)+tmp2
57 RETURN
59 SUBROUTINE mumps_ooc_convert_bigintto2int(INT1,INT2,BIGINT)
60 IMPLICIT NONE
61 INTEGER INT1,INT2
62 INTEGER(8) BIGINT
63 INTEGER(8) TMP1,TMP2,CONV
64 parameter(conv=1073741824_8)
65 tmp1=bigint/conv
66 tmp2=mod(bigint,conv)
67 int1=int(tmp1)
68 int2=int(tmp2)
69 RETURN
72 & (typef_l,typef_u,typef_cb,k201, k251, k50,
73 & typef_invalid)
74 IMPLICIT NONE
75 INTEGER, intent(out):: TYPEF_L, TYPEF_U, TYPEF_CB
76 INTEGER, intent(in) :: K201, K251, K50
77 INTEGER, intent(in) :: TYPEF_INVALID
78 IF (k201 .EQ. 1 .AND. k50.EQ.0) THEN
79 IF ( k251.NE.2 ) THEN
80 typef_l = 1
81 typef_u = 2
82 typef_cb = 3
83 ELSE
84 typef_u = 1
85 typef_l = typef_invalid
86 typef_cb = 2
87 ENDIF
88 ELSE
89 typef_l = 1
90 typef_u = typef_invalid
91 typef_cb=2
92 ENDIF
93 RETURN
94 END SUBROUTINE mumps_ooc_init_filetype
95 INTEGER FUNCTION mumps_ooc_get_fct_type
96 & (fwdorbwd, mtype, k201, k50)
98 INTEGER, intent(in) :: mtype, k201, k50
99 CHARACTER(len=1), intent(in) :: fwdorbwd
100 IF ( (typef_l .NE. 1 .AND. typef_l .NE. typef_invalid)
101 & .OR. (typef_u .NE. 1 .AND. typef_u .NE. 2 .AND.
102 & typef_u .NE. typef_invalid) ) THEN
103 WRITE(*,*) "Internal error 1 in MUMPS_OOC_GET_FCT_TYPE",
105 CALL mumps_abort()
106 ENDIF
107 IF (fwdorbwd .NE. 'F' .AND. fwdorbwd .NE. 'B') THEN
108 WRITE(*,*) "Internal error in MUMPS_OOC_GET_FCT_TYPE,",fwdorbwd
109 CALL mumps_abort()
110 ENDIF
111 IF (k201 .EQ. 1) THEN
112 IF (fwdorbwd .EQ. 'F') THEN
113 IF((mtype.NE.1).AND.(k50.EQ.0))THEN
115 ELSE
117 ENDIF
118 ELSE
119 IF(k50.EQ.0)THEN
120 IF(mtype.NE.1)THEN
122 ELSE
124 ENDIF
125 ELSE
127 ENDIF
128 ENDIF
129 ELSE
131 ENDIF
132 RETURN
133 END FUNCTION mumps_ooc_get_fct_type
#define mumps_abort
Definition VE_Metis.h:25
integer function mumps_ooc_get_fct_type(fwdorbwd, mtype, k201, k50)
subroutine mumps_ooc_convert_2inttobigint(int1, int2, bigint)
subroutine mumps_ooc_convert_bigintto2int(int1, int2, bigint)
subroutine mumps_ooc_init_filetype(typef_l, typef_u, typef_cb, k201, k251, k50, typef_invalid)
integer(8), dimension(:,:), pointer ooc_vaddr
integer, public typef_cb
integer(8), save hbuf_size
character(len=1), dimension(err_str_ooc_max_len) err_str_ooc
integer, save low_level_strat_io
logical, save solve
integer, public typef_u
integer, parameter fct
logical, save strat_io_async
integer, public strat_try_write
integer, dimension(:), pointer step_ooc
integer, public strat_write_max
integer, parameter, public typef_invalid
integer, save myid_ooc
integer(8), dimension(:), allocatable addvirtlibre
integer, dimension(:,:), pointer ooc_inode_sequence
integer(8), save dim_buf_io
integer, save slavef_ooc
integer, public typef_l
integer, dimension(:), pointer procnode_ooc
logical, save with_buf
integer, dimension(:), pointer keep_ooc