38
39
40
43 USE multi_fvm_mod
46 USE ebcs_mod
48
49
50
51#include "implicit_f.inc"
52
53
54
55#include "units_c.inc"
56#include "com04_c.inc"
57
58
59
60 TYPE (UNIT_TYPE_),INTENT(IN) ::UNITAB
61 INTEGER ID
62 TYPE (MULTI_FVM_STRUCT), INTENT(INOUT) :: MULTI_FVM
63 TYPE (SURF_) ,TARGET, DIMENSION(NSURF) :: IGRSURF
64 CHARACTER(LEN=nchartitle), INTENT(IN) :: TITR
65 TYPE(SUBMODEL_DATA) LSUBMODEL(NSUBMOD)
66 TYPE(t_ebcs_inip), INTENT(INOUT) :: EBCS
67
68
69
70 INTEGER ISU,SURF,NGR2USR,NSEG
73 INTEGER, DIMENSION(:), POINTER :: INGR2USR
74 LOGICAL IS_ENCRYPTED, IS_AVAILABLE
75
76
77
78
79 ebcs%title = trim(titr)
80
82 CALL hm_get_intv(
'entityid', surf ,is_available,lsubmodel)
83
84 isu=0
85 ingr2usr => igrsurf(1:nsurf)%ID
86 IF (surf/=0) isu=
ngr2usr(surf,ingr2usr,nsurf)
87 nseg = 0
88 IF (isu/=0) nseg=igrsurf(isu)%NSEG
89 IF (surf==0)THEN
90 ierr=ierr+1
91 WRITE(istdo,'(6X,A)')' ** A SURFACE SHOULD BE INPUT'
92 WRITE(iout, '(6X,A)')' ** a surface should be input'
93 ELSEIF(ISU==0)THEN
94 IERR=IERR+1
95 WRITE(ISTDO,*)' ** error surface not found,
id=
',SURF
96 WRITE(IOUT,*) ' ** error surface not found,
id=
',SURF
97 ELSEIF(NSEG==0)THEN
98 IERR=IERR+1
99 WRITE(ISTDO,*)' ** error empty surface,
id=
',SURF
100 WRITE(IOUT,*) ' ** error empty surface,
id=
',SURF
101 ELSE
102 WRITE(IOUT,1006)ID,TRIM(TITR)
103 CALL HM_GET_FLOATV('rad_ebcs_rho', RHO ,IS_AVAILABLE,LSUBMODEL,UNITAB)
104 CALL HM_GET_FLOATV('rad_ebcs_c', C ,IS_AVAILABLE,LSUBMODEL,UNITAB)
105 CALL HM_GET_FLOATV('rad_ebcs_lc', LCAR ,IS_AVAILABLE,LSUBMODEL,UNITAB)
106
107 WRITE(IOUT,1104)SURF,NSEG,RHO,C,LCAR
108 ENDIF
109
110 EBCS%title = TITR
111 EBCS%c = C
112 EBCS%rho = RHO
113 EBCS%lcar = LCAR
114
115 IF (MULTI_FVM%IS_USED) THEN
116 CALL ANCMSG(MSGID = 1602, MSGTYPE = MSGERROR, ANMODE = ANINFO,
117 . I1 = ID, C1 = TRIM(TITR), C2 = "NOT COMPATIBLE WITH LAW 151")
118 ENDIF
119
120
121
122 RETURN
123
124 1006 FORMAT( //'initial pressure ebcs number . . . . . . :',I8,1X,A)
125 1104 FORMAT(
126 . ' on surface . . . . . . . . . . . . . . . ',I8,/,
127 . ' number of segments found. . . . . . . . . ',I8,/,
128 . ' density . . . . . . . . . . . . . . . . . ',E16.6,/,
129 . ' sound speed . . . . . . . . . . . . . . . ',E16.6,/,
130 . ' characteristic length . . . . . . . . . . ',E16.6,/)
131
subroutine hm_get_intv(name, ival, is_available, lsubmodel)
subroutine hm_option_is_encrypted(is_encrypted)
integer, parameter nchartitle
integer function ngr2usr(iu, igr, ngr)