40 . UNITAB ,IGRNOD ,IGRBRIC, LSUBMODEL,
41 . NIMPFLUX,NITFLUX,LFACTHER)
51 use element_mod ,
only : nixs
55#include "implicit_f.inc"
65 TYPE (UNIT_TYPE_),
INTENT(IN) ::UNITAB
66 INTEGER ,
INTENT(IN) :: NIMPFLUX
67 INTEGER ,
INTENT(IN) :: NITFLUX
68 INTEGER ,
INTENT(IN) :: LFACTHER
69 INTEGER IB(NITFLUX,*), ITAB(*), IXS(NIXS,*)
75 TYPE (GROUP_) ,
DIMENSION(NGRNOD) :: IGRNOD
76 TYPE (GROUP_) ,
DIMENSION(NGRBRIC) :: IGRBRIC
77 TYPE (SURF_) ,
DIMENSION(NSURF) :: IGRSURF
81 INTEGER I, J, K, I1, I2, IFU, ISENS, NN, ISU, IS,
82 . ID, UID, IFLAGUNIT, ITY
83 INTEGER IEL, IGBR, K1, K2
85 my_real fcx, fcy, fcx_dim, fcy_dim
86 my_real tstart, tstop, tstop_dim
88 CHARACTER(LEN=NCHARTITLE)::TITR
93 DATA mess/
'THERMAL FLUX DEFINITION '/
95 is_available = .false.
114 . option_titr = titr)
118 CALL hm_get_intv(
'entityid',isu,is_available,lsubmodel)
119 CALL hm_get_intv(
'curveid',ifu,is_available,lsubmodel)
120 CALL hm_get_intv(
'rad_sensor_id',isens,is_available,lsubmodel)
121 CALL hm_get_intv(
'grbrick_id',igbr,is_available,lsubmodel)
125 CALL hm_get_floatv(
'xscale',fcx,is_available,lsubmodel,unitab)
127 CALL hm_get_floatv(
'magnitude',fcy,is_available,lsubmodel,unitab)
129 CALL hm_get_floatv(
'rad_tstart',tstart,is_available,lsubmodel,unitab)
130 CALL hm_get_floatv(
'rad_tstop',tstop,is_available,lsubmodel,unitab)
135 IF (unitab%UNIT_ID(j) == uid)
THEN
140 IF (uid /= 0.AND.iflagunit == 0)
THEN
141 CALL ancmsg(msgid=659,anmode=aninfo,msgtype=msgerror,
142 . i2=uid,i1=id,c1=
'HEAT FLUX',
143 . c2=
'HEAT FLUX',c3=titr)
145 IF(isu /= 0 .AND. igbr /=0)
THEN
146 CALL ancmsg(msgid=1229,anmode=aninfo,msgtype=msgerror,c1=titr,i1=isu,i2=igbr)
149 IF (fcx == zero) fcx = fcx_dim
150 IF (fcy == zero) fcy = fcy_dim
151 IF(tstop == zero) tstop= ep30 * tstop_dim
156 IF (isu == igrsurf(j)%ID) is=j
163 ib(1,k)=igrsurf(is)%NODES(j,1)
164 ib(2,k)=igrsurf(is)%NODES(j,2)
165 ib(3,k)=igrsurf(is)%NODES(j,3)
166 ity =igrsurf(is)%ELTYP(j)
171 ib(4,k)=igrsurf(is)%NODES(j,4)
175 ib(7,k) = igrsurf(is)%ELTYP(j)
176 ib(8,k) = igrsurf(is)%ELEM(j)
178 ib(9,k) = ixs(11,igrsurf(is)%ELEM(j))
192 CALL ancmsg(msgid=1230,anmode=aninfo,msgtype=msgerror,c1=titr,i1=isu)
195 ELSEIF(igbr > 0)
THEN
198 IF (igbr == igrbric(j)%ID) is=j
201 nn = igrbric(is)%NENTITY
205 iel = igrbric(is)%ENTITY(j)
213 ib(9,k) = ixs(11,iel)
224 CALL ancmsg(msgid=1231,anmode=aninfo,msgtype=msgerror,c1=titr,i1=igbr)
232 100
WRITE (iout,2000)
236 IF(ib(10,i) == 0)
THEN
239 WRITE (iout,
'(5(1X,I10),2(1X,I10),1X,4G20.13)') i,
240 . itab(ib(1,i)),itab(ib(2,i)),itab(ib(3,i)),itab(ib(4,i)),
241 . ib(5,i),ib(6,i),fac(4,i),fac(5,i),one/fac(2,i),
244 IF(i2 == k1)
GO TO 200
245 IF(i1 < 50)
GO TO 150
253 300
WRITE (iout,3000)
257 IF(ib(10,i) == 1)
THEN
260 WRITE (iout,
'(2X,I10,2(2X,I10),1X,4G20.13)') ib(9,i),
261 . ib(5,i),ib(6,i),fac(4,i),fac(5,i),one/fac(2,i),
264 IF(i2 == k2)
GO TO 400
265 IF(i1 < 50)
GO TO 350
274 .
' SURFACIC HEAT FLUX DENSITY '/
275 .
' -------------------------- ')
277 .
' SEGMENT NODE1 NODE2 NODE3 NODE4 ',
278 .
' CURVE SENSOR T-START T-STOP', 8x,
281 .
' VOLUMIC HEAT FLUX DENSITY '/
282 .
' ------------------------- ')
284 .
' BRICK ELEMENT CURVE SENSOR T-START', 9x,
285 .
' T-STOP SCALE-X SCALE-Y')
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)