OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
create_setcol_clause.F
Go to the documentation of this file.
1Copyright> OpenRadioss
2Copyright> Copyright (C) 1986-2025 Altair Engineering Inc.
3Copyright>
4Copyright> This program is free software: you can redistribute it and/or modify
5Copyright> it under the terms of the GNU Affero General Public License as published by
6Copyright> the Free Software Foundation, either version 3 of the License, or
7Copyright> (at your option) any later version.
8Copyright>
9Copyright> This program is distributed in the hope that it will be useful,
10Copyright> but WITHOUT ANY WARRANTY; without even the implied warranty of
11Copyright> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12Copyright> GNU Affero General Public License for more details.
13Copyright>
14Copyright> You should have received a copy of the GNU Affero General Public License
15Copyright> along with this program. If not, see <https://www.gnu.org/licenses/>.
16Copyright>
17Copyright>
18Copyright> Commercial Alternative: Altair Radioss Software
19Copyright>
20Copyright> As an alternative to this open-source version, Altair also offers Altair Radioss
21Copyright> software under a commercial license. Contact Altair to discuss further if the
22Copyright> commercial version may interest you: https://www.altair.com/radioss/.
23!||====================================================================
24!|| create_setcol_array ../starter/source/model/sets/create_setcol_clause.F
25!||--- called by ------------------------------------------------------
26!|| hm_set ../starter/source/model/sets/hm_set.F
27!|| sort_set ../starter/source/model/sets/sort_sets.F
28!||--- calls -----------------------------------------------------
29!|| create_setcol_list ../starter/source/model/sets/create_setcol_clause.F
30!|| create_setcol_list_g ../starter/source/model/sets/create_setcol_clause.F
31!||--- uses -----------------------------------------------------
32!|| hm_option_read_mod ../starter/share/modules1/hm_option_read_mod.F
33!|| message_mod ../starter/share/message_module/message_mod.F
34!|| submodel_mod ../starter/share/modules1/submodel_mod.F
35!||====================================================================
36 SUBROUTINE create_setcol_array(SET,SETCOL_ARRAY ,ARRAY_SIZE,
37 . ISETCOLM , NSET_COLLECT,
38 . JCLAUSE ,OPT_G ,IS_AVAILABLE ,
39 . LSUBMODEL)
40C-----------------------------------------------
41C ROUTINE DESCRIPTION :
42C ===================
43C Treat the PART Clause, read PARTs from HM_READER & fill clause
44C Calls CREATE_PART_LIST (simple list)
45C Calls CREATE_PART_LIST_G (PART_G : All parts from a MIN to MAX with increment)
46C------------------------------------------------------------------
47C DUMMY ARGUMENTS DESCRIPTION:
48C ===================
49C
50C NAME DESCRIPTION
51C
52C CLAUSE (SET structure) Clause to be treated
53C IPARTM1 MAP Table UID -> LocalID
54C JCLAUSE parameter with HM_READER (current clause read)
55C Opt_G Opt_G operator 1 if PART_G is set, 0 else
56C IS_AVAILABLE Bool / Result of HM_interface
57C LSUBMODEL SUBMODEL Structure.
58C============================================================================
59C-----------------------------------------------
60C M o d u l e s
61C-----------------------------------------------
62 USE setdef_mod
63 USE submodel_mod
64 USE message_mod
66C-----------------------------------------------
67C I m p l i c i t T y p e s
68C-----------------------------------------------
69#include "implicit_f.inc"
70C-----------------------------------------------
71C D u m m y A r g u m e n t s
72C-----------------------------------------------
73 TYPE (SET_), DIMENSION(NSETS),INTENT(INOUT) :: SET
74 INTEGER JCLAUSE,OPT_G,ARRAY_SIZE,NSET_COLLECT
75 LOGICAL :: IS_AVAILABLE
76 INTEGER, INTENT(IN), DIMENSION(NSETS,2) :: ISETCOLM
77C-----------------------------------------------
78 INTEGER SETCOL_ARRAY(*)
79 TYPE(submodel_data),INTENT(IN):: LSUBMODEL(*)
80C-----------------------------------------------
81C L o c a l V a r i a b l e s
82C-----------------------------------------------
83!
84 IF (opt_g == 1 ) THEN
85 CALL create_setcol_list_g(set,setcol_array, array_size ,isetcolm ,nset_collect ,jclause ,is_available ,lsubmodel)
86 ELSE
87 CALL create_setcol_list (set,setcol_array, array_size ,isetcolm ,nset_collect ,jclause ,is_available ,lsubmodel)
88 ENDIF
89C-----------------------------------------------
90 END
91!||====================================================================
92!|| create_setcol_list ../starter/source/model/sets/create_setcol_clause.F
93!||--- called by ------------------------------------------------------
94!|| create_setcol_array ../starter/source/model/sets/create_setcol_clause.F
95!||--- calls -----------------------------------------------------
96!|| hm_get_int_array_2indexes ../starter/source/devtools/hm_reader/hm_get_int_array_2indexes.F
97!|| hm_get_int_array_index ../starter/source/devtools/hm_reader/hm_get_int_array_index.F
98!|| set_usrtos ../starter/source/model/sets/ipartm1.F
99!||--- uses -----------------------------------------------------
100!|| hm_option_read_mod ../starter/share/modules1/hm_option_read_mod.F
101!|| message_mod ../starter/share/message_module/message_mod.F
102!|| submodel_mod ../starter/share/modules1/submodel_mod.F
103!||====================================================================
105 . SET,ARRAY, ARRAY_SIZE, ISETCOLM ,NSET_COLLECT ,JCLAUSE ,IS_AVAILABLE ,LSUBMODEL)
106C-----------------------------------------------
107C ROUTINE DESCRIPTION :
108C ===================
109C Create PART Clause from LIST
110C------------------------------------------------------------------
111C DUMMY ARGUMENTS DESCRIPTION:
112C ===================
113C
114C NAME DESCRIPTION
115C
116C CLAUSE (SET structure) Clause to be treated
117C IPARTM1 MAP Table UID -> LocalID
118C JCLAUSE parameter with HM_READER (current clause read)
119C IS_AVAILABLE Bool / Result of HM_interface
120C LSUBMODEL SUBMODEL Structure.
121C============================================================================
122C-----------------------------------------------
123C M o d u l e s
124C-----------------------------------------------
125 USE setdef_mod
126 USE submodel_mod
127 USE message_mod
129C-----------------------------------------------
130C I m p l i c i t T y p e s
131C-----------------------------------------------
132#include "implicit_f.inc"
133C-----------------------------------------------
134C D u m m y A r g u m e n t s
135C-----------------------------------------------
136 TYPE (SET_), DIMENSION(NSETS),INTENT(INOUT) :: SET
137 INTEGER JCLAUSE, ARRAY_SIZE,NSET_COLLECT
138 LOGICAL :: IS_AVAILABLE
139 INTEGER, INTENT(IN), DIMENSION(NSETS,2) :: ISETCOLM
140 INTEGER ARRAY(*)
141
142 TYPE(submodel_data),INTENT(IN):: LSUBMODEL(*)
143C-----------------------------------------------
144C L o c a l V a r i a b l e s
145C-----------------------------------------------
146 INTEGER I,J,IDS,NINDX,LIST_SIZE,IDS_MAX,PARTM,SETCOL
147 INTEGER IWORK(70000)
148!
149 INTEGER, ALLOCATABLE, DIMENSION(:) :: PART_READ_TMP,INDEX
150C
151 INTEGER SET_USRTOS
152 EXTERNAL SET_USRTOS
153C=======================================================================
154
155 array_size=0
156
157 CALL hm_get_int_array_index('idsmax' ,ids_max ,jclause,is_available,lsubmodel)
158
159 ALLOCATE(part_read_tmp(ids_max))
160 part_read_tmp(1:ids_max) = 0
161
162 ALLOCATE(index(2*ids_max))
163 index = 0
164
165 nindx = 0
166 list_size = 0
167
168 ! Read & convert Part list
169 ! -------------------------
170 DO i=1,ids_max
171 CALL hm_get_int_array_2indexes('ids',ids,jclause,i,is_available,lsubmodel)
172!
173 setcol = 0
174 DO j=1,nset_collect
175 IF(isetcolm(j,1)==ids .AND. set(isetcolm(j,2))%SET_ACTIV==1) THEN
176 setcol = isetcolm(j,2)
177 EXIT
178 ENDIF
179 IF(isetcolm(j,1)>ids) EXIT
180 ENDDO
181
182
183 IF(setcol > 0)THEN ! 0 if SET was not found
184 nindx=nindx+1 ! nb of CLAUSE parts
185 part_read_tmp(nindx) = setcol
186 ENDIF
187 ENDDO ! DO K=1,IDS_MAX
188
189 ! Sort the Readed PARTs and remove eventual duplicates
190 ! ----------------------------------------------------
191
192 DO i=1,nindx
193 index(i) = i
194 ENDDO
195 CALL my_orders(0,iwork,part_read_tmp,index,nindx,1)
196
197 DO i=1,nindx
198 array(i)=part_read_tmp(index(i))
199 ENDDO
200
201 CALL remove_duplicates( array,nindx,list_size)
202
203 ! Copy in final SET
204 ! ------------------
205 array_size = list_size
206
207!---
208
209C-------------------------
210 DEALLOCATE(part_read_tmp)
211 DEALLOCATE(index)
212C-------------------------
213 RETURN
214 END
215
216!||====================================================================
217!|| create_setcol_list_g ../starter/source/model/sets/create_setcol_clause.F
218!||--- called by ------------------------------------------------------
219!|| create_setcol_array ../starter/source/model/sets/create_setcol_clause.F
220!||--- calls -----------------------------------------------------
221!|| hm_get_int_array_2indexes ../starter/source/devtools/hm_reader/hm_get_int_array_2indexes.F
222!|| hm_get_int_array_index ../starter/source/devtools/hm_reader/hm_get_int_array_index.F
223!|| set_usrtos_nearest ../starter/source/model/sets/ipartm1.F
224!||--- uses -----------------------------------------------------
225!|| hm_option_read_mod ../starter/share/modules1/hm_option_read_mod.F
226!|| message_mod ../starter/share/message_module/message_mod.F
227!|| submodel_mod ../starter/share/modules1/submodel_mod.F
228!||====================================================================
230 . SET,ARRAY, ARRAY_SIZE, ISETCOLM, NSET_COLLECT, JCLAUSE ,IS_AVAILABLE ,LSUBMODEL)
231C-----------------------------------------------
232C ROUTINE DESCRIPTION :
233C ===================
234C Create PART Clause from Generation All parts from Min to Max with Increment (Opt_G)
235C--------------------------------------------------------------------------------------
236C DUMMY ARGUMENTS DESCRIPTION:
237C ===================
238C
239C NAME DESCRIPTION
240C
241C CLAUSE (SET structure) Clause to be treated
242C IPARTM1 MAP Table UID -> LocalID
243C JCLAUSE parameter with HM_READER (current clause read)
244C IS_AVAILABLE Bool / Result of HM_interface
245C LSUBMODEL SUBMODEL Structure.
246C============================================================================
247C-----------------------------------------------
248C M o d u l e s
249C-----------------------------------------------
250 USE setdef_mod
251 USE submodel_mod
252 USE message_mod
254C-----------------------------------------------
255C I m p l i c i t T y p e s
256C-----------------------------------------------
257#include "implicit_f.inc"
258C-----------------------------------------------
259C D u m m y A r g u m e n t s
260C-----------------------------------------------
261 TYPE (SET_), DIMENSION(NSETS),INTENT(INOUT) :: SET
262 INTEGER JCLAUSE,ARRAY_SIZE, NSET_COLLECT
263 INTEGER ARRAY(ARRAY_SIZE)
264 LOGICAL :: IS_AVAILABLE
265 INTEGER, INTENT(IN), DIMENSION(NSET_COLLECT,2) :: ISETCOLM
266!
267
268 TYPE(submodel_data),INTENT(IN):: LSUBMODEL(*)
269C-----------------------------------------------
270C L o c a l V a r i a b l e s
271C-----------------------------------------------
272 INTEGER I,IGS,IDS,NINDX,LIST_SIZE,IDS_MAX,PARTM,GENE_MAX,K,P,P1
273 INTEGER START_GENE,END_GENE,INCR_GENE,PSTART,PSTOP,STACK,STACK_ONE,NB_RESULT
274 INTEGER IWORK(70000)
275 INTEGER SZ_DICHO
276!-
277 INTEGER, ALLOCATABLE, DIMENSION(:) :: PART_READ_TMP,PART_READ_ONE,IDEX,RESULT
278 INTEGER, ALLOCATABLE, DIMENSION(:,:) :: SETCOL_DICHO
279C
280 INTEGER SET_USRTOS_NEAREST
281 EXTERNAL SET_USRTOS_NEAREST
282C=======================================================================
283 ALLOCATE(setcol_dicho(nsets,2))
284 sz_dicho = 0
285 DO i=1,nset_collect
286 ids = isetcolm(i,1)
287 igs = isetcolm(i,2)
288 IF(set(igs)%SET_ACTIV == 1)THEN
289 sz_dicho=sz_dicho+1
290 setcol_dicho(sz_dicho,1) = ids
291 setcol_dicho(sz_dicho,2) = igs
292 ENDIF
293 ENDDO
294
295 CALL hm_get_int_array_index('genemax' ,gene_max ,jclause,is_available,lsubmodel)
296
297 ALLOCATE(part_read_tmp(nsets))
298 ALLOCATE(part_read_one(nsets))
299 ALLOCATE(result(nsets))
300
301 stack=0
302
303 DO k=1,gene_max
304 CALL hm_get_int_array_2indexes('start' ,start_gene,jclause,k,is_available,lsubmodel)
305 CALL hm_get_int_array_2indexes('end' ,end_gene ,jclause,k,is_available,lsubmodel)
306 CALL hm_get_int_array_2indexes('by' ,incr_gene ,jclause,k,is_available,lsubmodel)
307
308 ! set value by default for increment to 1
309 IF (incr_gene == 0) incr_gene = 1
310
311 pstart = set_usrtos_nearest(start_gene, setcol_dicho, sz_dicho,1)
312 pstop = set_usrtos_nearest(end_gene, setcol_dicho, sz_dicho,2)
313
314 stack_one=0 ! assemble in PART_READ_ONE Stack_one
315 DO p=pstart, pstop
316 p1 = setcol_dicho(p,1)
317 IF ( mod( p1-start_gene , incr_gene) == 0)THEN
318 stack_one = stack_one+1
319 part_read_one(stack_one) = p
320 ENDIF
321 ENDDO
322
323 IF(stack==0) THEN
324
325 part_read_tmp(1:stack_one) = part_read_one(1:stack_one)
326 stack=stack_one
327
328 ELSE
329
330 ! This code will not go if GENE_MAX == 1 / Result does not need to be allocated
331 CALL union_2_sorted_sets( part_read_tmp, stack ,
332 * part_read_one, stack_one ,
333 * result, nb_result )
334 part_read_tmp(1:nb_result)=result(1:nb_result)
335 stack = nb_result
336
337 ENDIF
338
339
340 ENDDO
341
342 array_size = stack
343 array(1:stack) = part_read_tmp(1:stack)
344
345 DEALLOCATE (part_read_one)
346 DEALLOCATE (part_read_tmp)
347 DEALLOCATE (result)
348 END
349!||====================================================================
350!|| create_setcol_clause ../starter/source/model/sets/create_setcol_clause.F
351!||--- calls -----------------------------------------------------
352!|| insert_clause_in_set ../starter/source/model/sets/insert_clause_in_set.F
353!||--- uses -----------------------------------------------------
354!|| set_mod ../starter/share/modules1/set_mod.F
355!||====================================================================
356 SUBROUTINE create_setcol_clause(SET,
357 * SETL,SETL_SIZE,
358 * CLAUSE,
359 * IXS ,IXS10 , IXQ ,
360 * IXC ,IXTG ,IXT ,IXP ,IXR ,
361 * SH4TREE,
362 . SH3TREE ,KNOD2ELS ,NOD2ELS ,KNOD2ELC ,NOD2ELC,
363 . KNOD2ELTG ,NOD2ELTG ,IPARTC ,IPARTG ,IPARTS ,
364 . IPART ,OPT_A ,OPT_O ,KNOD2ELQ ,NOD2ELQ,
365 . X ,KEYSET ,OPT_E ,DELBUF ,IPARTQ ,
366 * NUMELQ )
367C-----------------------------------------------
368C ROUTINE DESCRIPTION :
369C ===================
370C Create SET of SET Clause
371C--------------------------------------------------------------------------------------
372C DUMMY ARGUMENTS DESCRIPTION:
373C ===================
374C
375C NAME DESCRIPTION
376C
377C SET (SET structure) SET ARRAY
378C SETL List of SETs from Clause
379C SETL_SIZE Number of SETs from Clause
380C CLAUSE (SET structure) clause to fill.
381C
382C============================================================================
383C-----------------------------------------------
384C M o d u l e s
385C-----------------------------------------------
386 USE setdef_mod
389 USE set_mod , ONLY : set_add
390 use element_mod , only : nixs,nixq,nixc,nixt,nixp,nixr,nixtg
391C-----------------------------------------------
392C I m p l i c i t T y p e s
393C-----------------------------------------------
394#include "implicit_f.inc"
395#include "param_c.inc"
396#include "sphcom.inc"
397#include "scr17_c.inc"
398C-----------------------------------------------
399C D u m m y A r g u m e n t s
400C-----------------------------------------------
401 INTEGER SETL_SIZE,NUMELQ
402 INTEGER, DIMENSION(NSETS), INTENT(IN) :: SETL
403 TYPE (SET_),DIMENSION(NSETS), INTENT(IN) :: SET
404 TYPE (SET_) :: CLAUSE
405 TYPE (SET_SCRATCH) :: DELBUF
406 INTEGER OPT_A,OPT_O,OPT_E
407C
408 INTEGER IXS(NIXS,*),IXS10(6,*),
409 . IXQ(NIXQ,*),IXC(NIXC,*),IXTG(NIXTG,*),IXT(NIXT,*),
410 . IXP(NIXP,*),IXR(NIXR,*),
411 . SH4TREE(*),SH3TREE(*),KNOD2ELS(*),KNOD2ELC(*),KNOD2ELTG(*),
412 . KNOD2ELQ(*),NOD2ELS(*),NOD2ELC(*),NOD2ELTG(*),NOD2ELQ(*),
413 . IPARTS(*),IPARTC(*),IPARTG(*),IPART(LIPART1,*),IPARTQ(NUMELQ)
414 my_real
415 . X(3,*)
416 CHARACTER(LEN=NCHARFIELD) :: KEYSET
417C-----------------------------------------------
418C L o c a l V a r i a b l e s
419C-----------------------------------------------
420 INTEGER I,IGS
421C-----------------------------------------------
422 DO i=1,setl_size
423 igs = setl(i)
424
425 ! Each from list SET is add in the clause with SET_ADD
426 ! The goal is to merge all entities from SET in the clause.
427 ! Call to insert_clause_in_set can be used for that...
428 CALL insert_clause_in_set(clause ,set(igs) ,set_add ,
429 * ixs ,ixs10 , ixq ,
430 * ixc ,ixtg ,ixt ,ixp ,ixr ,
431 * sh4tree,
432 . sh3tree ,knod2els ,nod2els ,knod2elc ,nod2elc,
433 . knod2eltg ,nod2eltg ,ipartc ,ipartg ,iparts ,
434 . ipart ,opt_a ,opt_o ,knod2elq ,nod2elq,
435 . x ,keyset ,opt_e ,delbuf ,ipartq)
436C
437 ENDDO
438C-----------------------------------------------
439 END
440
441!||====================================================================
442!|| create_set_collect ../starter/source/model/sets/create_setcol_clause.F
443!||--- called by ------------------------------------------------------
444!|| hm_set ../starter/source/model/sets/hm_set.F
445!||--- calls -----------------------------------------------------
446!|| insert_clause_in_set ../starter/source/model/sets/insert_clause_in_set.F
447!||--- uses -----------------------------------------------------
448!|| set_mod ../starter/share/modules1/set_mod.F
449!||====================================================================
450 SUBROUTINE create_set_collect(SET ,SET_ID ,IGS ,SETCOL_ARRAY ,ARRAY_SIZE,
451 * IXS ,IXS10 , IXQ ,
452 * IXC ,IXTG ,IXT ,IXP ,IXR ,
453 * SH4TREE,
454 * SH3TREE ,KNOD2ELS ,NOD2ELS ,KNOD2ELC ,NOD2ELC,
455 * KNOD2ELTG ,NOD2ELTG ,IPARTC ,IPARTG ,IPARTS ,
456 * IPART ,OPT_A ,OPT_O ,KNOD2ELQ ,NOD2ELQ,
457 * X ,KEYSET ,OPT_E ,DELBUF ,IPARTQ ,
458 * NUMELQ )
459C-----------------------------------------------
460C ROUTINE DESCRIPTION :
461C ===================
462C Create SET of SET Clause
463C--------------------------------------------------------------------------------------
464C DUMMY ARGUMENTS DESCRIPTION:
465C ===================
466C
467C NAME DESCRIPTION
468C
469C SET (SET structure) SET ARRAY
470C SETL List of SETs from Clause
471C SETL_SIZE Number of SETs from Clause
472C CLAUSE (SET structure) clause to fill.
473C
474C============================================================================
475C-----------------------------------------------
476C M o d u l e s
477C-----------------------------------------------
478 USE setdef_mod
481 USE set_mod , ONLY : set_add
482 use element_mod , only : nixs,nixq,nixc,nixt,nixp,nixr,nixtg
483C-----------------------------------------------
484C I m p l i c i t T y p e s
485C-----------------------------------------------
486#include "implicit_f.inc"
487#include "param_c.inc"
488#include "sphcom.inc"
489#include "scr17_c.inc"
490C-----------------------------------------------
491C D u m m y A r g u m e n t s
492C-----------------------------------------------
493 INTEGER SET_ID,ARRAY_SIZE ,IGS, NUMELQ
494 INTEGER OPT_A,OPT_O,OPT_E
495 INTEGER, DIMENSION(ARRAY_SIZE,2), INTENT(IN) :: SETCOL_ARRAY
496 TYPE (SET_),DIMENSION(NSETS), INTENT(INOUT) :: SET
497 TYPE (SET_SCRATCH) :: DELBUF
498 INTEGER IXS(NIXS,*),IXS10(6,*),
499 . IXQ(NIXQ,*),IXC(NIXC,*),IXTG(NIXTG,*),IXT(NIXT,*),
500 . IXP(NIXP,*),IXR(NIXR,*),
501 . sh4tree(*),sh3tree(*),knod2els(*),knod2elc(*),knod2eltg(*),
502 . knod2elq(*),nod2els(*),nod2elc(*),nod2eltg(*),nod2elq(*),
503 . iparts(*),ipartc(*),ipartg(*),ipart(lipart1,*),ipartq(numelq)
504 my_real x(3,*)
505 CHARACTER(LEN=NCHARFIELD) :: KEYSET
506C-----------------------------------------------
507C L o c a l V a r i a b l e s
508C-----------------------------------------------
509 INTEGER I,CUR
510C-----------------------------------------------
511 DO I=1,array_size
512
513 IF(setcol_array(i,1) == set_id .AND. setcol_array(i,2) /= igs) THEN ! The SET IGS is the active one...
514 cur = setcol_array(i,2) ! Others needs to be merged.
515
516
517 ! Each from list SET is add in the clause with SET_ADD
518 ! The goal is to merge all entities from SET in the clause.
519 ! Call to insert_clause_in_set can be used for that...
520 CALL insert_clause_in_set(set(igs) ,set(cur) ,set_add ,
521 . ixs ,ixs10 , ixq ,
522 . ixc ,ixtg ,ixt ,ixp ,ixr ,
523 . sh4tree,
524 . sh3tree ,knod2els ,nod2els ,knod2elc ,nod2elc,
525 . knod2eltg ,nod2eltg ,ipartc ,ipartg ,iparts ,
526 . ipart ,opt_a ,opt_o ,knod2elq ,nod2elq,
527 . x ,keyset ,opt_e ,delbuf ,ipartq)
528 ENDIF
529C
530 ENDDO
531C-----------------------------------------------
532 END
533
534
#define my_real
Definition cppsort.cpp:32
subroutine create_setcol_clause(set, setl, setl_size, clause, ixs, ixs10, ixq, ixc, ixtg, ixt, ixp, ixr, sh4tree, sh3tree, knod2els, nod2els, knod2elc, nod2elc, knod2eltg, nod2eltg, ipartc, ipartg, iparts, ipart, opt_a, opt_o, knod2elq, nod2elq, x, keyset, opt_e, delbuf, ipartq, numelq)
subroutine create_setcol_array(set, setcol_array, array_size, isetcolm, nset_collect, jclause, opt_g, is_available, lsubmodel)
subroutine create_setcol_list_g(set, array, array_size, isetcolm, nset_collect, jclause, is_available, lsubmodel)
subroutine create_setcol_list(set, array, array_size, isetcolm, nset_collect, jclause, is_available, lsubmodel)
subroutine create_set_collect(set, set_id, igs, setcol_array, array_size, ixs, ixs10, ixq, ixc, ixtg, ixt, ixp, ixr, sh4tree, sh3tree, knod2els, nod2els, knod2elc, nod2elc, knod2eltg, nod2eltg, ipartc, ipartg, iparts, ipart, opt_a, opt_o, knod2elq, nod2elq, x, keyset, opt_e, delbuf, ipartq, numelq)
subroutine hm_get_int_array_2indexes(name, ival, index1, index2, is_available, lsubmodel)
subroutine hm_get_int_array_index(name, ival, index, is_available, lsubmodel)
subroutine insert_clause_in_set(set, clause, clause_operator, ixs, ixs10, ixq, ixc, ixtg, ixt, ixp, ixr, sh4tree, sh3tree, knod2els, nod2els, knod2elc, nod2elc, knod2eltg, nod2eltg, ipartc, ipartg, iparts, ipart, opt_a, opt_o, knod2elq, nod2elq, x, keyset, opt_e, delbuf, ipartq)
void my_orders(int *mode, int *iwork, int *data, int *index, int *n, int *irecl)
Definition my_orders.c:82
integer, parameter ncharfield
integer, parameter set_add
add operator
Definition set_mod.F:47
integer nsets
Definition setdef_mod.F:120