41 . IPARG ,ITAB ,X ,KXX ,IXX ,
42 . IPARTX ,PM ,GEO ,BUFMAT ,BUFGEO ,
43 . UIX ,XUSR ,NFACPTX ,IXEDGE ,IXFACET,
44 . IXSOLID ,INUMX1 ,INUMX2 ,INUMX3 ,IOFFX1 ,
45 . IOFFX2 ,IOFFX3 ,XMASS1 ,XMASS2 ,XMASS3 ,
46 . XFUNC1 ,XFUNC2 ,XFUNC3 ,NANIM1D_L)
55#include "implicit_f.inc"
67 INTEGER KXX(NIXX,*),IXX(*),
68 . IPARTX(*), UIX(*), NFACPTX(3,*),
69 . IPARG(NPARG,*), ITAB(*),
70 . INUMX1(*), INUMX2(*), INUMX3(*),
71 . IOFFX1(*), IOFFX2(*), IOFFX3(*),
72 . IXEDGE(2,*), IXFACET(4,*), IXSOLID(8,*),
75 . x(3,*), pm(npropm,*), geo
76 . bufmat(*) ,bufgeo(*) ,
78 . xmass1(*), xmass2(*), xmass3(*),
79 . xfunc1(10,*), xfunc2(10,*), xfunc3(10,*)
81 TYPE (ELBUF_STRUCT_),
TARGET,
DIMENSION(NGROUP) :: ELBUF_TAB
87 . off, massele, eintele
88 INTEGER IPRT, NG, MYNEL, MYNFT, MYIAD, MYITY,
89 . I, J, K, IPROP, IMAT, NX,
92 . l, nax1d, nax2d, nax3d, nedge, nfacet, nsolid,
96 TYPE(G_BUFEL_) ,
POINTER :: GBUF
102 DATA mess/
'MULTI-PURPOSE ELEMENT DISCRETIZATION '/
115 gbuf => elbuf_tab(ng)%GBUF
117 IF (myity == 100)
THEN
120 IF (ipartx(j) /= iprt)
GOTO 150
127 nuvar = nint(geo(25,iprop))
128 nuvarn= nint(geo(35,iprop))
130 kvarn = nuvarn*nx*(i-1)+1
133 CALL xcoor3(x ,kxx(1,j) ,ixx ,itab ,nx ,
137 uix(nx+k)=ixx(iadnod+k-1)
151 eintele= gbuf%EINT(i)
152 massele= gbuf%MASS(i)
156 IF (igtyp == 28)
THEN
157 CALL xanim28(nx ,uix ,uid ,xusr ,
158 2 iout ,iprop ,imat ,
159 3 off ,massele ,eintele ,
160 4 nedge , nfacet , nsolid ,
161 5 ixedge(1,nax1d+1), ixfacet(1,nax2d+1),ixsolid(1,nax3d+1),
162 6 xmass1(nax1d+1) , xmass2(nax2d+1) , xmass3(nax3d+1),
163 7 xfunc1(1,nax1d+1) ,xfunc2(1,nax2d+1) ,xfunc3(1,nax3d+1) ,
164 8 nuvar ,gbuf%VAR(kvar) ,nuvarn ,gbuf%VARN(kvarn))
166 ELSEIF (igtyp == 29)
THEN
167 CALL xanim29(nx ,uix ,uid ,xusr ,
168 2 iout ,iprop ,imat ,
169 3 off ,massele ,eintele ,
170 4 nedge , nfacet , nsolid ,
171 5 ixedge(1,nax1d+1), ixfacet(1,nax2d+1),ixsolid(1,nax3d+1),
172 6 xmass1(nax1d+1) , xmass2(nax2d+1) , xmass3(nax3d+1),
173 7 xfunc1(1,nax1d+1) ,xfunc2(1,nax2d+1) ,xfunc3(1,nax3d+1) ,
174 8 nuvar ,gbuf%VAR(kvar) ,nuvarn ,gbuf%VARN(kvarn))
176 ELSEIF (igtyp == 30)
THEN
177 CALL xanim30(nx ,uix ,uid ,xusr ,
178 2 iout ,iprop ,imat ,
179 3 off ,massele ,eintele ,
180 4 nedge , nfacet , nsolid ,
181 5 ixedge(1,nax1d+1), ixfacet(1,nax2d+1),ixsolid(1,nax3d+1),
182 6 xmass1(nax1d+1) , xmass2(nax2d+1) , xmass3(nax3d+1),
183 7 xfunc1(1,nax1d+1) ,xfunc2(1,nax2d+1) ,xfunc3(1,nax3d+1) ,
184 8 nuvar ,gbuf%VAR(kvar),nuvarn ,gbuf%VARN(kvarn))
186 ELSEIF (igtyp == 31)
THEN
187 CALL xanim31(nx ,uix ,uid ,xusr ,
188 2 iout ,iprop ,imat ,
189 3 off ,massele ,eintele ,
190 4 nedge , nfacet , nsolid ,
191 5 ixedge(1,nax1d+1), ixfacet(1,nax2d+1),ixsolid(1,nax3d+1),
192 6 xmass1(nax1d+1) , xmass2(nax2d+1) , xmass3(nax3d+1),
193 7 xfunc1(1,nax1d+1) ,xfunc2(1,nax2d+1) ,xfunc3(1,nax3d+1) ,
194 8 nuvar ,gbuf%VAR(kvar),nuvarn ,gbuf%VARN(kvarn))
198 nfacptx(1,iprt)=nfacptx(1,iprt)+nedge
199 nfacptx(2,iprt)=nfacptx(2,iprt)+nfacet
200 nfacptx(3,iprt)=nfacptx(3,iprt)+nsolid
203 ioffx1(nax1d+l)=nint(
min(gbuf%OFF(i),one))
205 inumx1(nax1d+l)=kxx(nixx,j)
206 ixedge(1,nax1d+l)=ixx(iadnod+ixedge(1,nax1d+l)-1)
207 ixedge(2,nax1d+l)=ixx(iadnod+ixedge(2,nax1d+l)-1)
210 ioffx2(nax2d+l)=nint(
min(gbuf%OFF(i),one))
212 inumx2(nax2d+l)=kxx(nixx,j)
213 ixfacet(1,nax2d+l)=ixx(iadnod+ixfacet(1,nax2d+l)-1)
214 ixfacet(2,nax2d+l)=ixx(iadnod+ixfacet(2,nax2d+l)-1)
215 ixfacet(3,nax2d+l)=ixx(iadnod+ixfacet(3,nax2d+l)-1)
217 ixfacet(4,nax2d+l)=ixx(iadnod+ixfacet(4,nax2d+l
220 ioffx3(nax3d+l)=nint(
min(gbuf%OFF(i),one))
222 inumx3(nax3d+l)=kxx(nixx,j)
223 ixsolid(1,nax3d+l)=ixx(iadnod+ixsolid(1,nax3d+l)-1)
224 ixsolid(2,nax3d+l)=ixx(iadnod+ixsolid(2,nax3d+l)-1)
225 ixsolid(3,nax3d+l)=ixx(iadnod+ixsolid(3,nax3d+l)-1)
226 ixsolid(4,nax3d+l)=ixx(iadnod+ixsolid(4,nax3d+l)-1)
227 ixsolid(5,nax3d+l)=ixx(iadnod+ixsolid(5,nax3d+l)-1)
228 ixsolid(6,nax3d+l)=ixx(iadnod+ixsolid(6,nax3d+l)-1)
229 ixsolid(7,nax3d+l)=ixx(iadnod+ixsolid(7,nax3d+l)-1)
230 ixsolid(8,nax3d+l)=ixx(iadnod+ixsolid(8,nax3d+l)-1)
238 IF (nax1d > nanim1d .OR. nax2d > nanim2d .OR.
239 . nax3d > nanim3d)
THEN
240 CALL ancmsg(msgid=28,anmode=aninfo)
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)