51#include "implicit_f.inc"
60 TYPE (UNIT_TYPE_),
INTENT(IN) ::UNITAB
62 TYPE (MULTI_FVM_STRUCT),
INTENT(INOUT) :: MULTI_FVM
63 TYPE (SURF_) ,
TARGET,
DIMENSION(NSURF) :: IGRSURF
64 CHARACTER(LEN=NCHARTITLE),
INTENT(IN) :: TITR
66 TYPE(t_ebcs_pres),
INTENT(INOUT) :: EBCS
70 INTEGER ISU,SURF,NGR2USR,IPRES,IRHO,J,NSEG,IENER,IVX,IVY,IVZ
71 my_real c,pres,rho,lcar,r1,r2,ener,vx,vy,vz
73 INTEGER,
DIMENSION(:),
POINTER :: INGR2USR
74 LOGICAL IS_ENCRYPTED, IS_AVAILABLE
96 ebcs%title = trim(titr)
99 CALL hm_get_intv(
'entityid', surf ,is_available,lsubmodel)
102 ingr2usr => igrsurf(1:nsurf)%ID
103 IF (surf/=0) isu=ngr2usr(surf,ingr2usr,nsurf)
105 IF (isu/=0) nseg=igrsurf(isu)%NSEG
108 WRITE(istdo,
'(6X,A)')
' ** A SURFACE SHOULD BE INPUT'
109 WRITE(iout,
'(6X,A)')
' ** A SURFACE SHOULD BE INPUT'
112 WRITE(istdo,*)
' ** ERROR SURFACE NOT FOUND, ID=',surf
113 WRITE(iout,*)
' ** ERROR SURFACE NOT FOUND, ID=',surf
116 WRITE(istdo,*)
' ** ERROR EMPTY SURFACE',surf
117 WRITE(iout,*)
' ** ERROR EMPTY SURFACE',surf
121 CALL hm_get_floatv(
'rad_ebcs_c', c ,is_available,lsubmodel,unitab)
124 CALL hm_get_intv(
'rad_fct_pr', ipres ,is_available,lsubmodel)
125 CALL hm_get_floatv(
'rad_ebcs_fscale_pr', pres ,is_available,lsubmodel,unitab)
129 CALL hm_get_floatv(
'rad_ebcs_fscale_rho', rho ,is_available,lsubmodel,unitab)
132 CALL hm_get_intv(
'rad_fct_en', iener ,is_available,lsubmodel)
133 CALL hm_get_floatv(
'rad_ebcs_fscale_en', ener ,is_available,lsubmodel,unitab)
136 CALL hm_get_floatv(
'rad_ebcs_lc', lcar ,is_available,lsubmodel,unitab)
137 CALL hm_get_floatv(
'rad_ebcs_r1', r1 ,is_available,lsubmodel,unitab)
138 CALL hm_get_floatv(
'rad_ebcs_r2', r2 ,is_available,lsubmodel,unitab)
141 IF(surf/=0 .AND. isu/=0 .AND. nseg/=0)
THEN
142 WRITE(iout,1001)id,trim(titr)
143 WRITE(iout,1101)surf,nseg,c,pres,ipres,rho,irho,ener,iener,lcar,r1,r2
146 IF(ipres/=0 .AND. ipres==npc(j))
THEN
152 IF(irho/=0 .AND. irho==npc(j))
THEN
158 IF(iener/=0 .AND. iener==npc(j))
THEN
164 IF(ivx/=0 .AND. ivx==npc(j))
THEN
170 IF(ivy/=0 .AND. ivy==npc(j))
THEN
176 IF(ivz/=0 .AND. ivz==npc(j))
THEN
204 IF (multi_fvm%IS_USED)
THEN
205 CALL ancmsg(msgid = 1602, msgtype = msgerror, anmode = aninfo,
206 . i1 = id, c1 = trim(titr), c2 =
"NOT COMPATIBLE WITH LAW 151")
213 1001
FORMAT( //
'IMPOSED PRESSURE EBCS NUMBER . . . . . . :',i8,1x,a)
215 .
' ON SURFACE . . . . . . . . . . . . . . . ',i8,/,
216 .
' NUMBER OF SEGMENTS FOUND. . . . . . . . . ',i8,/,
217 .
' SPEED OF SOUND . . . . . . . . . . . . . ',e16.6,/,
218 .
' IMPOSED PRESSURE . . . . . . . . . . . . ',e16.6,/,
219 .
' PRESSURE SCALING FUNCTION . . . . . . . . ',i8,/,
220 .
' IMPOSED DENSITY . . . . . . . . . . . . . ',e16.6,/,
221 .
' DENSITY SCALING FUNCTION . . . . . . . . ',i8,/,
222 .
' IMPOSED ENERGY . . . . . . . . . . . . . ',e16.6,/,
223 .
' ENERGY SCALING FUNCTION . . . . . . . . . '
224 .
' CHARACTERISTIC LENGTH . . . . . . . . . . ',e16.6,/,
225 .
' LINEAR RESISTANCE . . . . . . . . . . . . ',e16.6,/,
226 .
' 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)