54
55
56
57
58
59
60
64 USE multi_fvm_mod , ONLY : multi_fvm_struct
65 USE intbuf_fric_mod , ONLY : intbuf_fric_struct_
69 USE sensor_mod , ONLY : sensors_
70 USE interfaces_mod , ONLY : interfaces_
72
73
74
75#include "implicit_f.inc"
76
77
78
79#include "com01_c.inc"
80#include "com04_c.inc"
81#include "units_c.inc"
82#include "scr17_c.inc"
83#include "r2r_c.inc"
84#include "inter22.inc"
85
86
87
88 INTEGER,INTENT(IN) :: NPARI, NPARIR
89 INTEGER,INTENT(IN) :: NPTS
90 INTEGER,INTENT(IN) :: SNPC, SNPC1
91 INTEGER,INTENT(IN) :: SITAB, SITABM1
92 INTEGER,INTENT(IN) :: LISKN, SISKWN
93 INTEGER,INTENT(IN) :: ITHERM_FE
94 INTEGER,INTENT(INOUT) :: INTHEAT
95 TYPE (UNIT_TYPE_),INTENT(IN) ::UNITAB
96 INTEGER NOM_OPT(LNOPT1,*)
97 INTEGER IPARI(NPARI,NINTER), ITAB(NUMNOD), ITABM1(SITABM1),NPC(SNPC),ISKN(SISKWN),
98 . DEF_INTER(100),NPC1(SNPC1),NOM_OPTFRIC(LNOPT1,*),KLOADPINTER(NINTER+1)
99 my_real xfiltr(ninter),stfac(ninter),fric_p(10,ninter),
i2rupt(6,ninter),frigap(nparir,ninter),areasl(ninter),tf(npts)
100 my_real,
INTENT(IN) :: dgapint(ninter)
101 TYPE(MULTI_FVM_STRUCT), INTENT(IN) :: MULTI_FVM
102 TYPE(INTBUF_FRIC_STRUCT_) INTBUF_FRIC_TAB(NINTERFRIC)
103 TYPE (SUBMODEL_DATA), DIMENSION(NSUBMOD),INTENT(IN) :: LSUBMODEL
104 TYPE (SENSORS_) ,INTENT(IN) :: SENSORS
105 TYPE (GROUP_) , DIMENSION(NGRNOD) :: IGRNOD
106 TYPE (GROUP_) , DIMENSION(NGRBRIC) :: IGRBRIC
107 TYPE (GROUP_) , DIMENSION(NGRSH3N) :: IGRSH3N
108 TYPE (GROUP_) , DIMENSION(NGRTRUS) :: IGRTRUSS
109 TYPE (SURF_) , DIMENSION(NSURF) ,TARGET :: IGRSURF
110 TYPE (SURF_) , DIMENSION(NSLIN) ,TARGET :: IGRSLIN
111 TYPE (INTERFACES_) ,INTENT(INOUT):: INTERFACES
112
113
114
115 INTEGER I,J,P,NI,NIN,ILAGM,NOINT,NB,UID,SUB_ID,IFLAGUNIT,K
116 CHARACTER(LEN=NCHARKEY) :: KEY, KEY2, STR_TMP
117 CHARACTER(LEN=NCHARTITLE) :: TITR
118 CHARACTER(LEN=40) :: MESS
119 DATA mess/'INTERFACE INPUT '/
120
121
122
123 INTEGER,EXTERNAL :: USR2SYS
124
125
126
127
128
129 ni = 0
130 nb = 0
131 intheat = 0
132 ftempvar21 = 0
133 nitsche = 0
134 interadhesion = 0
135 i22len = 0
136 int22 = 0
137
138
140 ni = 0
141
142 DO nin=1,hm_ninter
143 nb = nb+1
144
145 IF (nsubdom > 0) THEN
147 ENDIF
148 ilagm = 0
149 key = ''
150
152 . option_titr=titr,keyword2=key,keyword3=key2)
153
154 IF(key(1:len_trim(key)) == 'SUB') cycle
155 ni=ni+1
156 DO i = 1,npari
157 ipari(i,ni) = 0
158 ENDDO
159 ipari(23,ni) = 1
160
161 iflagunit = 0
162 DO j=1,unitab%NUNITS
163 IF (unitab%UNIT_ID(j) == uid) THEN
164 iflagunit = 1
165 EXIT
166 ENDIF
167 ENDDO
168 IF (uid /= 0.AND.iflagunit == 0) THEN
169 CALL ancmsg(msgid=659,anmode=aninfo,msgtype=msgerror,i2=uid,i1=noint,c1=
'INTERFACE',c2=
'INTERFACE',c3=titr)
170 ENDIF
171
172 WRITE(iout,1300)
173 str_tmp = key(1:len_trim(key))
174
175 IF(n2d /= 0 .AND.
176 . str_tmp /= 'TYPE1' .AND. str_tmp /= 'TYPE2' .AND.
177 . str_tmp /= 'TYPE3' .AND. str_tmp /= 'TYPE5') THEN
178 CALL ancmsg(msgid=2097,anmode=anstop,msgtype=msgerror,i1=noint,c1=titr,c2=str_tmp)
179 ENDIF
180
181 SELECT CASE(str_tmp)
182 CASE ('KINE', 'TYPE1', 'TYPE9', 'TYPE12', 'TYPE18', 'TYPE22')
183
185 1 ipari(1,ni) ,stfac(ni) ,frigap(1,ni) ,xfiltr(ni) ,fric_p(1,ni),
186 2 igrnod ,igrsurf ,ilagm ,unitab ,ni ,
187 3 nom_opt ,titr ,igrbric ,igrsh3n ,igrtruss ,
188 4 noint ,key ,lsubmodel ,itab ,
189 5 itabm1 ,iskn ,multi_fvm ,npari ,nparir ,
190 6 ngrnod ,ngrbric ,ngrsh3n ,ngrtrus ,nsurf ,
191 7 lnopt1 ,sitabm1 ,siskwn ,liskn ,
192 8 ltitr ,sitab)
193
194 CASE ('LAGMUL')
195
197 1 ipari(1,ni) ,stfac(ni) ,frigap(1,ni) ,igrnod ,igrsurf ,
198 2 ilagm ,ni ,nom_opt ,titr ,def_inter ,
199 3 igrbric ,unitab ,lsubmodel ,noint ,key2 ,
200 4 npari ,nparir)
201
202 CASE ('LAGDT')
203
205 1 ipari(1,ni) ,stfac(ni) ,frigap(1,ni) ,xfiltr(ni),fric_p(1,ni),
206 2 igrnod ,igrsurf ,ilagm ,unitab ,ni ,
207 4 nom_opt ,titr ,def_inter ,noint ,lsubmodel ,
208 5 npari ,nparir)
209
210 CASE DEFAULT
211
213 1 ipari(1,ni) ,stfac(ni) ,frigap(1,ni) ,xfiltr(ni) ,fric_p(1,ni),
214 2 igrnod ,igrsurf ,igrslin ,npc ,ilagm ,
216 4 areasl(ni) ,ni ,nom_opt ,titr ,def_inter ,
217 5 npc1 ,sensors ,
218 6 nom_optfric ,intbuf_fric_tab,igrbric ,noint ,key ,
219 7 lsubmodel ,tf ,interfaces ,snpc ,snpc1 ,
220 8 npari ,nparir ,npts ,
221 9 lnopt1 ,ltitr ,ninter25 ,
222 . ngrnod ,ngrbric ,nsurf ,nslin ,
223 . itherm_fe ,intheat )
224
225 END SELECT
226
227 noint = ipari(15,ni)
228 IF (ipari(71,ni) <= 0) THEN
229 DO k=1,ni-1
230 IF (noint == ipari(15,k)) THEN
231 CALL ancmsg(msgid=117,msgtype=msgerror,anmode=aninfo_blind_1,i1=noint,c1=titr,i2=noint)
232 ENDIF
233 ENDDO
234 ENDIF
235
236 IF(ipari(39,ni) == 1)THEN
237 ipari(40,ni)=
usr2sys(ipari(40,ni),itabm1,mess,ipari(15,ni))
238 DO p = 1, nspmd
240 END DO
241 ELSEIF(ipari(39,ni) == 2)THEN
242 ipari(40,ni)=
usr2sys(ipari(40,ni),itabm1,mess,ipari(15,ni))
243 ipari(41,ni)=
usr2sys(ipari(41,ni),itabm1,mess,ipari(15,ni))
244 DO p = 1, nspmd
247 END DO
248 ENDIF
249
250 IF(nintloadp > 0)ipari(95,ni) = kloadpinter(ni+1) - kloadpinter(ni)
251 IF(nintloadp > 0)frigap(46,ni) = dgapint(ni)
252
253 ENDDO
254
255
256 1300 FORMAT( /1x,' INTERFACES ' /
257 . 1x,' -------------- '// )
258 RETURN
subroutine ifrontplus(n, p)
subroutine hm_option_start(entity_type)
subroutine hm_read_inter_fsi(ipari, stfac, frigap, xfiltr, fric_p, igrnod, igrsurf, ilagm, unitab, ni, nom_opt, titr, igrbric, igrsh3n, igrtruss, noint, key, lsubmodel, itab, itabm1, iskn, multi_fvm, npari, nparir, ngrnod, ngrbric, ngrsh3n, ngrtrus, nsurf, lnopt1, sitabm1, siskwn, liskn, ltitr, sitab)
subroutine hm_read_inter_lagdt_type07(ipari, stfac, frigap, xfiltr, fric_p, igrnod, igrsurf, ilagm, unitab, ni, nom_opt, titr, def_inter, noint, lsubmodel, npari, nparir)
subroutine hm_read_inter_lagmul(ipari, stfac, frigap, igrnod, igrsurf, ilagm, ni, nom_opt, titr, def_inter, igrbric, unitab, lsubmodel, noint, key, npari, nparir)
subroutine hm_read_inter_struct(ipari, stfac, frigap, xfiltr, fric_p, igrnod, igrsurf, igrslin, npc, ilagm, unitab, i2rupt, areasl, ni, nom_opt, titr, def_inter, npc1, sensors, nom_optfric, intbuf_fric_tab, igrbric, noint, key, lsubmodel, tf, interfaces, snpc, snpc1, npari, nparir, npts, lnopt1, ltitr, ninter25, ngrnod, ngrbric, nsurf, nslin, itherm_fe, intheat)
subroutine i2rupt(x, v, a, ms, in, stifn, fsav, weight, irect, nsv, msr, irtl, irupt, crst, mmass, miner, smass, siner, area, uvar, xsm0, dsm, fsm, prop, ipari, nsn, nmn, nuvar, igtyp, pid, npf, tf, itab, fncont, pdama2, isym, inorm, h3d_data, fncontp, ftcontp)
integer, parameter nchartitle
integer, parameter ncharkey
integer, dimension(:), allocatable tagint
subroutine hm_sz_r2r(tag, val, lsubmodel)
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)
integer function usr2sys(iu, itabm1, mess, id)