37 . ISETM , NSET_GENERAL,
38 . JCLAUSE ,OPT_G ,IS_AVAILABLE ,
39 . LSUBMODEL,CLAUSE,FLAG)
69#include "implicit_f.inc"
74LOGICAL :: IS_AVAILABLE
75 INTEGER,
INTENT(IN),
DIMENSION(NSETS,2) :: ISETM
79 TYPE(SUBMODEL_DATA),
INTENT(IN):: LSUBMODEL(*)
85 CALL create_set_list_g(set_array, array_size ,isetm ,nset_general ,jclause ,is_available ,lsubmodel)
87 CALL create_set_list (set_array, array_size ,isetm ,nset_general ,jclause ,is_available ,lsubmodel,
105!||====================================================================
107 . ARRAY, ARRAY_SIZE, ISETM ,NSET_GENERAL ,JCLAUSE ,IS_AVAILABLE ,LSUBMODEL,
135#include "implicit_f.inc"
139 INTEGER JCLAUSE, ARRAY_SIZE,NSET_GENERAL,FLAG
140 LOGICAL :: IS_AVAILABLE
141 INTEGER,
INTENT(IN),
DIMENSION(NSETS,2) :: ISETM
143 TYPE (SET_) :: CLAUSE
148 INTEGER I,IDS,NINDX,LIST_SIZE,IDS_MAX,SETM
151 INTEGER,
ALLOCATABLE,
DIMENSION(:) :: SET_READ_TMP,INDEX
161 ALLOCATE(set_read_tmp(ids_max))
162 set_read_tmp(1:ids_max) = 0
164 ALLOCATE(index(2*ids_max))
175 setm = set_usrtos(ids,isetm,nset_general)
180 set_read_tmp(nindx) = setm
181 ELSEIF (flag == 1)
THEN
183 CALL ancmsg(msgid=1902,anmode=aninfo,
184 . msgtype=msgwarning,
185 . i1 = clause%SET_ID,
187 . c1=trim(clause%TITLE),
198 CALL my_orders(0,iwork,set_read_tmp,index,nindx,1)
201 array(i)=set_read_tmp(index(i))
204 CALL remove_duplicates( array,nindx,list_size)
208 array_size = list_size
213 DEALLOCATE(set_read_tmp)
233 . ARRAY, ARRAY_SIZE, ISETM, NSET_GENERAL, JCLAUSE ,IS_AVAILABLE ,LSUBMODEL)
260#include "implicit_f.inc"
264 INTEGER JCLAUSE,ARRAY_SIZE, NSET_GENERAL
265 INTEGER ARRAY(ARRAY_SIZE)
266 LOGICAL :: IS_AVAILABLE
267 INTEGER,
INTENT(IN),
DIMENSION(NSETS,2) :: ISETM
274 INTEGER I,IDS,NINDX,LIST_SIZE,IDS_MAX,PARTM,GENE_MAX,K,P,P1
275 INTEGER START_GENE,END_GENE,INCR_GENE,PSTART,PSTOP,STACK,STACK_ONE,NB_RESULT
278 INTEGER,
ALLOCATABLE,
DIMENSION(:) :: SET_READ_TMP,SET_READ_ONE,IDEX,RESULT
280 INTEGER SET_USRTOS_NEAREST
281 EXTERNAL set_usrtos_nearest
285 ALLOCATE(set_read_tmp(
nsets))
286 ALLOCATE(set_read_one(
nsets))
287 ALLOCATE(result(
nsets))
297 IF (incr_gene == 0) incr_gene = 1
299 pstart = set_usrtos_nearest(start_gene, isetm, nset_general,1)
300 pstop = set_usrtos_nearest(end_gene, isetm, nset_general,2)
305 IF ( mod( p1-start_gene , incr_gene) == 0)
THEN
306 stack_one = stack_one+1
307 set_read_one(stack_one) = isetm(p,2)
313 set_read_tmp(1:stack_one) = set_read_one(1:stack_one)
319 CALL union_2_sorted_sets( set_read_tmp, stack ,
320 * set_read_one, stack_one ,
321 * result, nb_result )
322 set_read_tmp(1:nb_result)=result(1:nb_result)
331 array(1:stack) = set_read_tmp(1:stack)
333 DEALLOCATE (set_read_one)
334 DEALLOCATE (set_read_tmp)
350 . IXC ,IXTG ,IXT ,IXP ,IXR ,
352 . SH3TREE ,KNOD2ELS ,NOD2ELS ,KNOD2ELC ,NOD2ELC,
353 . KNOD2ELTG ,NOD2ELTG ,IPARTC ,IPARTG ,IPARTS ,
354 . IPART ,OPT_A ,OPT_O ,KNOD2ELQ ,NOD2ELQ,
355 . X ,KEYSET ,OPT_E ,DELBUF )
383#include "implicit_f.inc"
384#include "param_c.inc"
386#include "scr17_c.inc"
391 INTEGER OPT_A,OPT_O,OPT_E
392 INTEGER,
DIMENSION(NSETS),
INTENT(IN) :: SETL
393 TYPE (),
DIMENSION(NSETS),
INTENT(IN) :: SET
394 TYPE (SET_) :: CLAUSE
395 TYPE (SET_SCRATCH) :: DELBUF
397 INTEGER IXS(NIXS,*),IXS10(6,*),
398 . IXQ(NIXQ,*),IXC(NIXC,*),IXTG(NIXTG,*),IXT(NIXT,*),
399 . IXP(NIXP,*),IXR(NIXR,*),
400 . SH4TREE(*),SH3TREE(*),KNOD2ELS(*),KNOD2ELC(*),KNOD2ELTG(
402(*),IPARTC(*),IPARTG(*),IPART(LIPART1,*)
404 CHARACTER(LEN=NCHARFIELD) :: KEYSET
418 . ixc ,ixtg ,ixt ,ixp ,ixr ,
421 . knod2eltg ,nod2eltg ,ipartc ,ipartg ,iparts ,
422 . ipart ,opt_a ,opt_o ,knod2elq ,nod2elq,
423 . x ,keyset ,opt_e ,delbuf )
subroutine create_set_list_g(array, array_size, isetm, nset_general, jclause, is_available, lsubmodel)
subroutine create_set_array(set_array, array_size, isetm, nset_general, jclause, opt_g, is_available, lsubmodel, clause, flag)
subroutine create_set_list(array, array_size, isetm, nset_general, jclause, is_available, lsubmodel, clause, flag)
subroutine create_set_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 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)
integer, parameter ncharfield
integer, parameter set_add
add operator
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)