41 * IXS ,IXQ, IXC ,IXTG ,
42 * IXT ,IXP ,IXR ,KXSP,LRIVET,
54 use element_mod ,
only : nixs,nixq,nixc,nixt,nixp,nixr,nixtg
58#include "implicit_f.inc"
68 INTEGER,
INTENT(in) :: MODE
69 TYPE(SUBMODEL_DATA),
INTENT(IN)::LSUBMODEL(*)
70 TYPE(MAPPING_STRUCT_) :: MAP_TABLES
71 TYPE (SUBSET_) ,
DIMENSION(NSUBS) :: SUBSET
73 INTEGER,
INTENT(IN),
DIMENSION(LIPART1,NPART) :: IPART
74 INTEGER,
INTENT(IN),
DIMENSION(NIXS,NUMELS) :: IXS
75 INTEGER,
INTENT(IN),
DIMENSION(NIXQ,NUMELQ) :: IXQ
76 INTEGER,
INTENT(IN),
DIMENSION(NIXC,NUMELC) :: IXC
77 INTEGER,
INTENT(IN),
DIMENSION(NIXTG,NUMELTG) :: IXTG
78 INTEGER,
INTENT(IN),
DIMENSION(NIXT,NUMELT) :: IXT
79 INTEGER,
INTENT(IN),
DIMENSION(NIXP,NUMELP) :: IXP
80 INTEGER,
INTENT(IN),
DIMENSION(NIXR,NUMELR) :: IXR
81 INTEGER,
DIMENSION(NISP,NUMSPH),
INTENT(in) :: KXSP
82 INTEGER,
DIMENSION(4,NRIVET),
INTENT(in) :: LRIVET
83 INTEGER,
INTENT(IN),
DIMENSION(2,NRBODY) :: RBY_MSN
88 INTEGER I, , NSET_G, NSET_COL, NSET1, NSET2
89 INTEGER,
DIMENSION(:),
ALLOCATABLE :: ISORT,ISORT2,SAV,SAV2
90 INTEGER,
DIMENSION(:),
ALLOCATABLE :: INDEX_SORT,INDEX_SORT2
91 INTEGER,
DIMENSION(70000) :: IWORK
92 CHARACTER(LEN=NCHARFIELD) :: KEYSET,SET_TYPE,KEY_TYPE
93 CHARACTER(LEN=NCHARTITLE) :: TITLE,SET_TITLE,TITLE2
94 CHARACTER(LEN=NCHARKEY) :: KEYPART,KEY
96 DATA mess/
'SET GROUP DEFINITION '/
100 ALLOCATE( map_tables%IPARTM(npart,2))
102 ALLOCATE(isort(npart))
103 ALLOCATE(index_sort(2*npart))
109 CALL my_orders(0,iwork,isort,index_sort,npart,1)
112 map_tables%IPARTM(i,1)=isort(index_sort(i))
113 map_tables%IPARTM(i,2)=index_sort(i)
117 DEALLOCATE (index_sort)
124 ALLOCATE(isort(
nsets))
126 ALLOCATE(index_sort(2*
nsets))
129 ALLOCATE(isort2(
nsets))
131 ALLOCATE(index_sort2(2*
nsets))
136 . option_id = set_id,
137 . option_titr = set_title,
140 IF(trim(key) ==
'GENERAL')
THEN
145 index_sort(nset_g)=nset_g
147 ELSEIF (trim(key) ==
'COLLECT')
THEN
149 nset_col = nset_col + 1
150 isort2(nset_col)=set_id
152 index_sort2(nset_col)=i
159 CALL my_orders(0,iwork,isort,index_sort,nset_g,1)
160 ALLOCATE( map_tables%ISETM(nset_g,2))
163 map_tables%ISETM(i,1)=isort(index_sort(i))
164 map_tables%ISETM(i,2)=sav(index_sort(i))
169 nset1 = map_tables%ISETM(1,1)
171 nset2 = map_tables%ISETM(i,1)
172 IF (nset2 == nset1)
THEN
185 map_tables%NSET_GENERAL = nset_g
190 CALL my_orders(0,iwork,isort2,index_sort2,nset_col,1)
191 ALLOCATE( map_tables%ISETCOLM(nset_col,2))
194 map_tables%ISETCOLM(i,1)=isort2(index_sort2(i))
195 map_tables%ISETCOLM(i,2)=sav2(index_sort2(i))
197 map_tables%NSET_COLLECT = nset_col
209 DEALLOCATE (index_sort)
213 DEALLOCATE (index_sort2)
216 ALLOCATE( map_tables%ISUBSM(nsubs,2))
218 ALLOCATE(isort(nsubs))
219 ALLOCATE(index_sort(2*nsubs))
222 isort(i)=subset(i)%ID
225 CALL my_orders(0,iwork,isort,index_sort,nsubs,1)
228 map_tables%ISUBSM(i,1)=isort(index_sort(i))
229 map_tables%ISUBSM(i,2)=index_sort(i)
233 DEALLOCATE (index_sort)
235 ALLOCATE( map_tables%ISUBMM(
nsubmod,2))
238 ALLOCATE(index_sort(2*
nsubmod))
241 isort(i) = lsubmodel(i)%NOSUBMOD
247 map_tables%ISUBMM(i,1)=isort(index_sort(i))
248 map_tables%ISUBMM(i,2)=index_sort(i)
252 DEALLOCATE (index_sort)
254 ALLOCATE( map_tables%IRBODYM(nrbody,2))
256 ALLOCATE(isort(nrbody))
257 ALLOCATE(index_sort(2*nrbody))
260 isort(i)=rby_msn(1,i)
263 CALL my_orders(0,iwork,isort,index_sort,nrbody,1)
266 map_tables%IRBODYM(i,1)=isort(index_sort(i))
267 map_tables%IRBODYM(i,2)=index_sort(i)
271 DEALLOCATE (index_sort)
273! ------------------------------------------------------------
276 IF(mode==1)
ALLOCATE( map_tables%ISOLM(numels,2))
277 CALL map_order(ixs,nixs,nixs,numels,map_tables%ISOLM)
279 IF(mode==1)
ALLOCATE( map_tables%IQUADM(numelq,2))
280 CALL map_order(ixq,nixq,nixq,numelq,map_tables%IQUADM)
282 IF(mode==1)
ALLOCATE( map_tables%ISH4NM(numelc,2))
283 CALL map_order(ixc,nixc,nixc,numelc,map_tables%ISH4NM)
285 IF(mode==1)
ALLOCATE( map_tables%ISH3NM(numeltg,2))
286 CALL map_order(ixtg,nixtg,nixtg,numeltg,map_tables%ISH3NM)
288 IF(mode==1)
ALLOCATE( map_tables%ITRIAM(numeltg,2))
289 CALL map_order(ixtg,nixtg,nixtg,numeltg,map_tables%ITRIAM)
291 IF(mode==1)
ALLOCATE( map_tables%ITRUSSM(numelt,2))
292 CALL map_order(ixt,nixt,nixt,numelt,map_tables%ITRUSSM)
294 IF(mode==1)
ALLOCATE( map_tables%IBEAMM(numelp,2))
295 CALL map_order(ixp,nixp,nixp,numelp,map_tables%IBEAMM)
297 IF(mode==1)
ALLOCATE( map_tables%ISPRINGM(numelr,2))
298 CALL map_order(ixr,nixr,nixr,numelr,map_tables%ISPRINGM)
300 IF(mode==1)
ALLOCATE( map_tables%ISPHM(numsph,2))
301 map_tables%ISPHM(1:numsph,1:2) = 0
302 CALL map_order(kxsp,nisp,nisp,numsph,map_tables%ISPHM)
306 ALLOCATE( map_tables%IRIVETM(nrivet,2))
307 CALL map_order(lrivet,4,4,nrivet,map_tables%IRIVETM
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)