50#include "implicit_f.inc"
59 TYPE (UNIT_TYPE_),
INTENT(IN) ::UNITAB
61 TYPE (MULTI_FVM_STRUCT),
INTENT(INOUT) ::
62 TYPE (SURF_) ,
TARGET,
DIMENSION(NSURF) :: IGRSURF
63 CHARACTER(len=nchartitle),
INTENT(IN) :: TITR
65 TYPE(t_ebcs_fluxout),
INTENT(INOUT) :: EBCS
69 INTEGER ISU,SURF,NGR2USR,J,NSEG
70 INTEGER IMAT,IFLAGUNIT
72 LOGICAL IS_AVAILABLE,IS_ENCRYPTED
73 INTEGER,
DIMENSION(:),
POINTER :: INGR2USR
80 ebcs%IS_MULTIFLUID = .true.
81 ebcs%HAS_IELEM = .true.
82 ebcs%FVM_INLET_DATA%FORMULATION = -1
83 ebcs%FVM_INLET_DATA%VECTOR_VELOCITY = 0
84 ebcs%FVM_INLET_DATA%FUNC_VEL(1:3) = 0
85 ebcs%FVM_INLET_DATA%FUNC_ALPHA(1:21) = 0
86 ebcs%FVM_INLET_DATA%FUNC_RHO(1:21) = 0
87 ebcs%FVM_INLET_DATA%FUNC_PRES(1:21) = 0
88 ebcs%FVM_INLET_DATA%VAL_VEL(1:3) = zero
89 ebcs%FVM_INLET_DATA%VAL_ALPHA(1:21) = zero
90 ebcs%FVM_INLET_DATA%VAL_RHO(1:21) = zero
91 ebcs%FVM_INLET_DATA%VAL_PRES(1:21) = zero
94 IF (unitab%UNIT_ID(j) == uid)
THEN
99 IF (uid/=0.AND.iflagunit==0)
THEN
100 CALL ancmsg(msgid=659,anmode=aninfo,msgtype=msgerror,i2=uid,i1=id,c1=
'EBCS',c2=
'EBCS',c3=titr)
104 CALL hm_get_intv(
'entityid', surf ,is_available,lsubmodel)
107 ingr2usr => igrsurf(1:nsurf)%ID
108 IF (surf/=0) isu=ngr2usr(surf,ingr2usr,nsurf)
110 IF (isu/=0) nseg=igrsurf(isu)%NSEG
113 WRITE(istdo,
'(6X,A)')
' ** A SURFACE SHOULD BE INPUT'
114 WRITE(iout,
'(6X,A)')
' ** A SURFACE SHOULD BE INPUT'
117 WRITE(istdo,*)
' ** ERROR SURFACE NOT FOUND, ID=',surf
118 WRITE(iout,*)
' ** ERROR SURFACE NOT FOUND, ID=',surf
121 WRITE(istdo,*)
' ** ERROR EMPTY SURFACE',surf
122 WRITE(iout,*)
' ** ERROR EMPTY SURFACE',surf
126 WRITE(iout,1019)id,trim(titr)
127 ebcs%fvm_inlet_data%FUNC_VEL(1) = -1
128 ebcs%fvm_inlet_data%VAL_VEL(1) = zero
129 ebcs%fvm_inlet_data%FUNC_VEL(2) = -1
130 ebcs%fvm_inlet_data%VAL_VEL(2) = zero
131 ebcs%fvm_inlet_data%FUNC_VEL(3) = -1
132 ebcs%fvm_inlet_data%VAL_VEL(3) = zero
133 ebcs%fvm_inlet_data%FORMULATION = 2
134 ebcs%fvm_inlet_data%VECTOR_VELOCITY = 1
135 DO imat = 1, multi_fvm%NBMAT
136 ebcs%fvm_inlet_data%FUNC_ALPHA(imat) = -1
137 ebcs%fvm_inlet_data%FUNC_RHO(imat) = -1
138 ebcs%fvm_inlet_data%FUNC_PRES(imat) = -1
139 ebcs%fvm_inlet_data%VAL_ALPHA(imat) = zero
140 ebcs%fvm_inlet_data%VAL_RHO(imat) = zero
141 ebcs%fvm_inlet_data%VAL_PRES(imat) = zero
145 WRITE(iout,1118)surf,nseg
146 IF (.NOT. multi_fvm%IS_USED)
THEN
147 CALL ancmsg(msgid=1602,msgtype=msgerror,anmode=aninfo,
148 . i1 = id,c1 = trim(titr), c2 =
"ONLY COMPATIBLE WITH LAW 151")
154 1019
FORMAT( //
'FLUX OUT EBCS NUMBER . . . . . . . . . :',i8,1x,a)
156 .
' ON SURFACE . . . . . . . . . . . . . . . ',i8,/,
157 .
' NUMBER OF SEGMENTS FOUND. . . . . . . . . ',i8,/)
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)