37 . IXS ,IXS10 ,IXS20 ,IXS16 ,IXQ ,
38 . IXC ,IXTG ,IXT ,IXP ,IXR ,
39 . IXX ,KXX ,KXSP ,CLAUSE ,GEO,
40 . ARRAY ,SZ ,GO_IN_ARRAY )
46 USE tag_node_from_part_sphcel_mod
47 use element_mod ,
only : nixs,nixq,nixc,nixt,nixp,nixr,nixtg
51#include "implicit_f.inc"
61 INTEGER IXS(NIXS,*),IXS10(6,*),IXS16(8,*),IXS20(12,*),
62 . IXQ(NIXQ,*),IXC(NIXC,*),IXTG(NIXTG,*),IXT(NIXT,*),
63 . IXP(NIXP,*),IXR(NIXR,*),IXX(*),KXX(*),KXSP(NISP,*)
74 INTEGER,
ALLOCATABLE,
DIMENSION(:) :: TAGNOD,CLAUSE_NODE
76 INTEGER,
DIMENSION(:),
ALLOCATABLE:: IDX,SORT
79 ALLOCATE(tagnod(numnod))
81 ALLOCATE(clause_node(numnod))
86 IF ( clause%NB_SOLID > 0 )
88 . ixs ,ixs10 ,ixs20 ,ixs16 ,clause%NB_SOLID ,
89 . clause%SOLID ,tagnod ,clause_node,ind )
91 IF ( clause%NB_QUAD > 0 )
93 . ixq ,nixq ,2 ,5 ,clause%NB_QUAD,
94 . clause%QUAD ,tagnod,clause_node,ind )
96 IF ( clause%NB_SH4N > 0 )
98 . ixc ,nixc ,2 ,5 ,clause%NB_SH4N,
99 . clause%SH4N ,tagnod,clause_node,ind )
101 IF ( clause%NB_SH3N > 0 .AND. clause%NB_TRIA == 0 )
103 . ixtg ,nixtg ,2 ,4 ,clause%NB_SH3N,
104 . clause%SH3N ,tagnod,clause_node,ind )
106 IF ( clause%NB_TRIA > 0 )
108 . ixtg ,nixtg ,2 ,4 ,clause%NB_TRIA,
109 . clause%TRIA ,tagnod,clause_node,ind )
111 IF ( clause%NB_TRUSS > 0 )
113 . ixt ,nixt ,2 ,3 ,clause%NB_TRUSS,
114 . clause%TRUSS,tagnod,clause_node,ind )
118 . ixp ,nixp ,2 ,3 ,clause%NB_BEAM,
119 . clause%BEAM ,tagnod,clause_node,ind )
121 IF ( clause%NB_SPRING > 0 )
123 . ixr ,geo ,clause%NB_SPRING ,clause%SPRING ,tagnod,clause_node,ind)
130 IF ( clause%NB_SPHCEL > 0 )
131 .
CALL tag_node_from_part_sphcel(
132 . clause%NB_SPHCEL ,clause%SPHCEL ,tagnod,clause_node,ind
134! .
CALL tagnod_part(kxsp,nisp,3,3,numsph,ipartsp,tagpart,tagnod)
140 sort(1:ind) = clause_node(1:ind)
144 clause_node(i) = sort(idx(i))
151 IF (tagnod(i) == 1)
THEN
162 IF (go_in_array .EQV. .true.)
THEN
164 array(1:ind) = clause_node(1:ind)
169 IF(
ALLOCATED( clause%NODE ))
DEALLOCATE( clause%NODE )
170 ALLOCATE( clause%NODE(ind) )
171 clause%NODE(1:ind) = clause_node(1:ind)
175 DEALLOCATE(clause_node)