40
41
42
43
44
45
46
52
53
54
55#include "implicit_f.inc"
56
57
58
59#include "scr05_c.inc"
60
61
62
63 TYPE(SUBMODEL_DATA), DIMENSION(NSUBMOD), INTENT(IN) :: LSUBMODEL
64 TYPE(UNIT_TYPE_), INTENT(IN) :: UNITAB
65
66
67
68 INTEGER :: NALEMUSCL,IALEMUSCL
69 LOGICAL :: IS_AVAILABLE
71
72
73
75
76 IF (nalemuscl > 0) THEN
79 CALL hm_get_floatv(
'ALE_MUSCL_BETA', beta, is_available, lsubmodel, unitab)
80 CALL hm_get_intv(
'MAT_Iflag', ialemuscl, is_available, lsubmodel)
81
82
83 IF (beta == zero) THEN
84 beta = two
85 ENDIF
86
87
88 IF (ialemuscl == 0) THEN
89 ialemuscl = 1
90 ELSEIF (ialemuscl == 1) THEN
91 ialemuscl = 2
92 ELSEIF (ialemuscl < -1 .OR. ialemuscl >= 2) THEN
93 ialemuscl = 1
94 ENDIF
95
96
97 IF(ialemuscl == -1)THEN
98 ialemuscl = 0
99 beta = two
100 nalemuscl=0
101 ENDIF
102
105
106 IF (iresp == 1) THEN
107
108 CALL ancmsg(msgid = 1563, anmode = aninfo, msgtype = msgerror)
109 ENDIF
110 ENDIF
111
subroutine hm_get_floatv(name, rval, is_available, lsubmodel, unitab)
subroutine hm_get_intv(name, ival, is_available, lsubmodel)
subroutine hm_option_count(entity_type, hm_option_number)
subroutine hm_option_next()
subroutine hm_option_start(entity_type)
type(alemuscl_param_) alemuscl_param
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)