35
36
37
38
39
40
41
42
47
48
49
50#include "implicit_f.inc"
51
52
53
54 INTEGER,INTENT(IN) :: NPARI, NPARIR
55 INTEGER,INTENT(IN) :: NSURF
56 INTEGER,INTENT(IN) :: NOINT
57 INTEGER,INTENT(INOUT) :: IPARI(NPARI)
58 my_real,
INTENT(INOUT) :: frigap(nparir)
60 TYPE(SUBMODEL_DATA),INTENT(IN),DIMENSION(NSUBMOD) :: LSUBMODEL
61 TYPE (SURF_),INTENT(IN),TARGET,DIMENSION(NSURF) :: IGRSURF
62
63
64
65#include "units_c.inc"
66
67
68
70 INTEGER ,ISU2
71 INTEGER I,J,L, NTYP,IS1,IS2,IGSTI,ILEV,IVOID
72 INTEGER, DIMENSION(:), POINTER :: INGR2USR
73 LOGICAL :: IS_AVAILABLE
74 CHARACTER(len=nchartitle) :: MSGTITL
75
76
77
78 INTEGER, EXTERNAL :: NGR2USR
79
80
81
82 is1=0
83 is2=0
84 igsti=0
85 ilev=0
86
87 fric=zero
88 gap=zero
89 startt=zero
90 stopt=ep20
91
92 ntyp=1
93 ipari(15)=noint
94 ipari(7)=ntyp
95
96 IF(stfac == zero) stfac = one_fifth
97
98
99
100
101
102 CALL hm_get_intv(
'surf_IDA', isu1, is_available, lsubmodel)
103 CALL hm_get_intv(
'surf_IDL', isu2, is_available, lsubmodel)
104
105 is1=1
106 is2=1
107 ingr2usr => igrsurf(1:nsurf)%ID
108 isu1=
ngr2usr(isu1,ingr2usr,nsurf)
109 isu2=
ngr2usr(isu2,ingr2usr,nsurf)
110
111
112 ipari(45)=isu1
113 ipari(46)=isu2
114 ipari(13)=is1*10+is2
115 ipari(20)=ilev
116 frigap(3)=startt
117 frigap(11)=stopt
118
119
120
121
122
123 WRITE(iout,1501)
124
125
126 IF(is1==0)THEN
127 WRITE(iout,'(6X,A)')'NO SECONDARY SURFACE INPUT (ALE)'
128 ELSEIF(is1==1)THEN
129 WRITE(iout,'(6X,A)')'SECONDARY SURFACE INPUT BY SEGMENTS (ALE)'
130 ELSEIF(is1==2)THEN
131 WRITE(iout,'(6X,A)')'SECONDARY SURFACE INPUT BY NODES (ALE)'
132 ELSEIF(is1==3)THEN
133 WRITE(iout,'(6X,A)')'SECONDARY SURFACE INPUT BY SEGMENTS (ALE)'
134 ELSEIF(is1==4 )THEN
135 WRITE(iout,'(6X,A)')'SECONDARY SIDE INPUT BY BRICKS (ALE)'
136 ELSEIF(is1==5 )THEN
137 WRITE(iout,'(6X,A)')'SECONDARY SIDE INPUT BY SOLID ELEMENTS (ALE)'
138 ENDIF
139 IF(is2==0)THEN
140 WRITE(iout,'(6X,A)')'NO MAIN SURFACE INPUT (LAGRANGE)'
141 ELSEIF(is2==1)THEN
142 WRITE(iout,'(6X,A)')'MAIN SURFACE INPUT BY SEGMENTS (LAGRANGE)'
143 ELSEIF(is2==2)THEN
144 WRITE(iout,'(6X,A)')'MAIN SURFACE INPUT BY NODES (LAGRANGE)'
145 ELSEIF(is2==3)THEN
146 WRITE(iout,'(6X,A)')'MAIN SURFACE INPUT BY SEGMENTS (LAGRANGE)'
147 ELSEIF(is2==4)THEN
148 WRITE(iout,'(6X,A)')'MAIN SURFACE REFERS TO A HYPER-ELLIPSOIDAL SURFACE'
149 ENDIF
150
151
152 1000 FORMAT(/1x,' INTERFACE NUMBER :',i10,1x,a)
153
154 RETURN
155
156 1501 FORMAT(//
157 . ' TYPE==1 ALE(SECONDARY)/LAGRANGE(MAIN) ' //)
158
subroutine hm_get_intv(name, ival, is_available, lsubmodel)
integer, parameter nchartitle
integer, parameter ncharkey
integer, parameter ncharfield
integer function ngr2usr(iu, igr, ngr)