31 SUBROUTINE surftag(NUMEL,IX,NIX,NIX1,NIX2,IELTYP,IPARTE,
32 . TAGBUF,ISU,NSEG,FLAG,NINDX,
42#include "implicit_f.inc"
46 INTEGER NIX,IX(NIX,*),NIX1,NIX2,NUMEL,IELTYP,
47 . TAGBUF(*),IPARTE(*),NSEG,FLAG
49 INTEGER,
DIMENSION(*) :: INDX
66 INTEGER JJ,K,INV4(4),INV3(3)
69 LOGICAL :: FILL_REVERSED
70 INTEGER :: NUM_PART,NUM_ELM,ID_PART
71 INTEGER :: JS_PART,JS_ELM
73 fill_reversed = .false.
74 IF (
ALLOCATED(isu%REVERSED))
THEN
75 fill_reversed = .true.
81 id_part = indx(js_part)
82 IF(ieltyp==3) num_elm = surf_elm(id_part)%NSHELL
83 IF(ieltyp==4) num_elm = surf_elm(id_part)%NTRUSS
84 IF(ieltyp==5) num_elm = surf_elm(id_part)%NBEAM
85 IF(ieltyp==6) num_elm = surf_elm(id_part)%NSPRING
86 IF(ieltyp==7) num_elm = surf_elm(id_part)%NTRI
88 IF(ieltyp==3) jj = surf_elm(id_part)%SHELL_PART(js_elm)
89 IF(ieltyp==4) jj = surf_elm(id_part)%TRUSS_PART(js_elm)
90 IF(ieltyp==5) jj = surf_elm(id_part)%BEAM_PART(js_elm)
91 IF(ieltyp==6) jj = surf_elm(id_part)%SPRING_PART(js_elm)
92 IF(ieltyp==7) jj = surf_elm(id_part)%TRI_PART(js_elm)
97 IF(tagbuf(iparte(jj)) == 1)
THEN
98 IF (fill_reversed) isu%REVERSED(nseg) = 0
100 isu%NODES(nseg,k-1) = ix(k,jj)
102 ELSEIF(tagbuf(iparte(jj)) == -1)
THEN
103 IF (fill_reversed) isu%REVERSED(nseg) = 1
104 IF (ieltyp == 3)
THEN
106 isu%NODES(nseg,inv4(k-1)) = ix(k,jj)
108 ELSEIF (ieltyp == 7)
THEN
110 isu%NODES(nseg,inv3(k-1)) = ix(k,jj)
114 IF (nix2-nix1 == 2)
THEN
115 isu%NODES(nseg,4) = isu%NODES(nseg,3)
117 isu%ELTYP(nseg) = ieltyp
135 . TAGBUF,IGRSURF,NSEG,IPART,
136 . KSHTREE,SHTREE,FLAG)
144#include "implicit_f.inc"
148#include "scr17_c.inc"
152 INTEGER NIX,IX(NIX,*),NIX1,NIX2,NUMEL,IELTYP,
153 1 TAGBUF(*),IPARTE(*),IADPART,NSEG,FLAG,
154 2 IPART(LIPART1,*),KSHTREE,SHTREE(KSHTREE,*)
156 TYPE (SURF_) :: IGRSURF
160 INTEGER JJ,K,IP,NLEV,MY_LEV,INV4(4),(3)
170 IF(my_lev < 0) my_lev=-(my_lev+1)
172 IF(iabs(tagbuf(iparte(jj))) == 1)
THEN
175 IF(tagbuf(iparte(jj)) == 1)
THEN
177 igrsurf%NODES(nseg,k-1) = ix(k,jj)
179 ELSEIF(tagbuf(iparte(jj)) == -1)
THEN
181 IF (ieltyp == 3)
THEN
182 igrsurf%NODES(nseg,inv4(k-1)) = ix(k,jj)
183 ELSEIF (ieltyp == 7)
THEN
184 igrsurf%NODES(nseg,
inv3(k-1)) = ix(k,jj)
188 IF(nix2-nix1 == 2)
THEN
189 igrsurf%NODES(nseg,4) = igrsurf%NODES(nseg,3)
191 igrsurf%ELTYP(nseg) = ieltyp
192 igrsurf%ELEM(nseg) = jj
207 SUBROUTINE surftagx(NUMEL,IXX,KXX,NIXX,IELTYP,IPARTE,
208 . TAGBUF,IGRSLIN,NSEG,FLAG)
216#include "implicit_f.inc"
220 INTEGER NUMEL,IXX(*),KXX(NIXX,*),IELTYP,NIXX,
221 . TAGBUF(*),(*),IADPART,NSEG,FLAG
223 TYPE (SURF_) :: IGRSLIN
227 INTEGER JJ,K,NIX1,NIX2,ISEG
230 IF (iabs(tagbuf(iparte(jj))) == 1)
THEN
231 nseg=nseg+kxx(3,jj) - 1
232 iseg = nseg-(kxx(3,jj) - 1)
235 nix2 = kxx(4,jj) + kxx(3,jj) - 1
236 IF(tagbuf(iparte(jj)) == 1)
THEN
238 igrslin%NODES(iseg+k,1) = ixx(kxx(4,jj)+k-1)
239 igrslin%NODES(iseg+k,2) = ixx(kxx(4,jj)+k)
240 igrslin%ELTYP(iseg+k) = ieltyp
241 igrslin%ELEM(iseg+k) = jj
subroutine surftag(numel, ix, nix, nix1, nix2, ieltyp, iparte, tagbuf, isu, nseg, flag, nindx, indx, surf_elm)
subroutine surftagadm(numel, ix, nix, nix1, nix2, ieltyp, iparte, tagbuf, igrsurf, nseg, ipart, kshtree, shtree, flag)
subroutine surftagx(numel, ixx, kxx, nixx, ieltyp, iparte, tagbuf, igrslin, nseg, flag)