37 1 IPARI ,STFAC ,FRIGAP ,NOINT ,
38 2 IGRSURF ,ITAB ,ITABM1 ,ISKN ,
39 3 LSUBMODEL ,UNITAB ,SITAB ,SITABM1 ,
40 4 NPARI ,NPARIR ,SISKWN ,LISKN)
54#include
"implicit_f.inc"
64 INTEGER,
INTENT(IN) :: SITAB,SITABM1,NPARI,NPARIR,SISKWN,LISKN
65 INTEGER ISU1,ISU2,NOINT
66 INTEGER IPARI(NPARI),ISKN(LISKN,SISKWN/LISKN),ITAB(SITAB)
70 TYPE (UNIT_TYPE_),
INTENT(IN) :: UNITAB
72 TYPE (SURF_) ,
TARGET ,
DIMENSION(NSURF) :: IGRSURF
76 INTEGER J, NTYP,IS1, IS2,,ILEV,ITIED,HIERA,
79 . FRIC,GAP,STARTT,STOPT,BID,XC,YC,ZC,XR,YR,ZR,TETA,
81 CHARACTER(LEN=40)::MESS
83 INTEGER,
DIMENSION(:),
POINTER :: INGR2USR
88 INTEGER USR2SYS,NGR2USR
118 CALL hm_get_intv(
'secondaryentityids', isu1, is_available, lsubmodel)
119 CALL hm_get_intv(
'mainentityids', isu2, is_available, lsubmodel)
120 CALL hm_get_intv(
'type12_interpol', ilev, is_available, lsubmodel)
128 ingr2usr => igrsurf(1:nsurf)%ID
129 isu1=ngr2usr(isu1,ingr2usr,nsurf)
130 isu2=ngr2usr(isu2,ingr2usr,nsurf)
140 CALL hm_get_floatv(
'type12_tol', gap, is_available, lsubmodel, unitab)
147 IF(gap==0.)gap=two*em02
151 CALL hm_get_intv(
'type12_itied', itied, is_available, lsubmodel)
152 CALL hm_get_intv(
'type12_bcopt', bcopt, is_available, lsubmodel)
154 CALL hm_get_intv(
'Node_C', icenter, is_available, lsubmodel)
158 IF(hiera==0)hiera=itied+1
161 nhin2=
max(nhin2,hiera)
169 CALL hm_get_floatv(
'type12_Xc', xc, is_available, lsubmodel, unitab)
170 CALL hm_get_floatv(
'type12_Yc', yc, is_available, lsubmodel, unitab)
171 CALL hm_get_floatv(
'type12_Zc', zc, is_available, lsubmodel, unitab)
173 CALL hm_get_floatv(
'type12_XN', xr, is_available, lsubmodel, unitab)
174 CALL hm_get_floatv(
'type12_YN', yr, is_available, lsubmodel, unitab)
175 CALL hm_get_floatv(
'type12_ZN', zr, is_available, lsubmodel, unitab)
176 CALL hm_get_floatv(
'type12_theta', teta, is_available, lsubmodel, unitab)
178 CALL hm_get_floatv(
'type12_XT', xt, is_available, lsubmodel, unitab)
179 CALL hm_get_floatv(
'type12_YT', yt, is_available, lsubmodel, unitab)
186 IF (stopt == zero) stopt = ep30
193 IF (stfac == zero) stfac = one_fifth
213 ipari(22)=usr2sys(icenter,itabm1,mess,ipari(15))
220 IF(iskew==iskn(4,j+1))
THEN
227 641
FORMAT(
' ** ERROR INTERF TYPE 12 WRONG SKEW SYSTEM NUMBER')
230 IF(iskn(1,j+1)==0)
THEN
231 WRITE(istdo,
'(a)')
'** WARNING INTERFACE 12'
233 WRITE(iout,642) icenter
234 642
FORMAT(
' ** INTERF TYPE 12 SKEW SYSTEM IS FIXED,',
235 &
' USING CENTER NODE', i8,
236 &
' AND SKEW AXIS 1 FOR POLAR COORDINATE SYSTEM')
238 icenter=itab(iskn(1,j+1))
239 ipari(22)=iskn(1,j+1)
242 WRITE(istdo,
'(a)')
'** WARNING INTERFACE 12'
245 643
FORMAT(
' ** INTERF TYPE 12, USING ORIGIN AND X-AXIS',
246 &
' FOR POLAR COORDINATE SYSTEM')
257 WRITE(iout,1512)gap,itied,ipari(11)
258 IF(ipari(20)==1)
WRITE(iout,2512)ipari(21),icenter
259 IF(ipari(20)==2)
WRITE(iout,2513)ipari(21)
260 IF(itied==2)
WRITE(iout,1513)xt,yt,zt,xc,yc,zc,xr,yr,zr,teta
264 WRITE(iout,
'(6X,A)')
'NO SECONDARY SURFACE INPUT'
266 WRITE(iout,
'(6X,A)')
'SECONDARY SURFACE INPUT BY SEGMENTS'
268 WRITE(iout,
'(6X,A)')
'SECONDARY SURFACE INPUT BY NODES'
270 WRITE(iout,
'(6X,A)')
'SECONDARY SURFACE INPUT BY SEGMENTS'
272 WRITE(iout,
'(6X,A)')
'SECONDARY SIDE INPUT BY BRICKS'
274 WRITE(iout,
'(6X,A)')
'SECONDARY SIDE INPUT BY SOLID ELEMENTS'
277 WRITE(iout,
'(6X,A)')
'NO MAIN SURFACE INPUT'
279 WRITE(iout,
'(6X,A)')
'MAIN SURFACE INPUT BY SEGMENTS'
281 WRITE(iout,
'(6X,A)')
'MAIN SURFACE INPUT BY NODES'
283 WRITE(iout,
'(6X,A)')
'MAIN SURFACE INPUT BY SEGMENTS'
285 WRITE(iout,
'(6X,A)')
'MAIN SURFACE REFERS ',
286 .
'TO HYPER-ELLIPSOIDAL SURFACE'
295 .
' TYPE==12 FLUID/FLUID INTERFACE ' //,
296 .
' TOLERANCE TO FIND MAIN SEGMENT . . . . . ',1pg20.13/,
297 .
' ITIED . . . . . . . . . . . . . . . . . . . ',i1/,
298 .
' 0: SLIDING (NOVOID)'/,
300 .
' 2: PERIODIC BOUNDARY CONDITION '/,
301 .
' 3: SLIDING NO FLUX '/,
302 .
' BCCOD (DEFAULT 2) . . . . . . . . . . . . . ',i1/,
303 .
' 1: NORMAL CHECK '/,
304 .
' 2: SECONDARY DEACTIVATION (RBY & INTER TYPE2) '/,
305 .
' 3: SECONDARY DEACTIVATION (B.C., RBY & INTER TYPE2)'
308 .
' TRANSLATION VECTOR XT . . . . . . . . . . ',1pg20.13/,
309 .
' YT . . . . . . . . . . ',1pg20.13/,
310 .
' ZT . . . . . . . . . . ',1pg20.13/,
311 .
' ROTATION CENTER XC . . . . . . . . . . ',1pg20.13/,
312 .
' YC . . . . . . . . . . ',1pg20.13/,
313 .
' ZC . . . . . . . . . . ',1pg20.13/,
314 .
' ROTATION VECTOR XR . . . . . . . . . . ',1pg20.13/,
315 .
' YR . . . . . . . . . . ',1pg20.13/,
316 .
' ZR . . . . . . . . . . ',1pg20.13/,
317 .
' ROTATION ANGLE TETA . . . . . . . . . . ',1pg20.13/)
319 2512
FORMAT(
' POLAR INTERPOLATION : SKEW SYSTEM NUMBER . ',i10/,
320 .
' CENTER NODE . . . . . . . . . . . . . . . . ',i10/)
321 2513
FORMAT(
' SPHERICAL INTERPOLATION : CENTER NODE . . . ',i10/)