41
42
43
50
51
52
53#include "implicit_f.inc"
54
55
56
57#include "com04_c.inc"
58#include "scr17_c.inc"
59
60
61
62 INTEGER ,INTENT(OUT) :: NIMPDISP
63 INTEGER IPART(LIPART1,*), IPARTR(*)
64 TYPE(UNIT_TYPE_) ,INTENT(IN) :: UNITAB
65 TYPE (GROUP_) , DIMENSION(NGRNOD) ,INTENT(IN) :: IGRNOD
66 TYPE(SUBMODEL_DATA), DIMENSION(*) ,INTENT(IN) :: LSUBMODEL
67
68
69
70 INTEGER :: I,N,OPTID,NFDISP,NFGEO,IGS,GRNOD_ID,PART_ID,NNOD,JPART
71 CHARACTER(LEN=NCHARKEY) :: KEY
72 CHARACTER(LEN=NCHARTITLE) :: TITR
73 LOGICAL :: IS_AVAILABLE
74
75
76
77 INTEGER NGR2USRN
79
80
81
82 is_available = .false.
83
84 nimpdisp = 0
85
86
87
89
91
92 DO i=1,nfdisp
93
95 . option_id = optid,
96 . option_titr = titr,
97 . keyword2 = key)
98
99 IF (key(1:4) /= 'FGEO') THEN
100 CALL hm_get_intv(
'entityid' ,grnod_id ,is_available,lsubmodel)
101 igs =
ngr2usrn(grnod_id,igrnod,ngrnod,nnod)
102 IF (igs > 0) nimpdisp = nimpdisp + nnod
103 ENDIF
104
105 ENDDO
106
107
108
110
112
113 DO i=1,nfgeo
114
116 . option_id = optid,
117 . option_titr = titr,
118 . keyword2 = key)
119 IF (key(1:4) == 'FGEO') THEN
120 CALL hm_get_intv(
'rad_spring_part' ,part_id ,is_available,lsubmodel)
121 IF (part_id > 0) THEN
122 jpart = 0
123 DO n=1,npart
124 IF (ipart(4,n) == part_id) jpart = n
125 ENDDO
126 IF (jpart == 0) THEN
127 CALL ancmsg(msgid=1077, msgtype=msgerror,
128 . anmode=aninfo,
129 . i1=optid,
130 . c1=titr,
131 . i2=part_id)
132 ENDIF
133 DO n=1,numelr
134 IF (ipartr(n) == jpart) nimpdisp = nimpdisp + 1
135 ENDDO
136 ENDIF
137
138 CALL hm_get_intv(
'distribution_table_count' ,nnod ,is_available,lsubmodel)
139
140 nimpdisp = nimpdisp + nnod
141 ENDIF
142 ENDDO
143
144 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)