PZT Disc in Water Load

Follow

Section 1 - What Will You Learn in This Tutorial?

In this tutorial, you will learn how to set up a simple 2D model of a PZT disc residing in a water tank using the designer mode basic geometry shapes.

You will learn:

  • The Basic Simulation Workflow in Onscale Designer
  • How to set up a 2D axi-symmetric model
  • How to create a simple geometry
  • How to simulate piezoelectric materials
  • How to display and post-process your results
What is PZT?: Lead zirconate titanate is an inorganic compound with the chemical formula Pb[ZrxTi1-x]O3 (0≤x≤1). Also called PZT, it is a ceramic perovskite material that shows a marked piezoelectric effect, meaning that the compound changes shape when an electric field is applied. It is used in a number of practical applications such as ultrasonic transducers and piezoelectric resonators. It is a white to off-white solid.

Section 2- Model Definition

PZT_Disk_Description.png

Characteristics of the model:

Model:

PZT Disc of dimensions 10 mm x 2 mm 

Water of dimensions 14mm x 10mm 

Mesh Size:

0.1 mm

Output Results:

- Time History of Acoustic Pressure on top of the disc at [0, 6] mm

- Maximum Y displacement data array

 

Material Data:

Name Water at 25C CTS 3203HD
Code Name watr pmt3
Density 1000 kg.m-3 7820 kg.m-3
Bulk Velocity 1496 ms-1 4708.36 ms-1
Shear Velocity 0 ms-1 1687.891 ms-1

Note: Material Data in OnScale are generally defined using the bulk velocity and the shear velocity parameters instead of the more traditional Elastic Modulus and Poisson's Ratio. You can check this page if you want to understand the relation between those parameters.

Section 3 - Why This Simulation?

 

 

PZT material is a piezo-electric material, it can thus deform under a certain voltage.

In this simulation we will apply 2 electrodes on both sides of the PZT Disk and observe the deformation of the disc in function of the voltage load applied.

The water around the PZT Disc will vibrate according to the vibration of the disc.
The model is a Disc in Lead Zirconate Titanate (PZT) inside a cylindrical water tank.

It is a 2D axi-symmetric model, which means that our model will be in 2D, but it will be transformed by the solver into a 3D model by automatically revolving the 2D model around the given Symmetry Axis (Y-Axis here).

In the results, the model will appear as a half cylinder when plotted in the post processor.

Section 4 - The Simulation Process:

Let's go through the step by step tutorial and see how to simulate this PZT Disc in OnScale!

Step 1 - Create a New Project

Important: Make Sure that you select the correct Axis of Symmetry from the beginning in the New project window because it is impossible to change afterwards in the designer mode.

  1. Click New Project to open up the New Project window 
  2. Give the project the name "PZTDisc" 
  3. Set Project working units to mm
  4. Change Model Type to 2D Axi-Symmetric Model and then select Axi Y
  5. Chose the project save location click '...' and choose an appropriate save location
  6. Click OK to save the dialog window 
mceclip3.png
Model_Type.png

Step 2 - Add the Materials from the Material DB

First we will add the materials needed from the material database. We will use pmt3 and water in this tutorial.

  1. Click Project Materials to open the database
  2. Expand Fluid and double click to add Water at 25C to the Project Materials (code name: watr)
  3. Expand Piezoelectric and double click to add the material CTS3203HD (code name: pmt3)
  4. In the right panel, expand the pmt3 material, then expand the piezoelectric tab and double click to change the poling direction to Y+
  5. Click Done
PZT-Materials.png

Important: The poling direction is a frequent source of error which leads to wrong results, so please double check that you changed it to "Y+".

material-change.png

Step 3 - Create Basic Geometry Shapes

The Geometry consists of a rectangle of water defined by 2 points [Begin Point (X=0, Y=0), End Point (X=14,Y=10)] and a second smaller rectangle which represents the PZT Disc defined also by 2 points [Begin Point (X=0, Y=4), End Point (X=10,Y=6)].

In OnScale, the Geometry Shapes are created with a certain order and the shape created after will be created on the top of the shapes created before. This facilitate the model creation because you do not need to use Boolean operations to cut or create interface between shapes. If you want to change the order after you already created the geometry, it is possible by changing the property "Precedence" of the geometric shape.

Let's start with the first water material rectangle shape [Begin Point (X=0, Y=0), End Point (X=14,Y=10)]

  1. Click the "primitive_1" Rectangle
  2. Change Material to watr in the Properties window
  3. Expand and set End (mm) to X (mm) = 14
  4. Set End (mm) to Y (mm) = 10
4.png
Let's create now the second smaller rectangle which represents the PZT Disc defined also by 2 points [Begin Point (X=0, Y=4), End Point (X=10,Y=6)].
  1. Right click primitive_1 and select Duplicate Selection
  2. Click primitive_2
  3. Change material from watr to pmt3. The color will change automatically to reflect the color associated to the material.
  4. Expand and set Begin (mm) to Y(mm) = 4
  5. Set End (mm) to X(mm) = 10 and Y(mm) = 6
5.png

Note: After making changes to X and Y right click the workspace and select Reset View to update the model visualization.

Step 4 - Define a Time Function

We will now add a Ricker Wavelet drive function for later use as out loads require a time function be set.

  1. Expand the Menu "Forcing Functions" and click '+' to open the Define Input Time function window
  2. Select the Ricker Wavelet as the type of time distribution of the forcing function.
  3. Click Insert to close the window. A record called timefunc_1 will be added to the window

time.png

Step 5 - Choose the right Mesh Size

We will now change the mesh settings to use 15 elements per wavelength

  1. Expand the Menu "Model" and then expand "Mesh", then select Configuration
  2. Set Definitions to Wavelength Based
  3. Set Elements Per Wavelength to 15

mesh.png

Step 6 - Create the two electrodes

Note: In this step, we will create 2 loads which will represent electrodes at the bottom and at the top of the PZT Disc. The load_1 will represent the top electrode (1) and will be set as a "Voltage" type of load to which the previously defined forcing function timefunc_1 will be associated. The load_2 will represent the bottom electrode (2) and will be set as a "Voltage" type of load with the termination "Ground".

Let's start first by creating the load_1 and load_2 by selecting their position by using the interface selection tool. We will then change their respective properties to "Voltage" and assign to them respectively the timefunc_1 forcing function and the termination Ground.

  1. Expand the Menu "Boundary Conditions" and click '+' to open the Load Definition window
  2. Change Creation Mode to Geometry Interface 
  3. Change Geometry to primitive_2 (pmt3)
  4. Change Interfacing Item to primitive_1 (watr)
  5. Click Create Load to generate the load_1

8.png

The load_1 corresponding to the top electrode (1) will then appear under the Loads menu in the Model Tree. Let's now create the load_2 while the Load Definition window is still open.

  1. Change Geometry to primitive_2 (pmt3)
  2. Change Interfacing Item to primitive_1 (watr)
  3. Click Create Load to generate the load_2

piezoDisc-step6-2.png

Now that the load_1 and load_2 have been created, we need to modify their respective "Interface Definition" in the Properties window to limit the application of each load to respectively the top and the bottom of the PZT material.

  1. Select the load_1
  2. In the Properties window, expand Interface Definition
  3. Expand Minimum (mm)
  4. Change the value of Y(mm) to 6.0
  5. The zone of application of the load_1 will then change to the top of the PZT material

piezoDisc-step6-4.png

Let's change now the interface definition of the load_2

  1. Select the load_2
  2. In the Properties window, expand Interface Definition
  3. Expand Maximum (mm)
  4. Change the value of Y(mm) to 4.0
  5. The zone of application of the load_2 will then change to the bottom of the PZT material

piezoDisc-step6-5.png

We will need to edit the loads to create 2 electrodes, where we are driving the top and grounding the bottom.

Change the properties of the electrode 1

  1. Click load_1
  2. Change Load Type to Voltage 
  3. Change Area Scaling to 2
  4. Change Termination to timefunc_1
  5. Change Amplitude Scale Factor to 1
  6. Change Y (mm) to 6

Important: The Area scaling is an important factor used to take in account the fact that the disc geometry in 2D is just a half model, thus we need to apply an area scaling of 2 to consider the "half surface" loading.

Change the properties of the electrode 2

  1. Click load_2
  2. Change Load Type to Voltage 
  3. Change Area Scaling to 2
  4. Change Termination to Ground
  5. Change Y (mm) to 4

eload2.png

Step 7 - Define the Boundary Conditions 

We will need to change the X minimum boundary condition to Symmetry as this model is symmetrical along that axis.

  1. Click Domain Boundaries and expand the items X Minimum, X Maximum, Y Minimum and Y Maximum of the Properties Window
  2. Change the X Minimum boundary condition to Symmetry. All others will be Absorbing
  3. Change remaining boundary conditions to Absorbing

bound.png

Note: You can find an article explaining what each boundary condition does here

Step 8 - Define the Analysis Simulation Time

We will now set the model simulation time to be 5e-5 seconds

  1. Click Analysis 
  2. Change Simulation Run Time (s) to 5e-05

pzt-analysistime.png

Step 9 - Define the Output Results

We will now define 2 outputs, a time history of the acoustic pressure on top of the piezo disc will be recorded and the maximum pressure array will be outputted

Output Result 1 : Time History Graph of Acoustic Pressure at Y=6

  1. Click '+' this will create a new output 
  2. Change Output Type to Time History 
  3. Set Array Type to Acoustic Pressure
  4. Expand Location (mm) and set Y = 6

out1.png

Output Result 2: Maximum Y Displacement Field

  1. Click '+' this will create a new output 
  2. Change Output Type to Field Data 
  3. Change Array Type to Displacement and Array Component to Y 
  4. Change Field Type to Maximum

out2.png

Step 10 - Run on the Cloud

At this point the model is completely set up and it can now be run on the cloud.

  1. Click Run on Cloud 
  2. The option to rename your job. This is how it will appear in the storage
  3. Click Estimate 
  4. Click Run

pzt-runoncloud.png

How to Get the Simulation Results?

The simulation results will need to be downloaded from the cloud storage in order to analyse the results in the post processor. More experience users may also be able to process Time Histories in Review.

  1. Click Storage this opens the window shown above
  2. Locate the job 
  3. Click Download
  4. Click Download all and choose a download destination folder

15.png

Choose an appropriate save location when the file explorer pops up and click Select Folder to close the window.

Step 11 - Check the Simulation Results

Switch to the Post Processor

Click this icon to access the Post Processor 

ppswitch.png

Open Results 

  1. Click File Explorer
  2. Expand the folder containing the results just downloaded
  3. Double click the flxdato and flxhst file to open them
  4. Click Results Manager

16.png

Plot Data Array (Maximum Displacement in Y)

  1. Double click on Data Out > PZTDisk> Time-30112 > ydmx to plot the maximum pressure data array
  2. Click the work-space to rotate the model 

PZT-disc-YMax.png

Plot Time History 

  1. Click Reset Viewport and choose Reset All Viewports
  2. Double click piez load1:Charge to plot the charge time trace
  3. Change Plot Title to Charge Top Electrode (optional you can choose)
  4. Change Y-Axis Label to Piezoelectric Charge (optional you can choose)

pzt-piezoelectric-charge.png

You can zoom on this curve by drawing a rectangle with the mouse is the curve window:

pzt-charge-zoom.png

This is a time history curve which shows how the charge is lost in the electrode.

Display the Frequency History Curve using FFT

As a useful exercise, let's see how to perform the FFT (Fast Fourier Transform) of this time history curve to see how this curve would look like in frequency domain.

  1. Configure the viewport window to display a second curve below the first one
  2. Click in the new viewport window to make sure it is selected (you still have no curve in it for the moment)
  3. Click once only on the "pize load:Charge T2_4" result in the Result Manager
  4. FFT will become activated in the Menu, click on it.
  5. New "Frequency History" items will now appear in the Result manager. Double click on "load1:Charge.ma"

You will now have the frequency domain equivalent of your time history curve!

PZTdisc-FFT-Charge4.gif

Section 5 - Try For Yourself

Now that we have introduced you to the tutorial try have a play around with some of the settings, add some other outputs, or use this model as a starting point for your own.

1 out of 1 found this helpful

Comments

0 comments

Article is closed for comments.