41 . UNITAB ,IGRNOD ,IGRBRIC, LSUBMODEL,
42 . NIMPFLUX,NITFLUX,LFACTHER)
55#include "implicit_f.inc"
65 TYPE (UNIT_TYPE_),
INTENT(IN) ::UNITAB
66 INTEGER ,
INTENT(IN) ::
67 INTEGER ,
INTENT(IN) ::
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) ::
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 temp, tstart, tstop, tstop_dim
88 CHARACTER(LEN=NCHARTITLE)::TITR
94 DATA MESS/
'THERMAL FLUX DEFINITION '/
96 is_available = .false.
115 . option_titr = titr)
119 CALL hm_get_intv(
'entityid',isu,is_available,lsubmodel)
120 CALL hm_get_intv(
'curveid',ifu,is_available,lsubmodel)
121 CALL hm_get_intv(
'rad_sensor_id',isens,is_available,lsubmodel)
122 CALL hm_get_intv(
'grbrick_id',igbr,is_available,lsubmodel)
126 CALL hm_get_floatv(
'xscale',fcx,is_available,lsubmodel,unitab)
128 CALL hm_get_floatv(
'magnitude',fcy,is_available,lsubmodel,unitab)
130 CALL hm_get_floatv(
'rad_tstart',tstart,is_available,lsubmodel,unitab)
131 CALL hm_get_floatv(
'rad_tstop',tstop,is_available,lsubmodel,unitab)
136 IF (unitab%UNIT_ID(j) == uid)
THEN
141 IF (uid /= 0.AND.iflagunit == 0)
THEN
142 CALL ancmsg(msgid=659,anmode=aninfo,msgtype=msgerror,
143 . i2=uid,i1=id,c1=
'HEAT FLUX',
144 . c2=
'HEAT FLUX',c3=titr)
146 IF(isu /= 0 .AND. igbr /=0)
THEN
147 CALL ancmsg(msgid=1229,anmode=aninfo,msgtype=msgerror,c1=titr,i1=isu,i2=igbr)
150 IF (fcx == zero) fcx = fcx_dim
151 IF (fcy == zero) fcy = fcy_dim
152 IF(tstop == zero) tstop= ep30 * tstop_dim
157 IF (isu == igrsurf(j)%ID) is=j
164 ib(1,k)=igrsurf(is)%NODES(j,1)
165 ib(2,k)=igrsurf(is)%NODES(j,2)
166 ib(3,k)=igrsurf(is)%NODES(j,3)
167 ity =igrsurf(is)%ELTYP(j)
172 ib(4,k)=igrsurf(is)%NODES(j,4)
176 ib(7,k) = igrsurf(is)%ELTYP(is)
177 ib(8,k) = igrsurf(is)%ELEM(is)
179 ib(9,k) = ixs(11,igrsurf(is)%ELEM(j))
193 CALL ancmsg(msgid=1230,anmode=aninfo,msgtype=msgerror,c1=titr,i1=isu)
196 ELSEIF(igbr > 0)
THEN
199 IF (igbr == igrbric(j)%ID) is=j
202 nn = igrbric(is)%NENTITY
206 iel = igrbric(is)%ENTITY(j)
214 ib(9,k) = ixs(11,iel)
225 CALL ancmsg(msgid=1231,anmode=aninfo,msgtype=msgerror,c1=titr,i1=igbr)
237 IF(ib(10,i) == 0)
THEN
240 WRITE (iout,
'(5(1X,I10),2(1X,I10),1X,4G20.13)') i,
241 . itab(ib(1,i)),itab(ib(2,i)),itab(ib(3,i)),itab(ib(4,i)),
242 . ib(5,i),ib(6,i),fac(4,i),fac(5,i),one/fac(2,i),
245 IF(i2 == k1)
GO TO 200
246 IF(i1 < 50)
GO TO 150
254 300
WRITE (iout,3000)
258 IF(ib(10,i) == 1)
THEN
261 WRITE (iout,
'(2X,I10,2(2X,I10),1X,4G20.13)') ib
262 . ib(5,i),ib(6,i),fac(4,i),fac(5,i),one/fac(2,i),
265 IF(i2 == k2)
GO TO 400
266 IF(i1 < 50)
GO TO 350
275 .
' SURFACIC HEAT FLUX DENSITY '/
276 .
' -------------------------- ')
278 .
' SEGMENT NODE1 NODE2 NODE3 NODE4 ',
279 .
' CURVE SENSOR T-START T-STOP', 8x,
282 .
' VOLUMIC HEAT FLUX DENSITY '/
283 .
' ------------------------- ')
285 .
' BRICK ELEMENT CURVE SENSOR T-START', 9x,
286 .
' 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)