!This script was created by Laura Del Tin, Februar 2006. !It writes files needed for matrices extraction of the ansys model of the !electromechanical microresonator described in: !K.Wang,A-C.Wong,C.T-C.Nguyen,"VHF Free-free beam high-Q micromechanical !resonators",IEEE J.of Microelectromechanical system,vol.9,n.3,September 2000 !Free download at: !http://www.eecs.umich.edu/~ctnguyen/publications.ctnguyen.htm resume,geo,db vltg=86 /filname,file,0 !************* applying loads for static analysis /prep7 allsel cmsel,s,trans d,all,volt,vltg allsel cmsel,s,dimples d,all,uy,-(gap-d) allsel fini finish !********************** static analysis ********************** !************************************************************* /solu allsel antype,static nlgeom,off pstres,on solcontrol,on eqslv,sparse outres,all,all ematwrite,yes solve finish !*************** applying loads for pre-stressed harmonic analysis /prep7 cmsel,s,trans ddele,all,volt d,all,volt,1 allsel cmsel,s,dimples ddele,all,uy allsel finish !************** copying file needed for pre-stressed harmonic analysis /copy,file,esav,,filefreq0,esav /copy,file,esav,,filefreq1e13,esav /copy,file,emat,,filefreq0,emat /copy,file,emat,,filefreq1e13,emat !*************** prestressed harmonic analysis ****************** !**************************************************************** !******** omega=0 /filename,filefreq0 /solu allse antype,harmic eqslv,sparse pstres,on harfrq,0 nsubst,1 wrfull,1 solve fini !********* omega=1e13 /filname,filefreq1e13 /solu allse antype,harmic eqslv,sparse pstres,on harfrq,1e13/2/3.141592653589793 nsubst,1 wrfull,1 solve fini !*********** writing files needed for output matrices generation ************* !***************************************************************************** !******** mechanical d.o.f. in outdof.txt /post26 *CFOPEN, outdof, txt, *vwrite,'centerUY','UY',%tip% %C %C %I *CFCLOS !********** applied dirichlet boundary condition in output.txt ! non zero voltage b.c. listed first *cfopen,output,txt nsel,s,d,volt,0,100 nsel,u,d,volt,0 *get,nvolt,node,0,count i=0 k=1 _j=min *do,i,1,nvolt *get,_j,node,0,num,min *vwrite,k,'VOLT',_j %I %C %I nsel,u,,,_j k=k+1 *enddo allsel nsel,s,d,u,0 nsel,a,d,volt,0 *get,nbc,node,0,count i=0 *do,i,1,nbc *get,_j,node,0,num,min *get,flag,node,_j,d,ux,0 *if,flag,eq,0,then *vwrite,k,'UX',_j %I %C %I k=k+1 *endif *get,flag,node,_j,d,uy,0 *if,flag,eq,0,then *vwrite,k,'UY',_j %I %C %I k=k+1 *endif *get,flag,node,_j,d,uz,0 *if,flag,eq,0,then *vwrite,k,'UZ',_j %I %C %I k=k+1 *endif *get,flag,node,_j,d,volt,0 *if,flag,eq,0,then *vwrite,k,'VOLT',_j %I %C %I k=k+1 *endif nsel,u,,,_j *enddo *cfclose fini