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 )
366C-----------------------------------------------
367C ROUTINE DESCRIPTION :
368C ===================
369C Create SET of SET Clause
370C--------------------------------------------------------------------------------------
371C DUMMY ARGUMENTS DESCRIPTION:
372C ===================
373C
374C NAME DESCRIPTION
375C
376C SET (SET structure) SET ARRAY
377C SETL List of SETs from Clause
378C SETL_SIZE Number of SETs from Clause
379C CLAUSE (SET structure) clause to fill.
380C
381C============================================================================
382C-----------------------------------------------
383C M o d u l e s
384C-----------------------------------------------
385 USE setdef_mod
388 USE set_mod , ONLY : set_add
389C-----------------------------------------------
390C I m p l i c i t T y p e s
391C-----------------------------------------------
392#include "implicit_f.inc"
393#include "param_c.inc"
394#include "sphcom.inc"
395#include "scr17_c.inc"
396C-----------------------------------------------
397C D u m m y A r g u m e n t s
398C-----------------------------------------------
399 INTEGER SETL_SIZE
400 INTEGER, DIMENSION(NSETS), INTENT(IN) :: SETL
401 TYPE (SET_),DIMENSION(NSETS), INTENT(IN) :: SET
402 TYPE (SET_) :: CLAUSE
403 TYPE (SET_SCRATCH) :: DELBUF
404 INTEGER OPT_A,OPT_O,OPT_E
405C
406 INTEGER IXS(NIXS,*),IXS10(6,*),
407 . IXQ(NIXQ,*),IXC(NIXC,*),IXTG(NIXTG,*),IXT(NIXT,*),
408 . IXP(NIXP,*),IXR(NIXR,*),
409 . SH4TREE(*),SH3TREE(*),KNOD2ELS(*),KNOD2ELC(*),KNOD2ELTG(*),
410 . KNOD2ELQ(*),NOD2ELS(*),NOD2ELC(*),NOD2ELTG(*),NOD2ELQ(*),
411 . IPARTS(*),IPARTC(*),IPARTG(*),IPART(LIPART1,*)
412 my_real
413 . x(3,*)
414 CHARACTER(LEN=NCHARFIELD) :: KEYSET
415C-----------------------------------------------
416C L o c a l V a r i a b l e s
417C-----------------------------------------------
418 INTEGER I,IGS
419C-----------------------------------------------
420 DO i=1,setl_size
421 igs = setl(i)
422
423 ! Each from list SET is add in the clause with SET_ADD
424 ! The goal is to merge all entities from SET in the clause.
425 ! Call to insert_clause_in_set can be used for that...
426 CALL insert_clause_in_set(clause ,set(igs) ,set_add ,
427 * ixs ,ixs10 , ixq ,
428 * ixc ,ixtg ,ixt ,ixp ,ixr ,
429 * sh4tree,
430 . sh3tree ,knod2els ,nod2els ,knod2elc ,nod2elc,
431 . knod2eltg ,nod2eltg ,ipartc ,ipartg ,iparts ,
432 . ipart ,opt_a ,opt_o ,knod2elq ,nod2elq,
433 . x ,keyset ,opt_e ,delbuf )
434C
435 ENDDO
436C-----------------------------------------------
437 END
438
439!||====================================================================
440!|| create_set_collect ../starter/source/model/sets/create_setcol_clause.F
441!||--- called by ------------------------------------------------------
442!|| hm_set ../starter/source/model/sets/hm_set.F
443!||--- calls -----------------------------------------------------
444!|| insert_clause_in_set ../starter/source/model/sets/insert_clause_in_set.F
445!||--- uses -----------------------------------------------------
446!|| set_mod ../starter/share/modules1/set_mod.F
447!||====================================================================
448 SUBROUTINE create_set_collect(SET ,SET_ID ,IGS ,SETCOL_ARRAY ,ARRAY_SIZE,
449 * IXS ,IXS10 , IXQ ,
450 * IXC ,IXTG ,IXT ,IXP ,IXR ,
451 * SH4TREE,
452 * SH3TREE ,KNOD2ELS ,NOD2ELS ,KNOD2ELC ,NOD2ELC,
453 * KNOD2ELTG ,NOD2ELTG ,IPARTC ,IPARTG ,IPARTS ,
454 * IPART ,OPT_A ,OPT_O ,KNOD2ELQ ,NOD2ELQ,
455 * X ,KEYSET ,OPT_E ,DELBUF )
456C-----------------------------------------------
457C ROUTINE DESCRIPTION :
458C ===================
459C Create SET of SET Clause
460C--------------------------------------------------------------------------------------
461C DUMMY ARGUMENTS DESCRIPTION:
462C ===================
463C
464C NAME DESCRIPTION
465C
466C SET (SET structure) SET ARRAY
467C SETL List of SETs from Clause
468C SETL_SIZE Number of SETs from Clause
469C CLAUSE (SET structure) clause to fill.
470C
471C============================================================================
472C-----------------------------------------------
473C M o d u l e s
474C-----------------------------------------------
475 USE setdef_mod
478 USE set_mod , ONLY : set_add
479C-----------------------------------------------
480C I m p l i c i t T y p e s
481C-----------------------------------------------
482#include "implicit_f.inc"
483#include "param_c.inc"
484#include "sphcom.inc"
485#include "scr17_c.inc"
486C-----------------------------------------------
487C D u m m y A r g u m e n t s
488C-----------------------------------------------
489 INTEGER SET_ID,ARRAY_SIZE ,IGS
490 INTEGER OPT_A,OPT_O,OPT_E
491 INTEGER, DIMENSION(ARRAY_SIZE,2), INTENT(IN) :: SETCOL_ARRAY
492 TYPE (SET_),DIMENSION(NSETS), INTENT(INOUT) :: SET
493 TYPE (SET_SCRATCH) :: DELBUF
494 INTEGER IXS(NIXS,*),IXS10(6,*),
495 . IXQ(NIXQ,*),IXC(NIXC,*),IXTG(NIXTG,*),IXT(NIXT,*),
496 . ixp(nixp,*),ixr(nixr,*),
497 . sh4tree(*),sh3tree(*),knod2els(*),knod2elc(*),knod2eltg(*),
498 . knod2elq(*),nod2els(*),nod2elc(*),nod2eltg(*),nod2elq(*),
499 . iparts(*),ipartc(*),ipartg(*),ipart(lipart1,*)
500 my_real x(3,*)
501 CHARACTER(LEN=NCHARFIELD) :: KEYSET
502C-----------------------------------------------
503C L o c a l V a r i a b l e s
504C-----------------------------------------------
505 INTEGER I,CUR
506C-----------------------------------------------
507 DO I=1,array_size
508
509 IF(setcol_array(i,1) == set_id .AND. setcol_array(i,2) /= igs) THEN ! The SET IGS is the active one...
510 cur = setcol_array(i,2) ! Others needs to be merged.
511
512
513 ! Each from list SET is add in the clause with SET_ADD
514 ! The goal is to merge all entities from SET in the clause.
515 ! Call to insert_clause_in_set can be used for that...
516 CALL insert_clause_in_set(set(igs) ,set(cur) ,set_add ,
517 . ixs ,ixs10 , ixq ,
518 . ixc ,ixtg ,ixt ,ixp ,ixr ,
519 . sh4tree,
520 . sh3tree ,knod2els ,nod2els ,knod2elc ,nod2elc,
521 . knod2eltg ,nod2eltg ,ipartc ,ipartg ,iparts ,
522 . ipart ,opt_a ,opt_o ,knod2elq ,nod2elq,
523 . x ,keyset ,opt_e ,delbuf )
524 ENDIF
525C
526 ENDDO
527C-----------------------------------------------
528 END
529
530
#define my_real
Definition cppsort.cpp:32
subroutine create_setcol_array(set, setcol_array, array_size, isetcolm, nset_collect, jclause, opt_g, 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)
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)
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 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)
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
program starter
Definition starter.F:39