39
40
41
45
46
47
48#include "implicit_f.inc"
49
50
51
52#include "com01_c.inc"
53#include "com04_c.inc"
54
55
56
57 INTEGER FLAGG,ICOUNT,ITER
58
59 TYPE (GROUP_) , DIMENSION(NGRBRIC) :: IGRBRIC
60 TYPE (GROUP_) , DIMENSION(NGRQUAD) :: IGRQUAD
61 TYPE (GROUP_) , DIMENSION(NGRSHEL) :: IGRSH4N
62 TYPE (GROUP_) , DIMENSION(NGRSH3N) :: IGRSH3N
63 TYPE (GROUP_) , DIMENSION(NGRTRUS) :: IGRTRUSS
64 TYPE (GROUP_) , DIMENSION(NGRBEAM) :: IGRBEAM
65 TYPE (GROUP_) , DIMENSION(NGRSPRI) :: IGRSPRING
66 TYPE (GROUP_) , DIMENSION(NGRPART) :: IGRPART
67 TYPE(SUBMODEL_DATA) LSUBMODEL(NSUBMOD)
68
69
70
71 INTEGER IBRIC,IQUAD,ISHEL,ISH3N,ITRUS,IBEAM,ISPRI,IPRT,IFLAG
72 SAVE ibric,iquad,ishel,ish3n,itrus,ibeam,ispri,iprt,iflag
73
74
75
76 iflag = mod(flagg,2)
77
78
79
80 IF (flagg == 0) ibric = 0
81 IF (ngrbric > 0) THEN
83 CALL hm_grogro(numels ,ngrbric,igrbric,ibric, iflag ,iter ,
'BRIC' ,lsubmodel)
84 ENDIF
85
86
87
88 IF (flagg == 0) iquad = 0
89 IF (ngrquad > 0) THEN
91 CALL hm_grogro(numelq ,ngrquad,igrquad,iquad, iflag ,iter ,
'QUAD' ,lsubmodel)
92 ENDIF
93
94
95
96 IF (flagg == 0) ishel = 0
97 IF (ngrshel > 0) THEN
99 CALL hm_grogro(numelc ,ngrshel,igrsh4n,ishel,iflag ,iter ,
'SHEL' ,lsubmodel)
100 ENDIF
101
102
103
104 IF (flagg == 0) itrus = 0
105 IF (ngrtrus > 0) THEN
107 CALL hm_grogro(numelt ,ngrtrus,igrtruss,itrus, iflag ,iter ,
'TRUS',lsubmodel )
108 ENDIF
109
110
111
112 IF (flagg == 0) ibeam = 0
113 IF (ngrbeam > 0) THEN
115 CALL hm_grogro(numelp ,ngrbeam,igrbeam,ibeam,iflag ,iter ,
'BEAM' ,lsubmodel)
116 ENDIF
117
118
119
120 IF (flagg == 0) ispri = 0
121 IF (ngrspri > 0) THEN
123 CALL hm_grogro(numelr ,ngrspri,igrspring,ispri,iflag ,iter ,
'SPRI' ,lsubmodel)
124 ENDIF
125
126
127
128 IF (flagg == 0) ish3n = 0
129 IF (ngrsh3n > 0 .AND. n2d==0)THEN
131 CALL hm_grogro(numeltg ,ngrsh3n,igrsh3n,ish3n, iflag ,iter ,
'SH3N' ,lsubmodel)
132 ENDIF
133
134
135
136 IF (flagg == 0) ish3n = 0
137 IF (ngrsh3n > 0 .AND. n2d/=0)THEN
139 CALL hm_grogro(numeltg,ngrsh3n,igrsh3n,ish3n,iflag,iter,
'TRIA' ,lsubmodel)
140 ENDIF
141
142
143
144 IF (flagg == 0) iprt = 0
145 IF (ngrpart > 0)THEN
147 CALL hm_grogro(npart ,ngrpart,igrpart,iprt,iflag ,iter ,
'PART' ,lsubmodel)
148 ENDIF
149
150 icount = ibric+iquad+ishel+ish3n+itrus+ibeam+ispri+iprt
151
152 RETURN
subroutine hm_grogro(numen, ngreln, igrelem, icount, flag, iter, elkey, lsubmodel)
subroutine hm_option_start(entity_type)