51#include "implicit_f.inc"
60 TYPE (),
INTENT(IN) ::UNITAB
62 TYPE (MULTI_FVM_STRUCT),
INTENT(INOUT) :: MULTI_FVM
63 TYPE (SURF_) ,
TARGET,
DIMENSION(NSURF) ::
64 CHARACTER(LEN=NCHARTITLE),
INTENT(IN) :: TITR
66 TYPE(t_ebcs_valvout),
INTENT(INOUT) :: EBCS
70 INTEGER ISU,SURF,NGR2USR,IPRES,IRHO,J,NSEG,IENER
71 my_real c,pres,rho,lcar,r1,r2,ener
73 INTEGER,
DIMENSION(:),
POINTER :: INGR2USR
74 LOGICAL , IS_AVAILABLE
90 ebcs%title = trim(titr)
93 CALL hm_get_intv(
'entityid', surf ,is_available,lsubmodel)
96 ingr2usr => igrsurf(1:nsurf)%ID
97 IF (surf/=0) isu=ngr2usr(surf,ingr2usr,nsurf)
99 IF (isu/=0) nseg=igrsurf(isu)%NSEG
102 WRITE(istdo,
'(6X,A)')
' ** A SURFACE SHOULD BE INPUT'
103 WRITE(iout,
'(6X,A)')
' ** A SURFACE SHOULD BE INPUT'
106 WRITE(istdo,*)
' ** ERROR SURFACE NOT FOUND, ID=',surf
107 WRITE(iout,*)
' ** ERROR SURFACE NOT FOUND, ID=',surf
110 WRITE(istdo,*)
' ** ERROR EMPTY SURFACE',surf
111 WRITE(iout,*)
' ** ERROR EMPTY SURFACE',surf
115 CALL hm_get_floatv(
'rad_ebcs_c', c ,is_available,lsubmodel,unitab)
118 CALL hm_get_intv(
'rad_fct_pr', ipres ,is_available,lsubmodel)
119 CALL hm_get_floatv(
'rad_ebcs_fscale_pr', pres ,is_available,lsubmodel,unitab)
122 CALL hm_get_intv(
'rad_fct_rho', irho ,is_available,lsubmodel)
123 CALL hm_get_floatv(
'rad_ebcs_fscale_rho', rho ,is_available,lsubmodel,unitab)
126 CALL hm_get_intv(
'rad_fct_en', iener ,is_available,lsubmodel)
127 CALL hm_get_floatv(
'rad_ebcs_fscale_en', ener ,is_available,lsubmodel,unitab)
130 CALL hm_get_floatv(
'rad_ebcs_lc', lcar ,is_available,lsubmodel,unitab)
131 CALL hm_get_floatv(
'rad_ebcs_r1', r1 ,is_available,lsubmodel,unitab)
132 CALL hm_get_floatv(
'rad_ebcs_r2', r2 ,is_available,lsubmodel,unitab)
134 IF(surf/=0 .AND. isu/=0 .AND. nseg/=0)
THEN
135 WRITE(iout,1003)id,trim(titr)
136 WRITE(iout,1101)surf,nseg,c,pres,ipres,rho,irho,ener,iener,lcar,r1,r2
139 IF(ipres/=0 .AND. ipres==npc(j))
THEN
145 IF(irho/=0 .AND. irho==npc(j))
THEN
151 IF(iener/=0 .AND. iener==npc(j))
THEN
168 IF (multi_fvm%IS_USED)
THEN
169 CALL ancmsg(msgid = 1602, msgtype = msgerror, anmode = aninfo,
170 . i1 = id, c1 = trim(titr), c2 =
"NOT COMPATIBLE WITH LAW 151")
176 1003
FORMAT( //
'OUTLET VALVE EBCS NUMBER . . . . . . . :',i8,1x,a)
178 .
' ON SURFACE . . . . . . . . . . . . . . . ',i8,/,
179 .
' NUMBER OF SEGMENTS FOUND. . . . . . . . . ',i8,/,
180 .
' SPEED OF SOUND . . . . . . . . . . . . . ',e16.6,/,
181 .
' IMPOSED PRESSURE . . . . . . . . . . . . ',e16.6,/,
182 .
' PRESSURE SCALING FUNCTION . . . . . . . . ',i8,/,
183 .
' IMPOSED DENSITY . . . . . . . . . . . . . ',e16.6,/,
184 .
' DENSITY SCALING FUNCTION . . . . . . . . ',i8,/,
185 .
' IMPOSED ENERGY . . . . . . . . . . . . . ',e16.6,/,
186 .
' ENERGY SCALING FUNCTION . . . . . . . . . ',i8,/,
187 .
' CHARACTERISTIC LENGTH . . . . . . . . . . ',e16.6,/,
188 .
' LINEAR RESISTANCE . . . . . . . . . . . . ',e16.6,/,
189 .
' QUADRATIC RESISTANCE . . . . . . . . . . ',e16.6,/)
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)