-
-
February 8, 2019 at 6:05 am
Punnag Chatterjee
SubscriberHi,
I am trying to perform a nonlinear(large deformations)-structural transient analysis of a clamped-clamped beam with piezoelectric bimorphs on each of the clamped ends, for my university research. I have recently downloaded the MEMS ACT module.
I am exciting the entire system with an acceleration [A*sin(wt)similar to base excitation]. So, potentially this excitation should result in the mechanical vibration of the system and an open circuit voltage development across the piezoelectric patches which I wish to tabulate as a function of time (attached schematic). However, I am finding it difficult to set it up in ANSYS workbench. There seems to be dearth of examples in the internet. Any help or pointing me towards examples would be very helpful.
I have attached my project here, where I am able to extract the deformation/deflection of the system due to the imposed acceleration. However, I am unable to figure out how to extract the time vs voltage information across the bimorphs at either clamped ends.
P.S. Any ideas of how to incorporate a resistor across the bimorphs and measure voltage across it would be greatly appreciated.
-
February 8, 2019 at 10:24 am
jj77
SubscriberNever done this but there was a similar post once:
/forum/forums/topic/energy-harvesting-using-piezo-and-mems-extension/
-
February 15, 2019 at 9:47 pm
Punnag Chatterjee
SubscriberHi,
Thanks for your direction to the link. I have been able to make the workbech model with PZT patches. However, I have run into a problem where I am trying to write a command snippet to write the cumulative voltage data to a text file.
I have already been able to write a table where the rows are the time steps (transient analysis) and the column 1 is the time stamp, column 2 is the Z displacement and column 3 is the sum of the nodal voltages.Â
I have a named selection of the mesh nodes whose voltage I want to be summed up at every time step. Snapshot below.
Â
Command Snippet:
Â
set,last
*get, nsets,active,0,set,nset
*dim, data_store,,nsets,3
Â
cmsel,s,LEFT_TOP_BTM_coupling
*get,ncount,node,LEFT_TOP_BTM_coupling,count
!*dim, volt_nodes,,1,ncount !used to save nodes No.
Â
Â
*do,i,1,nsets
 vtot = 0
 set,nextnode
Â
 *get,t,active,,set,time
 data_store(i,1) = t
Â
 cmsel,s,Probe_pt
 *get,node_id,node,0,num,max
 *get,displ,node,node_id,UZ
 data_store(i,2) = displ
Â
 *do,j,1,ncount  !trying to evaluate the voltage at every node then sum it at every time step
  set,nextnode
  cmsel,s,LEFT_TOP_BTM_coupling
  *get,volt_node,node,0,num,max
  *get,voltj,node,volt_node,volt
  vtot = vtot + voltj
 *enddoÂ
 data_store(i,3) = vtot
Â
Â
*enddo
Â
*cfopen,try_testfile,txt
*vwrite,data_store(1,1), data_store(1,2), data_store(1,3)
%g %g %g
*cfclos
It does not seem to work. It just takes too long. Without the inner do loop it works fine. Any help would be appreciated.
-
February 18, 2019 at 9:29 pm
Punnag Chatterjee
SubscriberHi,
Â
I have figured this out myself. Below is the complete/working command snippet.
set,last
*get, nsets,active,0,set,nset                     !get the array/vector size from the 'last' time step index
*dim, data_store,,nsets,3Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â !preallocate memory for creating a matrix/table of size (Row x column) = nsets x 3
*get,ncount,node,LEFT_TOP_BTM_coupling,count   !get the array/vector size for the mesh node named selection 'LEFT_TOP_BTM_coupling'
*dim, volt_nodes,,ncount,1Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â !used to save nodes No.
Â
*do,i,1,nsets
 set,nextnode
Â
 *get,t,active,,set,time          ! getting the current 'time' step and storing it in variable 't'
 data_store(i,1) = t             ! storing this 'time' value in the 1st column of the matrix/table
Â
 cmsel,s,Probe_pt             ! selecting 'Probe_pt', which is a nodal point selected on the surface (after meshing) and is a named selection
 *get,node_id,node,0,num,max   ! getting the node id for the nodal point 'Probe_pt'
 *get,displ,node,node_id,UZ     ! Z displacement (UZ) at the nodal point 'Probe_pt'
 data_store(i,2) = displ          ! storing this UZ value in the 2nd column of the matrix/table
Â
 cmsel,s,LEFT_positive_coupling      ! selecting named selection 'LEFT_positive_coupling' which has mesh nodes
 *get,volt_node_id,node,0,num,max    ! selecting the mesh node id which has the highest value(could be any node within the selection)
 *get,nodal_volt,node,volt_node_id,volt ! storing the voltage value from the selected node 'volt_node_id'
 data_store(i,3) = nodal_volt          ! storing this voltage value in the 3rd column of the matrix/table
Â
*enddo
Â
*cfopen,Table_20_Hz,txt                           !name of output text file is 'Table_20_Hz.txt'
*vwrite,data_store(1,1), data_store(1,2), data_store(1,3)
%g,%g,%g
*cfclos
P.S. I have realized that in order to extract the open circuit (OC) voltage data from the Left piezo bimorph patch, I just need to track the nodal voltage of any one of the nodes within the named selection 'LEFT_TOP_BTM_coupling' and I DO NOT have to perform a summation of the voltages of all the nodes within this selection.
-
February 28, 2019 at 3:46 am
Punnag Chatterjee
SubscriberHi guys,
Â
I was trying to simulate the model in a different way. I was trying to simulate an OC condition by adding 2 CIRCU94 elements for each of the piezo bimorphs on the beam. The objective is to achieve something like this. I am facing problems where the solver is giving me errors and I have not been able to figure it out for the entire last week. Please help.
I cannot figure out the error I am getting in the solution file.
*** WARNING ***Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â CP =Â Â Â Â Â Â 4.688Â Â TIME= 22:40
6
 Specified constraints on slave degrees of freedom in a coupled set areÂ
 not allowed. The constraint on this degree of freedom has been       Â
 removed: coupled set number 1, slave node 774, VOLT.                  Â
 *** ERROR ***                          CP =      4.688  TIME= 22:40
6
 Specified constraint not allowed on slave degree of freedom in coupledÂ
 set.                                                                  Â
 Coupled set number 1 First node= 67 Slave node = 774 Degree of       Â
 freedom = VOLT.                                                       Â
 Move Move constraint to first node or remove coupling and constrain  Â
 all.  Â
I am attaching the workbench project here for convenience (Workbench 19.1).
-
July 12, 2019 at 12:55 am
HeMeng
SubscriberHi, Punnag Chatterjee,
   Could you please share your ANSYS Workbench model of  piezo bimorphs on the beam?
  I can not open the attached files.Â
Thanks
Meng
-
July 15, 2019 at 3:28 am
Punnag Chatterjee
SubscriberHi Meng,
Â
Thanks for your interest. Please note that the attached file is meant for Workbench 19.1. Please let me know if that resolves it.
-
July 15, 2019 at 7:21 am
HeMeng
SubscriberHi Punnag Chatterjee,
  I used the Workbench 19.2, can you send me the  attached files again?Â
  Thanks for your kind help!
Â
Â
Â
-
July 15, 2019 at 6:32 pm
Punnag Chatterjee
SubscriberHey, please find attached the 19.1 WB project file. Let me know if that resolves the issue.
-
July 16, 2019 at 2:00 am
-
July 16, 2019 at 3:59 pm
Punnag Chatterjee
SubscriberHey, I have attached another file to my previous post (Workbench 18.1) give that a try and let me know.
-
November 28, 2019 at 5:39 pm
Guoyang
SubscriberHi, I have met this problem as well, have you solved it ?
-
December 5, 2019 at 2:38 am
HeMeng
Subscriber
Hey, please find attached the 19.1 WB project file. Let me know if that resolves the issue.
I still have problem. Can you write a word or ppt step by step?
-
July 7, 2020 at 12:59 am
yFan
SubscriberHi Punnag,
Â
Thank you for posting this. have you tried to validate the simulation results by experimental studies? I am wondering if the output voltage can match with the actual scenario.
Thanks
Â
-
February 1, 2021 at 12:51 pm
alicepicci
SubscribernSimilar to you, I am trying to perform a transient structural analysis of a clamped plate with four piezoelectric sensors behind each edge. My plate is subjected to a central displacement ( which is a function of the time), and I would like to compute the resulting voltages of the piezoelectric. Could you share, how could you obtain it? nThank you,nAlicenn -
March 15, 2023 at 12:32 pm
Matthew Davenport
Subscriberhello,Â
I am currently working on a piezoelectric bimorph cantileaver beam project in ADPL, and I am wondering if you would be willing to share your code for your setup?
-
- The topic ‘Energy harvesting ANSYS simulation using piezoelectric patches’ is closed to new replies.
-
6219
-
1906
-
1452
-
1308
-
1022
© 2026 Copyright ANSYS, Inc. All rights reserved.


