51#include "implicit_f.inc"
60 TYPE (UNIT_TYPE_),
INTENT(IN) ::UNITAB
63 TYPE (MULTI_FVM_STRUCT),
INTENT(INOUT) :: MULTI_FVM
64 TYPE (SURF_) ,
TARGET,
DIMENSION(NSURF) :: IGRSURF
65 CHARACTER(LEN=NCHARTITLE),
INTENT(IN) :: TITR
67 TYPE(t_ebcs_normv),
INTENT(INOUT) :: EBCS
71 INTEGER ISU,SURF,NGR2USR,IVIMP,IRHO,J,NSEG,IENER
72 my_real c,vimp,rho,lcar,r1,r2,ener
74 INTEGER,
DIMENSION(:),
POINTER :: INGR2USR
75 LOGICAL IS_ENCRYPTED, IS_AVAILABLE
91 ebcs%title = trim(titr)
94 CALL hm_get_intv(
'entityid', surf ,is_available,lsubmodel)
97 ingr2usr => igrsurf(1:nsurf)%ID
98 IF (surf/=0) isu=ngr2usr(surf,ingr2usr,nsurf)
100 IF (isu/=0) nseg=igrsurf(isu)%NSEG
103 WRITE(istdo,
'(6X,A)')
' ** A SURFACE SHOULD BE INPUT'
104 WRITE(iout,
'(6X,A)')
' ** A SURFACE SHOULD BE INPUT'
107 WRITE(istdo,*)
' ** ERROR SURFACE NOT FOUND, ID=',surf
108 WRITE(iout,*)
' ** ERROR SURFACE NOT FOUND, ID=',surf
111 WRITE(istdo,*)
' ** ERROR EMPTY SURFACE',surf
112 WRITE(iout,*)
' ** ERROR EMPTY SURFACE',surf
116 CALL hm_get_floatv(
'rad_ebcs_c', c ,is_available,lsubmodel,unitab)
119 CALL hm_get_intv(
'curveid', ivimp ,is_available,lsubmodel)
120 CALL hm_get_floatv(
'xscale', vimp ,is_available,lsubmodel,unitab)
123 CALL hm_get_intv(
'rad_fct_rho', irho ,is_available,lsubmodel)
124 CALL hm_get_floatv(
'rad_ebcs_fscale_rho', rho ,is_available,lsubmodel,unitab)
127 CALL hm_get_intv(
'rad_fct_en', iener ,is_available,lsubmodel)
128 CALL hm_get_floatv(
'rad_ebcs_fscale_en', ener ,is_available,lsubmodel,unitab)
131 CALL hm_get_floatv(
'rad_ebcs_lc', lcar ,is_available,lsubmodel,unitab)
132 CALL hm_get_floatv(
'rad_ebcs_r1', r1 ,is_available,lsubmodel,unitab)
133 CALL hm_get_floatv(
'rad_ebcs_r2', r2 ,is_available,lsubmodel,unitab)
135 IF(surf/=0 .AND. isu/=0 .AND. nseg/=0)
THEN
136 WRITE(iout,1005)id,trim(titr)
137 WRITE(iout,1102)surf,nseg,c,vimp,ivimp,rho,irho,ener,iener,lcar
140 IF(ivimp/=0 .AND. ivimp==npc(j))
THEN
146 IF(irho/=0 .AND. irho==npc(j))
THEN
152 IF(iener/=0 .AND. iener==npc(j))
THEN
170 IF (multi_fvm%IS_USED)
THEN
171 CALL ancmsg(msgid = 1602, msgtype = msgerror, anmode = aninfo,
172 . i1 = id, c1 = trim(titr), c2 =
"NOT COMPATIBLE WITH LAW 151")
179 1005
FORMAT( //
'IMPOSED NORMAL VELOCITY EBCS NUMBER . . :',i8,1x,a)
181 .
' ON SURFACE . . . . . . . . . . . . . . . ',i8,/,
182 .
' NUMBER OF SEGMENTS FOUND. . . . . . . . . ',i8,/,
183 .
' SPEED OF SOUND . . . . . . . . . . . . . ',e16.6,/,
184 .
' IMPOSED VELOCITY . . . . . . . . . . . . ',e16.6,/,
185 .
' VELOCITY SCALING FUNCTION . . . . . . . . ',i8,/,
186 .
' IMPOSED DENSITY . . . . . . . . . . . . . ',e16.6,/,
187 .
' DENSITY SCALING FUNCTION . . . . . . . . ',i8,/,
188 .
' IMPOSED ENERGY . . . . . . . . . . . . . ',e16.6,/,
189 .
' ENERGY SCALING FUNCTION . . . . . . . . . ',i8,/,
190 .
' CHARACTERISTIC LENGTH . . . . . . . . . . ',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)