39 SUBROUTINE set_admesh(IPART ,IPADMESH,PADMESH,UNITAB,LSUBMODEL)
52#include "implicit_f.inc"
60#include "remesh_c.inc"
64 INTEGER IPART(LIPART1,*), IPADMESH(KIPADMESH,*)
69 TYPE (UNIT_TYPE_),
INTENT(IN) ::UNITAB
73 INTEGER ID, N,IP,I,J,INILEV,NPART_ADM,ID_IP
76 CHARACTER(LEN=NCHARTITLE) :: TITR
77 CHARACTER(LEN=NCHARKEY) :: KEY,KEY2
81 DATA mess /
'OPTIONS FOR ADAPTIVE MESHING DEFINITION '/
102 is_available = .false.
104 CALL hm_get_intv(
'LEVEL',levelmax,is_available,lsubmodel)
105 CALL hm_get_intv(
'Iadmrule',iadmrule,is_available,lsubmodel)
106 CALL hm_get_intv(
'Istatcnd',istatcnd,is_available,lsubmodel)
110 CALL hm_get_floatv(
'Tdelay',dtadmesh,is_available,lsubmodel,unitab)
116 WRITE(iout,1100) levelmax,iadmrule,dtadmesh,istatcnd
131 . option_titr = titr,
135 is_available = .false.
137 CALL hm_get_intv('level
',INILEV,IS_AVAILABLE,LSUBMODEL)
138 CALL HM_GET_INTV('nip
',NPART_ADM,IS_AVAILABLE,LSUBMODEL)
142 CALL HM_GET_FLOATV('angle2
',ANGLDEGR,IS_AVAILABLE,LSUBMODEL,UNITAB)
143 CALL HM_GET_FLOATV('thkerr
',THKERR,IS_AVAILABLE,LSUBMODEL,UNITAB)
146.OR.
IF(ANGLDEGR <= ZERO ANGLDEGR >= HUNDRED80)THEN
147 CALL ANCMSG(MSGID=649,
153 ANGL=ANGLDEGR*PI/HUNDRED80
156 IF(THKERR > ZERO) IADMERRT=1
157 IF(THKERR == ZERO)THKERR=EP30
162 CALL HM_GET_INT_ARRAY_INDEX('partids1
',ID_IP,I,IS_AVAILABLE,LSUBMODEL)
167 IF(IPART(4,J)==ID_IP)THEN
175 IF(IPART(10,IP)/=0)THEN
176 CALL ANCMSG(MSGID=644,
181 IPART(10,IP) =LEVELMAX
182 IPADMESH(1,IP)=MIN(INILEV,LEVELMAX)
183 PADMESH(1,IP) =COS(ANGL)
184 PADMESH(2,IP) =THKERR
186 WRITE(IOUT,1250) IPART(4,IP),
191 CALL ANCMSG(MSGID=646,
208 1000 FORMAT( /1X,' adaptive meshing
' /
209 . 1X,' --------------------
'// )
211 . ' global parameters
for adaptive meshing
' //
212 . ' ======================================
' //
213 . ' number of maximum levels . . . . . . . .
',I5/,
214 . ' two to one adaptive rule(0:no/1:yes) . .
',I5/,
215 . ' time between 2 checks
for adaptation. . .
',1PG20.13/,
216 . ' time step based on
the coarse mesh(0:no/1:yes). .
',I5)
218 . ' settings per part
for adaptive meshing
' //
219 . ' ======================================
' //)
221 . ' part id . . . . . . . . . . . . . . . .
',I5/,
222 . ' initial number of levels . . . . . . . .
',I5/,
223 . ' angle criteria . . . . . . . . . . . . .
',1PG20.13/,
224 . ' criteria on thickness error . . . . . . .
',1PG20.13/)