*get,npairs_,cmd,0,nargs
npairs_=(npairs_-3)/2
*get,prkey_,active,0,prkey
/nopr
fini
/post1
cs_=arg1
SrtDir_=arg2
*dim,items_,char,npairs_
*dim,comps_,char,npairs_
*dim,cmb_,char,npairs_
*do,i_,1,npairs_
*if,i_,lt,5,then
items_(i_)=arg%3+2*(i_-1)%
*else
items_(i_)=ar%3+2*(i_-1)%
*endif
*if,i_,lt,4,then
comps_(i_)=arg%4+2*(i_-1)%
*else
comps_(i_)=ar%4+2*(i_-1)%
*endif
cmb_(i_)='%items_(i_)%%comps_(i_)%'
*enddo
*get,csys_,active,0,csys
*get,rsys_,active,0,rsys
*get,dsys_,active,0,dsys
rsys,cs_
csys,cs_
dsys,cs_
*get,nmax_,node,0,num,max
*get,nmin_,node,0,num,min
bw_=nmax_-nmin_+1
*dim,umat_,array,bw_,3+npairs_
*vget,umat_(1,1),node,nmin_,nsel
*vmask,umat_(1,1)
*vfill,umat_(1,2),ramp,nmin_,1
*vmask,umat_(1,1)
*vget,umat_(1,3),node,nmin_,loc,SrtDir_
avprin,0,0
*do,i_,4,3+npairs_
*vmask,umat_(1,1)
*vget,umat_(1,i_),node,nmin_,items_(i_-3),comps_(i_-3)
*enddo
*get,ncount_,node,0,count
*dim,vnodes_,array,bw_
*vlen,bw_
*vmask,umat_(1,1)
*vfun,vnodes_(1),comp,umat_(1,2)
*set,%SrtDir_%_
*dim,%SrtDir_%_,array,bw_
*vmask,umat_(1,1)
*vfun,%SrtDir_%_(1),comp,umat_(1,3)
*set,a_
*dim,a_,table,bw_,npairs_
*do,i_,1,npairs_
*get,ptype_,parm,fcn%i_%,type
*if,ptype_,eq,3,then
*if,fcn%i_%,eq,'ABS',then
fcn%i_%='abs'
*endif
*if,fcn%i_%,eq,'abs',then
*vabs,1
*vmask,umat_(1,1)
*vfun,a_(1,i_),comp,umat_(1,3+i_)
*else
temp_=fcn%i_%
*do,j_,1,ncount_
*get,dup,node,vnodes_(j_),items_(i_),comps_(i_)
dup=%temp_%(dup)
a_(j_,i_)=dup
*enddo
*endif
*else
*vmask,umat_(1,1)
*vfun,a_(1,i_),comp,umat_(1,3+i_)
*endif
/gcolumn,i_,%items_(i_)%%comps_(i_)%
*enddo
*dim,orig_,,bw_
*vlen,ncount_
*moper,orig_(1),a_(1,1),sort,%SrtDir_%_(1)
*vlen,ncount_
*moper,orig_(1),vnodes_(1),sort,%SrtDir_%_(1)
*vlen,ncount_
*moper,orig_(1),%SrtDir_%_(1),sort,%SrtDir_%_(1)
*vlen,ncount_
*vplot,%SrtDir_%_(1),a_(1,1),2,3,4,5,6,7,8
*get,ptype_,parm,mkasc,type
*if,ptype_,ne,-1,then
/com, Write the data to a Tk-Solver ".asc" file
/nopr
/out,rplot_nodal,asc
*msg,info
node:
*vlen,ncount_
*vwrite,vnodes_(1)
(F8.0)
*msg,info,SrtDir_
%C:
*vlen,ncount_
*vwrite,%SrtDir_%_(1)
(E20.12)
*do,i_,1,npairs_
*msg,info,cmb_(i_)
%C:
*vlen,ncount_
*vwrite,a_(1,i_)
(E20.12)
*enddo
/out
*endif
*get,ptype_,parm,mkdat,type
*if,ptype_,ne,-1,then
/com, Write the data to a PSI-Plot ".dat" file
/nopr
/out,rplot_nodal,dat
*vwrite
('node')
*vwrite,SrtDir_
(A8)
*vwrite,cmb_(1)
(A8)
/out
/sys,runperl.bat line1.perl rplot_nodal.dat
/out,rplot_nodal,dat,,append
*vlen,ncount_
*if,npairs_,eq,1,then
*vwrite,vnodes_(1),%SrtDir_%_(1),a_(1,1)
(F8.0,2E20.12)
*elseif,npairs_,eq,2,then
*vwrite,vnodes_(1),%SrtDir_%_(1),a_(1),a_(1,2)
(F8.0,3E20.12)
*elseif,npairs_,eq,3,then
*vwrite,vnodes_(1),%SrtDir_%_(1),a_(1),a_(1,2),a_(1,3)
(F8.0,4E20.12)
*elseif,npairs_,eq,4,then
*vwrite,vnodes_(1),%SrtDir_%_(1),a_(1),a_(1,2),a_(1,3),a_(1,4)
(F8.0,5E20.12)
*elseif,npairs_,eq,5,then
*vwrite,vnodes_(1),%SrtDir_%_(1),a_(1),a_(1,2),a_(1,3),a_(1,4),a_(1,5)
(F8.0,6E20.12)
*elseif,npairs_,eq,6,then
*vwrite,vnodes_(1),%SrtDir_%_(1),a_(1),a_(1,2),a_(1,3),a_(1,4),a_(1,5),a_(1,6)
(F8.0,7E20.12)
*elseif,npairs_,eq,7,then
*vwrite,vnodes_(1),%SrtDir_%_(1),a_(1),a_(1,2),a_(1,3),a_(1,4),a_(1,5),a_(1,6),a_(1,7)
(F8.0,8E20.12)
*else
*vwrite,vnodes_(1),%SrtDir_%_(1),a_(1),a_(1,2),a_(1,3),a_(1,4),a_(1,5),a_(1,6),a_(1,7),a_(1,8)
(F8.0,9E20.12)
*endif
/out
*endif
/nopr
rsys,rsys_
csys,csys_
dsys,dsys_
*do,i_,1,npairs_
*set,fcn%i_%
*enddo
*set,mkdat
*set,mkasc
*set,bw_
*set,cmb_
*set,comps_
*set,Comp_
*set,csys_
*set,cs_
*set,dsys_
*set,dup_
*set,fcnx_
*set,items_
*set,i_
*set,j_
*set,ncount_
*set,nmax_
*set,nmin_
*set,npairs_
*set,orig_
*set,ptype_
*set,rsys_
*set,temp_
*set,umat_
*set,vnodes_
*if,prkey_,eq,1,then
/go
*endif