42 . IGRSURF ,UNITAB ,LSUBMODEL,LOADS )
58#include "implicit_f.inc"
70 TYPE (UNIT_TYPE_),
INTENT(IN) ::UNITAB
72 INTEGER IPRES(NIBCLD,*), ITAB(*), ITABM1(*)
75 TYPE (SURF_) ,
DIMENSION(NSURF) :: IGRSURF
77 TYPE (LOADS_),
INTENT(INOUT) :: LOADS
81 INTEGER K, M, I1, I2, I3, I4, IFU, I, ISENS,NPR0,NN,ISU,IS,
82 . iad,
id,j,uid,iflagunit,ifix_tmp,
83 . capt,h,sub_index,flag_pinch,kpinch,idel,ifunctype
87 CHARACTER(LEN=NCHARTITLE) :: TITR
93 DATA mess/
'PRESSURE LOADS DEFINITION '/
113 is_available = .false.
135 . submodel_index = sub_index,
136 . option_titr = titr)
141 CALL hm_get_intv(
'entityid',isu,is_available,lsubmodel)
142 CALL hm_get_intv(
'curveid',ifu,is_available,lsubmodel)
143 CALL hm_get_intv(
'rad_sensor_id',isens,is_available,lsubmodel)
144 CALL hm_get_intv(
'ipinch',flag_pinch,is_available,lsubmodel)
145 CALL hm_get_intv(
'Idel',idel,is_available,lsubmodel)
146 CALL hm_get_intv(
'Itypfun',ifunctype,is_available,lsubmodel)
150 CALL hm_get_floatv(
'xscale',fcx,is_available,lsubmodel,unitab)
152 CALL hm_get_floatv(
'magnitude',fcy,is_available,lsubmodel,unitab
157 IF (unitab%UNIT_ID(j) == uid)
THEN
162 IF (uid/=0.AND.iflagunit==0)
THEN
163 CALL ancmsg(msgid=659,anmode=aninfo,msgtype=msgerror,
164 . i2=uid,i1=
id,c1=
'PRESSURE LOAD',
165 . c2=
'PRESSURE LOAD',
169 IF (fcx == zero) fcx = fac_fcx
170 IF (fcy == zero) fcy = fac_fcy
173 IF (isu==igrsurf(j)%ID) is=j
183 IF(ifunctype == 0) ifunctype = 1
197 IF (capt==0)
GOTO 150
200 IF(flag_pinch /= 1)
THEN
202 ipres(1,k) = igrsurf(is)%NODES(j,1)
203 ipres(2,k) = igrsurf(is)%NODES(j,2)
204 ipres(3,k) = igrsurf(is)%NODES(j,3)
205 IF (igrsurf(is)%NODES(j,3)==igrsurf(is)%NODES(j,4))
THEN
209 ipres(4,k) = igrsurf(is)%NODES(j,4)
215 ipres(9,k) = ifunctype
221 ipres(1,kpinch) = igrsurf(is)%NODES(j,1)
222 ipres(2,kpinch) = igrsurf(is)%NODES(j,2)
223 ipres(3,kpinch) = igrsurf(is)%NODES(j,3)
224 IF (igrsurf(is)%ELTYP(j)==7)
THEN
228 ipres(4,kpinch) = igrsurf(is)%NODES(j,4)
230 ipres(5,kpinch) = ifu
231 ipres(6,kpinch) = isens
232 ipres(7,kpinch) = idel
234 ipres(9,kpinch) = ifunctype
236 pres(2,kpinch) = one/fcx
256 loads%NLOAD_PLOAD = npreld
263 IF(ipres(4,i) == 0 .AND. ipres(3,i) == 0)
THEN
265 WRITE (iout,
'(3(1X,I10),A,1X,I10,1X,I10,2G20.13)') i,
266 . itab(ipres(1,i)),itab(ipres(2,i)),
' ',
267 . ipres(5,i),ipres(6,i),one/pres(2,i),pres(1,i)
269 ELSEIF(ipres(4,i) == 0 .AND. ipres(3,i) /= 0)
THEN
271 WRITE (iout,
'(4(1X,I10),A,1X,I10,1X,I10,2G20.13)') i,
272 . itab(ipres(1,i)),itab(ipres(2,i)),itab(ipres(3,i)),
' ',
273 . ipres(5,i),ipres(6,i),one/pres(2,i),pres(1,i)
276 WRITE (iout,
'(6(1X,I10),1X,I10,2G20.13)') i,
277 . itab(ipres(1,i)),itab(ipres(2,i)),itab(ipres(3,i)),itab(ipres(4,i)),
278 . ipres(5,i),ipres(6,i),one/pres(2,i),pres(1,i)
283 IF(i2==npreld)
GOTO 200
285 i2=min0(i2+50,npreld)
288 300
CALL ancmsg(msgid=157,
295 .
' ---------------- '/
296 .
' SEGM NODE1 NODE2 NODE3 NODE4 CURVE',
297 .
' SENSOR 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)