Tagged: piezoelectrics
-
-
September 23, 2022 at 5:17 pm
Md_Salem
Subscriberhello,
could any one help me how to use the command "SPMWRITE" to get state space matrices , given that both sensor and actuator are piezoelectric (i.e , the input and output DOFs are volt ) ?? I would be so appreciated if some example for this particular case (piezoelectric actuator & sensor) is illustrated
Regards
-
September 29, 2022 at 12:10 am
Bill Bulat
Ansys EmployeeAs far as I can tell, SPMWRITE will only write state space matrices between structural DOFs. But I think I've managed to find a work around. Please copy the following APDL commands into a text file, then read that file into MAPDL with the /INPUT command. It creates an spm file, though I frankly don't know if it's valid. The "trick": I use CEs to force the values of UZ of each of two MASS21 nodes to the respective values of VOLT on the electrodes on two piezo transducers at opposite ends of a short beam. I then reference the MASS21 UZ DOFs (which equal the electrode voltages) in SPMWRITE. I hope this helps you get to where you're trying to go.
Kind regards,
Bill
HERE'S THE APDL:
fini/cle/vup,1,z/view,1,1,1,1/pnu,mat,1/num,1C*****************************************************C*** PARAMETERSC*****************************************************eps0=8.854e-12 ! FREE SPACE PERMITTIVITYa=0.010 ! DIMENSIONSt_piezo=0.002s=0.030t_beam=0.001nmodes=6 ! # OF MODESE_beam=2e11 ! BEAM MATERIAL PROPERTIESnu_beam=0.3dnsty_beam=7800dnsty_piezo = 7489C*** PIEZO DIELECTRIC CONSTANTS (PERMITTIVITIES) (F/M)ep11 = 402.078ep22 = 402.078ep33 = 329.794C*** PIEZOELECTRIC MATRIX VALUES (C/M^2)e11 = 0 $e12 = 0 $e13 = -4.1e21 = 0 $e22 = 0 $e23 = -4.1e31 = 0 $e32 = 0 $e33 = 14.1e41 = 0 $e42 = 0 $e43 = 0e51 = 0 $e52 = 10.5 $e53 = 0e61 = 10.5 $e62 = 0 $e63 = 0C*** PIEZO ELASTIC MATRIX VALUES (N/M^2)$c11=13.2e10$$c21=7.1e10 $c22=13.2e10$c31=7.3e10 $c32=7.3e10 $c33=11.5e10$c41=0 $c42=0 $c43=0 $c44=3.0e10$c51=0 $c52=0 $c53=0 $c54=0 $c55=2.6e10$c61=0 $c62=0 $c63=0 $c64=0 $c65=0 $c66=2.6e10C*****************************************************C*** GEOMETRYC*****************************************************/prep7vsel,nonebloc,-a-s/2,-s/2,-a/2,a/2,0,-t_beambloc,-s/2,s/2,-a/2,a/2,0,-t_beambloc,s/2,s/2+a,-a/2,a/2,0,-t_beamvatt,1,1,1vsel,nonebloc,-a-s/2,-s/2,-a/2,a/2,0,t_piezobloc,s/2,s/2+a,-a/2,a/2,0,t_piezovatt,2,2,2allsnumm,kpC*****************************************************C*** ATTRIBUTES, MESHC*****************************************************et,1,186mp,ex,1,E_beammp,dens,1,dnsty_beammp,nuxy,1,nu_beamet,2,226,1001mp,perx,2,ep11mp,pery,2,ep22mp,perz,2,ep33tb,piez,2,,18tbda,1,e11,e12,e13,e21,e22,e23tbda,7,e31,e32,e33,e41,e42,e43tbda,13,e51,e52,e53,e61,e62,e63tb,anel,2,,21tbda,1,c11,c21,c31,c41,c51,c61tbda,7,c22,c32,c42,c52,c62,c33tbda,13,c43,c53,c63,c44,c54,c64tbda,19,c55,c65,c66mp,dens,2,dnsty_piezoet,21,21,,,2 ! MASS21 ELEMENTS OVER EACH ELECTRODE (UX, UY, UZ)r,21,1e-8 ! INSIGNIFICANT MASSn,1,-s/2-a/2,,t_piezo ! NODE 1 AT ELECTRODE 1n,2,s/2+a/2,,t_piezo ! NODE 2 AT ELECTRODE 2type,21 $real,21 $e,1 $e,2 ! CREATE MASS21 ELEMENTSd,all,ux ! CONSTRAIN UX & UY, ALLOW ONLY UZd,all,uyvmes,all ! MESH VOLUMESeploC*****************************************************C*** BCsC*****************************************************esel,s,mat,,2nslensel,r,loc,zcm,ground_n,noded,ground_n,voltnslensel,r,loc,z,t_piezonsel,r,loc,x,-s/2-a,-s/2cm,v1_n,node*get,nnds,node,,countnd=0*do,i,1,nndscmse,s,v1_nnd=ndnext(nd)nsel,a,node,,1ce,next,0,nd,volt,1,1,uz,-1*enddonslensel,r,loc,z,t_piezonsel,r,loc,x,s/2,s/2+acm,v2_n,node*get,nnds,node,,countnd=0*do,i,1,nndscmse,s,v2_nnd=ndnext(nd)nsel,a,node,,2ce,next,0,nd,volt,1,2,uz,-1*enddofiniC*****************************************************C*** SOLVEC*****************************************************/soluanty,modalmodo,lanb,nmodes,100allssavesolvfiniC*****************************************************C*** POST PROCESSINGC*****************************************************/post1set,1,1plns,u,zC*****************************************************C*** SPMWRITEC*****************************************************C*** input definition*dim,inputTab,,1,2*dim,inputLab,CHAR,1inputTab(1,1) = 1 ! node 1inputTab(1,2) = 3 ! uz (= VOLT via CEs)inputLab(1) = 'n1_volt'C*** output definition*dim,outputTab,,1,2*dim,outputLab,CHAR,1outputTab(1,1) = 2 ! node 2outputTab(1,2) = 3 ! uz (= VOLT via CEs)outputLab(1) = 'n2_volt'spmwrite,modal,nmodes,inputTab,inputLab,outputTab,outputLab,1-
October 3, 2022 at 8:41 pm
Md_Salem
Subscriberhello ,
appreciated for your help. I will try to build model using workbench by insering APDL macros. then try to validate the result matrices analytically.
I just wonder about the command "cmse" , what does it stand for ?
-
October 7, 2022 at 3:47 pm
Md_Salem
SubscriberHi Bill,
I tried to built up this model with workbench , and for more simpicilty I assumed only the Piezo sensor attached to the surface of cantilever plate 1 cm from the root
I added next APDL macro to the coupled field block :
nsle
nsel,r,loc,z,0.0018
nsel,r,loc,x,0.01,0.095 !dimensions and location of piezo sensor surface
cm,v1_n,node
*get,nnds,node,,count
nd=0
*do,i,1,nnds
cmse,s,v1_n
nd=ndnext(nd)
nsel,a,node,,1
ce,next,0,nd,volt,1,1,uz,-1
*enddo
fini
then I added next APDL macro to the solution block (modal analysis) :/POST1
*DIM,INPUTTAB,,1,2
INPUTTAB(1,1) = 246 !node number at the tip of the cantilever
INPUTTAB(1,2) = 3
*DIM,INPUTLAB,CHAR,1
INPUTLAB(1) = ‘246_Uz’ !displacement of node 246 in the Z direction*dim,outputTab,,1,2
*dim,outputLab,CHAR,1
outputTab(1,1) = 1
outputTab(1,2) = 3
outputLab(1) = ‘n1_volt'spmwrite,modal,4,inputTab,inputLab,outputTab,outputLab,1
unfortunately , I recieved the next error :
” The results file (file0.rst) is not available for the NSET option on *GET command. The requested *GET data cannot be retrieved.”
Could you please help me please with that error ?
Regards
-
-
- You must be logged in to reply to this topic.

Boost Ansys Fluent Simulations with AWS
Computational Fluid Dynamics (CFD) helps engineers design products in which the flow of fluid components is a significant challenge. These different use cases often require large complex models to solve on a traditional workstation. Click here to join this event to learn how to leverage Ansys Fluids on the cloud, thanks to Ansys Gateway powered by AWS.

Earth Rescue – An Ansys Online Series
The climate crisis is here. But so is the human ingenuity to fight it. Earth Rescue reveals what visionary companies are doing today to engineer radical new ideas in the fight against climate change. Click here to watch the first episode.

Ansys Blog
Subscribe to the Ansys Blog to get great new content about the power of simulation delivered right to your email on a weekly basis. With content from Ansys experts, partners and customers you will learn about product development advances, thought leadership and trends and tips to better use Ansys tools. Sign up here.
- Saving & sharing of Working project files in .wbpz format
- Understanding Force Convergence Solution Output
- An Unknown error occurred during solution. Check the Solver Output…..
- Solver Pivot Warning in Beam Element Model
- Colors and Mesh Display
- whether have the difference between using contact and target bodies
- What is the difference between bonded contact region and fixed joint
- How to calculate the residual stress on a coating by Vickers indentation?
- The solver engine was unable to converge on a solution for the nonlinear problem as constrained.
- User manual
-
2722
-
2146
-
1357
-
1150
-
462
© 2023 Copyright ANSYS, Inc. All rights reserved.