42
43
44
51
52
53
54#include "implicit_f.inc"
55
56
57
58#include "com04_c.inc"
59#include "scr17_c.inc"
60
61
62
63 INTEGER ,INTENT(OUT) :: NIMPVEL
64 INTEGER ,INTENT(INOUT) :: NFVLAG
65 INTEGER IPART(LIPART1,*), IPARTR(*)
66 TYPE(UNIT_TYPE_), INTENT(IN) :: UNITAB
67 TYPE (GROUP_) , DIMENSION(NGRNOD) ,INTENT(IN) :: IGRNOD
68 TYPE(SUBMODEL_DATA), DIMENSION(*) ,INTENT(IN) :: LSUBMODEL
69
70
71
72 INTEGER :: I,N,OPTID,NFVEL,NFGEO,IGS,GRNOD_ID,PART_ID,NNOD,JPART,SYS_TYPE
73 CHARACTER(LEN=NCHARKEY) :: KEY
74 CHARACTER(LEN=NCHARTITLE) :: TITR
75 LOGICAL :: IS_AVAILABLE
76
77
78
79 INTEGER NGR2USRN
80
81
82
83 is_available = .false.
84
85 nimpvel = 0
86
87
88
90
92
93 DO i=1,nfvel
94
96 . option_id
97 . option_titr = titr,
98 . keyword2 = key)
99
100 IF (key(1:4) /= 'FGEO') THEN
101 CALL hm_get_intv(
'rad_system_input_type' ,sys_type ,is_available,lsubmodel)
102 CALL hm_get_intv(
'entityid' ,grnod_id ,is_available,lsubmodel)
103 igs =
ngr2usrn(grnod_id,igrnod,ngrnod,nnod)
104 IF (igs > 0) THEN
105 nimpvel = nimpvel + nnod
106 IF (key(1:6) == 'LAGMUL') nfvlag = nfvlag + nnod
107 END IF
108 ENDIF
109
110 ENDDO
111
112
113
115
117
118
119 DO i=1,nfgeo
120
122 . option_id = optid,
123 . option_titr = titr,
124 . keyword2 = key)
125 IF (key(1:4) == 'FGEO') THEN
126 CALL hm_get_intv(
'rad_spring_part' ,part_id ,is_available,lsubmodel)
127 IF (part_id > 0) THEN
128 jpart = 0
129 DO n=1,npart
130 IF (ipart(4,n) == part_id) jpart = n
131 ENDDO
132 IF (jpart == 0) THEN
133 CALL ancmsg(msgid=1077, msgtype=msgerror,
134 . anmode=aninfo,
135 . i1=optid,
136 . c1=titr,
137 . i2=part_id)
138 ENDIF
139 DO n=1,numelr
140 IF (ipartr(n) == jpart) nimpvel = nimpvel + 1
141 ENDDO
142 ENDIF
143
144 CALL hm_get_intv(
'distribution_table_count' ,nnod ,is_available,lsubmodel)
145 nimpvel = nimpvel + nnod
146 ENDIF
147 ENDDO
148
149 RETURN
subroutine hm_get_intv(name, ival, is_available, lsubmodel)
subroutine hm_option_count(entity_type, hm_option_number)
subroutine hm_option_start(entity_type)
integer, parameter nchartitle
integer, parameter ncharkey
integer function ngr2usrn(iu, igrnod, ngrnod, num)
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)