88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
116 USE create_plane_clause_mod
117 USE create_nodens_clause_mod
119
120
121
122#include "implicit_f.inc"
123
124
125
126#include "radioss_maptable.inc"
127#include "com04_c.inc"
128#include "scr17_c.inc"
129#include "param_c.inc"
130#include "sphcom.inc"
131
132
133
134 TYPE (SET_), DIMENSION(NSETS),INTENT(INOUT) :: SET
135 TYPE(SUBMODEL_DATA),INTENT(IN)::LSUBMODEL(*)
136 TYPE(INVERTGROUP_STRUCT_),INTENT(IN) :: INV_GROUP
137 TYPE(MAPPING_STRUCT_) :: MAP_TABLES
138 TYPE (BOX_) , DIMENSION(NBBOX) :: IBOX
139 TYPE (UNIT_TYPE_),INTENT(IN) :: UNITAB
140
141 TYPE (GROUP_) , INTENT(INOUT):: IGRNOD(*)
142 TYPE (SURF_) , INTENT(INOUT):: IGRSURF(*)
143 TYPE (SURF_) , INTENT(INOUT):: IGRSLIN(*)
144 TYPE (GROUP_) , INTENT(INOUT):: IGRPART(*)
145 TYPE (GROUP_) , INTENT(INOUT):: IGRBRIC(*)
146 TYPE (GROUP_) , INTENT(INOUT):: IGRQUAD(*)
147 TYPE (GROUP_) , INTENT(INOUT):: IGRSH4N(*)
148 TYPE (GROUP_) , INTENT(INOUT):: IGRSH3N(*)
149 TYPE (GROUP_) , INTENT(INOUT):: IGRTRUSS(*)
150 TYPE (GROUP_) , INTENT(INOUT):: (*)
151 TYPE (GROUP_) , INTENT(INOUT):: IGRSPRING(*)
152 TYPE (SUBSET_) , INTENT(INOUT) :: SUBSET(*)
153
154 INTEGER, INTENT(INOUT) :: IAD
156 INTEGER, DIMENSION(2*NUMNOD), INTENT(IN) :: ITABM1
157 INTEGER, DIMENSION(2*NRBODY), INTENT(IN) :: RBY_MSN
158
159 INTEGER IPART(LIPART1,NPART)
160 INTEGER, INTENT(IN) :: IXS(NIXS,*),IXS10(6,*),(8,*),IXS20(12,*),
161 . IXC(NIXC,*),IXTG(NIXTG,*),KNOD2ELS(*),KNOD2ELC(*),KNOD2ELTG(*),
162 . NOD2ELS(*),NOD2ELC(*),NOD2ELTG(*),IPARTC(*),IPARTG(*),IPARTS(*),
163 . SH4TREE(*),SH3TREE(*),KNOD2ELQ(*),NOD2ELQ(*),IXQ(NIXQ,*),
164 . IXT(NIXT,*),IXP(NIXP,*),IXR(NIXR,*),IXX(*),KXX(*),KXSP(NISP,*),
165 . IPARTQ(*),IPARTT(*),IPARTP(*),IPARTR(*)
166 INTEGER, INTENT(IN) :: SISKWN,SSKEW
168 . x(3,*),geo(npropg,*),skew(lskew,*)
169 INTEGER, INTENT(IN) :: ISKN(LISKN,SISKWN/LISKN)
170 my_real,
INTENT(IN) :: rtrans(ntransf,nrtrans)
171
172 INTEGER, INTENT(IN) :: ROOTLEN,INFILE_NAME_LEN
173 CHARACTER(LEN=ROOTLEN), INTENT(IN) :: ROOTNAM
174 CHARACTER(LEN=INFILE_NAME_LEN), INTENT(IN) :: INFILE_NAME
175
176
177
178 INTEGER IGS,I,J,ELTYP_SEG,ELTYP_ALL,SUB_ID
179 INTEGER SET_ID,ISET_TYPE,CLAUSES_MAX,ITMP,ICODE,SETL_SIZE
180 INTEGER OPT_D,OPT_O,OPT_G,OPT_B,,OPT_E,OPT_I,OPT_C
181 INTEGER , DIMENSION(:), ALLOCATABLE :: SET_LIST,SETL
182 INTEGER
183 LOGICAL IS_AVAILABLE
184 TYPE (SET_) :: CLAUSE
185 INTEGER CLAUSE_OPERATOR
186 INTEGER ADMBID
187 INTEGER DUMMY_ARRAY(10),DSZ
188 DATA admbid/0/
189 TYPE () :: DELBUF
190
191
192 CHARACTER MESS*40
193 CHARACTER(LEN=NCHARFIELD) :: KEYSET,SET_TYPE,KEY_TYPE
194 CHARACTER(LEN=NCHARKEY) :: KEY,KEYPART
195 CHARACTER(LEN=NCHARTITLE) :: TITLE,SET_TITLE,TITLE2
196
197
198
199
200
201 idebug = 0
202 IF (idebug == 1) THEN
203 print*,'------------- SET NG -------------'
204 ENDIF
205
206
207
208
209
210 ALLOCATE(set_list(
nsets))
211 CALL sort_set(lsubmodel ,map_tables, set_list,set,clause)
212
213
214
215
217
218
219
220
221
222
224 igs = set_list(i)
225
226 set_type = ' '
227 keyset = ' '
228 key = ' '
229
231 . option_id = set_id,
232 . option_titr = set_title,
233 . keyword2 = key,
234 . opt_pos = igs,
235 . submodel_id = sub_id)
237 CALL hm_get_intv (
'iset_Type', iset_type,is_available,lsubmodel)
238
239
240
241
242 CALL set_init(set ,igs ,set_id, set_title, iset_type)
243
244
245 CALL hm_get_intv(
'clausesmax',clauses_max,is_available,lsubmodel)
246
247 IF (idebug == 1)THEN
248 print*,'--------------------------------------------'
249 print*,'IGS =',igs
250 print*,'MY_SET_ID =',set_id
251 print*,'SET_TITLE =',trim(set_title)
252 print*,' KEY =',key(1:len_trim(key))
253 print*,'SET_TYPE =',set_type(1:len_trim(set_type))
254 print*,'CLAUSE_MAX=',clauses_max
255 print*,'SET_ACTIVE=',set(igs)%SET_ACTIV
256 print*,' '
257 ENDIF
258
259 DO j=1,clauses_max
260
262
264
273
274
275
276
277
278 itmp = len(trim(keyset))
279 icode = iachar(keyset(itmp:itmp))
280 IF (icode == 0) THEN
281 keyset(itmp:itmp)=' '
282 ENDIF
283
284
285
286
288 * opt_b,opt_a,opt_e,
289 * opt_i,opt_c,
290 * clause_operator )
291
292
293 IF (idebug == 1)THEN
294 WRITE(6,'(A,I6,A)' ) ' ',j,' --------'
295 WRITE(6,'(A,A)') ' ',trim(keyset)
296 WRITE(6,'(A,I2)') ' OP :',clause_operator
297 ENDIF
298
299
300 clause%SET_ID = set(igs)%SET_ID
301 clause%TITLE = trim(set(igs)%TITLE)
302
303
304
305
306 SELECT CASE (trim(keyset))
307
308 CASE ( 'PART' )
309
310
311
313 . clause ,map_tables%IPARTM ,j ,opt_g ,is_available ,
314 . lsubmodel)
315
316
317
319
320
321
323 . ixs
324 . ixtg ,knod2els ,nod2els ,knod2elc ,nod2elc ,
325 . knod2eltg ,nod2eltg ,ipartc ,ipartg ,iparts ,
326 . ipart ,clause ,opt_a ,opt_o ,ixq
327 . knod2elq
328 . .false. )
329
330
331
332
334 . .false.)
335
336
338 . .false.)
339
340
342 . ixs ,ixs10 ,ixs20 ,ixs16 ,ixq ,
343 . ixc ,ixtg ,ixt ,ixp
344 . ixx ,kxx ,kxsp ,clause ,geo,
345 . dummy_array ,dsz ,.false. )
346
347
348 CASE ( 'NODE' )
349
350
351
353 . clause ,itabm1 ,j ,opt_g ,is_available ,
354 . lsubmodel,opt_b ,ibox ,x ,skew ,
355 . set_title,keyset )
356
357
358 CASE ( 'SOLID' )
359
360
361
363 . clause, elt_solid,
364 . map_tables%ISOLM, numels,
365 . j ,opt_g ,is_available,lsubmodel ,opt_b ,
366 . opt_c ,ibox ,x ,skew ,set_title,
367 . keyset ,nixs ,ixs ,8 ,iparts ,
368 . ipart ,admbid ,admbid ,admbid )
369
370
371
373 . ixs ,ixs10 ,sh4tree ,sh3tree ,ixc ,
374 . ixtg ,knod2els ,nod2els ,knod2elc ,nod2elc ,
375 . knod2eltg ,nod2eltg ,ipartc ,ipartg ,iparts ,
376 . ipart ,clause ,opt_a ,opt_o ,ixq ,
377 . knod2elq ,nod2elq ,x ,keyset ,delbuf ,
378 . .false. )
379
380
382 . .false.)
383
384
386 . ixs ,ixs10 ,ixs20 ,ixs16 ,ixq ,
387 . ixc ,ixtg ,ixt ,ixp ,ixr ,
388 . ixx ,kxx ,kxsp ,clause ,geo ,
389 . dummy_array ,dsz ,.false. )
390
391
392
393 CASE ( 'QUAD' )
394
395
396
398 . clause, elt_quad,
399 . map_tables%IQUADM, numelq,
400 . j ,opt_g ,is_available,lsubmodel ,opt_b ,
401 . opt_c ,ibox ,x ,skew ,set_title,
402 . keyset ,nixq ,ixq ,4 ,ipartq ,
403 . ipart ,admbid ,admbid ,admbid )
404
405
406
408 . ixs ,ixs10 ,sh4tree ,sh3tree ,ixc ,
409 . ixtg ,knod2els ,nod2els ,knod2elc ,nod2elc ,
410 . knod2eltg ,nod2eltg ,ipartc ,ipartg ,iparts ,
411 . ipart ,clause ,opt_a ,opt_o ,ixq ,
412 . knod2elq ,nod2elq ,x ,keyset ,delbuf ,
413 . .false. )
414
415
417 . .false.)
418
419
421 . ixs ,ixs10 ,ixs20 ,ixs16 ,ixq ,
422 . ixc ,ixtg ,ixt ,ixp ,ixr ,
423 . ixx ,kxx ,kxsp ,clause ,geo ,
424 . dummy_array ,dsz ,.false. )
425
426
427
428 CASE ( 'SHELL' )
429
430
431
433 . clause, elt_sh4n,
434 . map_tables%ISH4NM, numelc,
435 . j ,opt_g ,is_available,lsubmodel ,opt_b ,
436 . opt_c ,ibox ,x ,skew ,set_title,
437 . keyset ,nixc ,ixc ,4 ,ipartc ,
438 . ipart ,3 ,sh4tree ,ksh4tree )
439
440
441
442
444 . ixs ,ixs10 ,sh4tree ,sh3tree ,ixc ,
445 . ixtg ,knod2els ,nod2els ,knod2elc ,nod2elc ,
446 . knod2eltg ,nod2eltg ,ipartc ,ipartg ,iparts ,
447 . ipart ,clause ,opt_a ,opt_o ,ixq ,
448 . knod2elq ,nod2elq ,x ,keyset ,delbuf ,
449 . .false. )
450
451
453 . .false.)
454
455
457 . ixs ,ixs10 ,ixs20 ,ixs16 ,ixq ,
458 . ixc ,ixtg ,ixt ,ixp ,ixr ,
459 . ixx ,kxx ,kxsp ,clause ,geo ,
460 . dummy_array ,dsz ,.false. )
461
462
463
464 CASE ( 'SH3N' )
465
466
467
469 . clause, elt_sh3n,
470 . map_tables%ISH3NM, numeltg,
471 . j ,opt_g ,is_available,lsubmodel ,opt_b ,
472 . opt_c ,ibox ,x ,skew ,set_title,
473 . keyset ,nixtg ,ixtg ,3 ,ipartg ,
474 . ipart ,3 ,sh3tree ,ksh3tree )
475
476
477
479 . ixs ,ixs10 ,sh4tree ,sh3tree ,ixc ,
480 . ixtg ,knod2els ,nod2els ,knod2elc ,nod2elc ,
481 . knod2eltg ,nod2eltg ,ipartc ,ipartg ,iparts ,
482 . ipart ,clause ,opt_a ,opt_o ,ixq ,
483 . knod2elq ,nod2elq ,x ,keyset ,delbuf ,
484 . .false. )
485
486
488 . .false.)
489
490
492 . ixs ,ixs10 ,ixs20 ,ixs16 ,ixq ,
493 . ixc ,ixtg ,ixt ,ixp ,ixr ,
494 . ixx ,kxx ,kxsp ,clause ,geo ,
495 . dummy_array ,dsz ,.false. )
496
497
498
499 CASE ( 'TRIA' )
500
501
502
504 . clause, elt_tria,
505 . map_tables%ITRIAM, numeltria,
506 . j ,opt_g ,is_available,lsubmodel ,opt_b ,
507 . opt_c ,ibox ,x ,skew ,set_title,
508 . keyset ,nixtg ,ixtg ,3 ,ipartg ,
509 . ipart ,admbid ,admbid ,admbid )
510
511
512
513
515 . ixs ,ixs10 ,ixs20 ,ixs16 ,ixq ,
516 . ixc ,ixtg ,ixt ,ixp ,ixr ,
517 . ixx ,kxx ,kxsp ,clause ,geo ,
518 . dummy_array ,dsz ,.false. )
519
520
521 CASE ( 'TRUSS' )
522
523
524
526 . clause, elt_truss,
527 . map_tables%ITRUSSM, numelt,
528 . j ,opt_g ,is_available,lsubmodel ,opt_b ,
529 . opt_c ,ibox ,x ,skew ,set_title,
530 . keyset ,nixt ,ixt ,2 ,ipartt ,
531 . ipart ,admbid ,admbid ,admbid )
532
533
534
536 . .false.)
537
538
540 . ixs ,ixs10 ,ixs20 ,ixs16 ,ixq ,
541 . ixc ,ixtg ,ixt ,ixp ,ixr ,
542 . ixx ,kxx ,kxsp ,clause ,geo ,
543 . dummy_array ,dsz ,.false. )
544
545
546 CASE ( 'BEAM' )
547
548
549
551 . clause, elt_beam,
552 . map_tables%IBEAMM, numelp,
553 . j ,opt_g ,is_available,lsubmodel ,opt_b ,
554 . opt_c ,ibox ,x ,skew ,set_title,
555 . keyset ,nixp ,ixp ,2 ,ipartp ,
556 . ipart ,admbid ,admbid ,admbid )
557
558
559
561 . .false.)
562
563
565 . ixs ,ixs10 ,ixs20 ,ixs16 ,ixq ,
566 . ixc ,ixtg ,ixt ,ixp ,ixr ,
567 . ixx ,kxx ,kxsp ,clause ,geo ,
568 . dummy_array ,dsz ,.false. )
569
570 CASE ( 'SPRING' )
571
572
573
575 . clause, elt_spring,
576 . map_tables%ISPRINGM, numelr,
577 . j ,opt_g ,is_available,lsubmodel ,opt_b ,
578 . opt_c ,ibox ,x ,skew ,set_title,
579 . keyset ,nixr ,ixr ,2 ,ipartr ,
580 . ipart ,admbid ,admbid ,admbid
581
582
583
585 . .false.)
586
587
589 . ixs ,ixs10 ,ixs20 ,ixs16 ,ixq ,
590 . ixc ,ixtg ,ixt ,ixp ,ixr ,
591 . ixx ,kxx ,kxsp ,clause
592 . dummy_array ,dsz ,.false. )
593
594
595 CASE ('SET')
596
597 ALLOCATE(setl(
nsets))
598 setl_size=0
599
601 . map_tables%ISETM , map_tables%NSET_GENERAL,
602 . j ,opt_g ,is_available ,
603 . lsubmodel,clause,1)
604
606 * setl ,setl_size,
607 * clause,
608 * ixs ,ixs10 , ixq ,
609 * ixc ,ixtg ,ixt ,ixp ,ixr ,
610 * sh4tree,
611 * sh3tree ,knod2els ,nod2els ,knod2elc ,nod2elc,
612 * knod2eltg ,nod2eltg ,ipartc ,ipartg ,iparts ,
613 * ipart ,opt_a ,opt_o ,knod2elq ,nod2elq,
614 * x ,keyset ,opt_e ,delbuf )
615
616 DEALLOCATE(setl)
617
618 CASE ('SETCOL')
619
620 ALLOCATE(setl(
nsets))
621 setl_size=0
622
624 * map_tables%ISETCOLM,map_tables%NSET_COLLECT
625 * j,opt_g ,is_available ,
626 * lsubmodel)
627
628
629
630
632 * setl ,setl_size,
633 * clause,
634 * ixs ,ixs10 , ixq ,
635 * ixc ,ixtg ,ixt
636 * sh4tree,
637 * sh3tree ,knod2els ,nod2els ,knod2elc ,nod2elc,
638 * knod2eltg ,nod2eltg ,ipartc ,ipartg ,iparts ,
639 * ipart ,opt_a ,opt_o ,knod2elq ,nod2elq,
640 * x ,keyset ,opt_e ,delbuf )
641
642 CASE ( 'SEG' )
643
644
645
647
648
649
651
652
654
655
656 CASE ( 'ALL' )
657
658
659
660
661
662 ! part list from clause
663
665
666
667
669
670
671
673 . ixs ,ixs10 ,sh4tree ,sh3tree ,ixc ,
674 . ixtg ,knod2els ,nod2els ,knod2elc ,nod2elc ,
675 . knod2eltg ,nod2eltg ,ipartc ,ipartg ,iparts ,
676 . ipart ,clause ,opt_a ,opt_o ,ixq ,
677 . knod2elq ,nod2elq ,x ,keyset ,delbuf ,
678 . .false. )
679
680
681
682
684 . .false.)
685
686
687
689 . .false.)
690
691
693
694
695 !IF (idebug == 1)THEN
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710 CASE ( 'BOX', 'BOX2' )
711
713 * clause ,j ,is_available,lsubmodel ,keyset ,
714 * itabm1 ,ibox ,x ,skew ,ixs10 ,
715 * set_title,ipart ,sh4tree ,sh3tree ,iparts ,
716 * ipartq ,ipartc ,ipartg ,ipartt ,ipartp ,
717 * ipartr ,ixs ,ixq ,ixc ,ixtg ,
718 * ixt ,ixp ,ixr ,knod2els ,nod2els ,
719 * knod2elc ,nod2elc ,knod2eltg ,nod2eltg ,knod2elq ,
720 * nod2elq ,opt_a ,opt_o ,opt_e ,delbuf ,
721 * rby_msn ,map_tables%IRBODYM)
722
723
724 CASE ( 'subs' )
725
726 ! PART LIST FROM CLAUSE
727 !-----------------------
728 CALL CREATE_SUBS_CLAUSE(
729 . CLAUSE ,MAP_TABLES%ISUBSM ,J ,OPT_G ,IS_AVAILABLE ,
730 . LSUBMODEL,SUBSET )
731
732 ! Element from PART
733 !-------------------
734 CALL CREATE_ELEMENT_FROM_PART(CLAUSE ,INV_GROUP,NUMSPH)
735
736 ! Surface from ELEMENT
737 !-------------------
738 CALL CREATE_SURFACE_FROM_ELEMENT(
739 . IXS ,IXS10 ,SH4TREE ,SH3TREE ,IXC ,
740 . IXTG ,KNOD2ELS ,NOD2ELS ,KNOD2ELC ,NOD2ELC ,
741 . KNOD2ELTG ,NOD2ELTG ,IPARTC ,IPARTG ,IPARTS ,
742 . IPART ,CLAUSE ,OPT_A ,OPT_O ,IXQ ,
743 . KNOD2ELQ ,NOD2ELQ ,X ,KEYSET ,DELBUF ,
744 . .FALSE. )
745
746
747 ! Line from 1D_ELEMENT
748 !-------------------
749 CALL CREATE_LINE_FROM_ELEMENT(IXT ,IXP ,IXR ,CLAUSE,DELBUF ,
750 . .FALSE.)
751
752 ! Line from SURFACE
753 CALL CREATE_LINE_FROM_SURFACE(CLAUSE,KEYSET,OPT_A,OPT_E,DELBUF ,
754 . .FALSE.)
755
756 ! Node from ELEMENT
757 CALL CREATE_NODE_FROM_ELEMENT(
758 . IXS ,IXS10 ,IXS20 ,IXS16 ,IXQ ,
759 . IXC ,IXTG ,IXT ,IXP ,IXR ,
760 . IXX ,KXX ,KXSP ,CLAUSE ,GEO ,
761 . DUMMY_ARRAY ,DSZ ,.FALSE. )
762
763
764 CASE ( 'subm' )
765
766
767 ! PART LIST FROM CLAUSE
768 !-----------------------
769 CALL CREATE_SUBM_CLAUSE(
770 . CLAUSE ,MAP_TABLES%ISUBMM ,J ,OPT_G ,IS_AVAILABLE ,
771 . LSUBMODEL,IPART )
772
773 ! Element from PART
774 !-------------------
775 CALL CREATE_ELEMENT_FROM_PART(CLAUSE ,INV_GROUP,NUMSPH)
776
777 ! Surface from ELEMENT
778 !-------------------
779 CALL CREATE_SURFACE_FROM_ELEMENT(
780 . IXS ,IXS10 ,SH4TREE ,SH3TREE ,IXC ,
781 . IXTG ,KNOD2ELS ,NOD2ELS ,KNOD2ELC ,NOD2ELC ,
782 . KNOD2ELTG ,NOD2ELTG ,IPARTC ,IPARTG ,IPARTS ,
783 . IPART ,CLAUSE ,OPT_A ,OPT_O ,IXQ ,
784 . KNOD2ELQ ,NOD2ELQ ,X ,KEYSET ,DELBUF ,
785 . .FALSE. )
786
787
788 ! Line from 1D_ELEMENT
789 !-------------------
790 CALL CREATE_LINE_FROM_ELEMENT(IXT ,IXP ,IXR ,CLAUSE,DELBUF ,
791 . .FALSE.)
792
793 ! Line from SURFACE
794 CALL CREATE_LINE_FROM_SURFACE(CLAUSE,KEYSET,OPT_A,OPT_E,DELBUF ,
795 . .FALSE.)
796
797
798
799 CASE ( 'rbody' )
800
801 ! RBODY LIST FROM CLAUSE
802 CALL CREATE_RBODY_CLAUSE(
803 . CLAUSE ,MAP_TABLES%IRBODYM ,J ,OPT_G ,IS_AVAILABLE ,
804 . LSUBMODEL,OPT_B ,IBOX,X ,SKEW ,
805 . SET_TITLE,KEYSET ,RBY_MSN )
806
807 ! Main node from RBODY
808 CALL CREATE_NODE_FROM_RBODY(RBY_MSN,CLAUSE)
809
810
811 CASE ( 'ellips' )
812
813 ! Hyper-ellipsoid surface definition
814 !-----------------------
815 SET(IGS)%NB_ELLIPSE = 1
816 CALL CREATE_ELLIPSE_CLAUSE(CLAUSE%SET_ID,CLAUSE%TITLE ,SUB_ID ,SKEW ,RTRANS,
817 . CLAUSE ,NRTRANS ,LSUBMODEL,UNITAB ,ISKN ,
818 . IAD ,NTRANSF ,NUMSKW ,LISKN ,LSKEW ,
819 . SSKEW ,SISKWN ,NSPCOND ,NUMSPH )
820
821 CASE ( 'plane' )
822
823 ! PLANE surface definition
824 !-----------------------
825 SET(IGS)%NB_PLANE = 1
826 CALL CREATE_PLANE_CLAUSE(CLAUSE%SET_ID ,CLAUSE%TITLE ,SUB_ID ,CLAUSE ,LSUBMODEL,
827 . UNITAB ,IAD ,NRTRANS ,NTRANSF,RTRANS )
828
829 CASE ( 'nodens' )
830
831 ! NODENS -> unsortable node list
832 !-----------------------
833 CALL CREATE_NODENS_CLAUSE(CLAUSE ,ITABM1 ,J ,IS_AVAILABLE ,LSUBMODEL ,NUMNOD)
834
835 CASE DEFAULT
836
837 CALL ANCMSG(MSGID=1906,ANMODE=ANSTOP,
838 . MSGTYPE=MSGERROR,
839 . I1 = CLAUSE%SET_ID,
840 . C1=TRIM(CLAUSE%TITLE),
841 . C2=TRIM(KEYSET) )
842
843
844 END SELECT
845
846
847 CALL INSERT_CLAUSE_IN_SET(SET(IGS) ,CLAUSE ,CLAUSE_OPERATOR,
848 . IXS ,IXS10 , IXQ ,
849 . IXC ,IXTG ,IXT ,IXP ,IXR ,
850 . SH4TREE,
851 . SH3TREE ,KNOD2ELS ,NOD2ELS ,KNOD2ELC ,NOD2ELC,
852 . KNOD2ELTG ,NOD2ELTG ,IPARTC ,IPARTG ,IPARTS ,
853 . IPART ,OPT_A ,OPT_O ,KNOD2ELQ ,NOD2ELQ,
854 . X ,KEYSET ,OPT_E ,DELBUF )
855
856!
857 ENDDO ! DO J=1,CLAUSES_MAX
858
859 IF( TRIM(KEY) == 'collect' ) THEN
860
861 IF (SET(IGS)%SET_ACTIV == 1)THEN ! Merge the Collect SETs only if Active
862
863 CALL CREATE_SET_COLLECT(SET ,SET_ID ,IGS ,MAP_TABLES%ISETCOLM ,MAP_TABLES%NSET_COLLECT,
864 * IXS ,IXS10 , IXQ ,
865 * IXC ,IXTG ,IXT ,IXP ,IXR ,
866 * SH4TREE,
867 . SH3TREE ,KNOD2ELS ,NOD2ELS ,KNOD2ELC ,NOD2ELC,
868 . KNOD2ELTG ,NOD2ELTG ,IPARTC ,IPARTG ,IPARTS ,
869 . IPART ,OPT_A ,OPT_O ,KNOD2ELQ ,NOD2ELQ,
870 . X ,KEYSET ,OPT_E ,DELBUF )
871
872 ENDIF
873
874 ENDIF
875
876 ENDDO ! DO IGS=1,NSETS
877
878 CALL CLAUSE_INIT(CLAUSE)
879
880
881
882 ! -----------------------------------------------------
883 !IF (IDEBUG == 1)THEN
884 ! DO IGS=1,NSETS
885 ! print*,'-----------'
886 ! print*,IGS
887 ! print*,'nb_part=',SET(IGS)%NB_PART
888 ! IF(SET(IGS)%NB_PART > 0)THEN
889 ! DO I=1,SET(IGS)%NB_PART
890 ! print*,'parts:',SET(IGS)%PART(I),IPART(4,SET(IGS)%PART(I))
891 ! ENDDO
892 ! ENDIF
893 ! ENDDO
894 ! print*,'-----------'
895 ! print*,' '
896 !ENDIF
897 ! -----------------------------------------------------
898
899 ! Fill Radioss group, lines surfaces
900 ! -----------------------------------------------------
901 CALL FILL_IGR(SET,
902 . IGRSURF ,IGRNOD ,IGRSLIN ,IGRPART ,IGRBRIC, IGRQUAD ,
903 . IGRSH4N ,IGRSH3N ,IGRTRUSS ,IGRBEAM ,IGRSPRING,BUFSF ,
904 . LISURF1 ,ROOTNAM ,ROOTLEN ,INFILE_NAME ,INFILE_NAME_LEN)
905
906
subroutine clause_init(clause)
subroutine collect(a, itab, weight, nodglob)
subroutine create_box_clause(clause, jclause, is_available, lsubmodel, keyset, itabm1, ibox, x, skew, ixs10, set_title, ipart, sh4tree, sh3tree, iparts, ipartq, ipartc, ipartg, ipartt, ipartp, ipartr, ixs, ixq, ixc, ixtg, ixt, ixp, ixr, knod2els, nod2els, knod2elc, nod2elc, knod2eltg, nod2eltg, knod2elq, nod2elq, opt_a, opt_o, opt_e, delbuf, rby_msn, irbodym)
subroutine create_elem_all_clause(clause)
subroutine create_elt_clause(clause, eltyp, map, mapsize, jclause, opt_g, is_available, lsubmodel, opt_b, opt_c, ibox, x, skew, set_title, keyset, nix, ix, nix1, iparte, ipart, klevtree, eltree, keltree)
subroutine create_element_from_part(clause, inv_group, numsph)
subroutine create_line_from_element(ixt, ixp, ixr, clause, delbuf, go_in_array)
subroutine create_line_from_surface(clause, keyset, opt_a, opt_e, delbuf, go_in_array)
subroutine create_node_all_clause(clause)
subroutine create_node_clause(clause, itabm1, jclause, opt_g, is_available, lsubmodel, opt_b, ibox, x, skew, set_title, keyset)
subroutine create_node_from_element(ixs, ixs10, ixs20, ixs16, ixq, ixc, ixtg, ixt, ixp, ixr, ixx, kxx, kxsp, clause, geo, array, sz, go_in_array)
subroutine create_node_from_seg(clause)
subroutine create_part_all_clause(clause)
subroutine create_part_clause(clause, ipartm1, jclause, opt_g, is_available, lsubmodel)
subroutine create_seg_clause(clause, itabm1, 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_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_array(set, setcol_array, array_size, isetcolm, nset_collect, jclause, opt_g, is_available, lsubmodel)
subroutine create_surface_from_element(ixs, ixs10, sh4tree, sh3tree, ixc, ixtg, knod2els, nod2els, knod2elc, nod2elc, knod2eltg, nod2eltg, ipartc, ipartg, iparts, ipart, clause, opt_a, opt_o, ixq, knod2elq, nod2elq, x, keyset, delbuf, go_in_array)
subroutine hm_get_int_array_index(name, ival, index, is_available, lsubmodel)
subroutine hm_get_intv(name, ival, is_available, lsubmodel)
subroutine hm_get_string(name, sval, size, is_available)
subroutine hm_get_string_index(name, sval, index, size, is_available)
subroutine hm_option_start_list(entity_type)
integer, parameter nchartitle
integer, parameter ncharkey
integer, parameter ncharfield
integer, parameter ncharline
subroutine set_init(set, igs, set_id, set_title, iset_type)
subroutine set_operator(opt_d, opt_o, opt_g, opt_b, opt_a, opt_e, opt_i, opt_c, clause_operator)
subroutine sort_set(lsubmodel, map_tables, set_list, set, clause)