Log in

Practice: How to Calculate Piezoelectric Material Properties from a Material Datasheet

By Cyprien Rusu 05 September 2019

In Part 1 of this Blog Tutorial we provided a more theoretical example of piezoelectric equations and the important coefficients to know.

If you missed Part 1 you can check it out here!

Now let’s start with a practical consideration:

What parameters do we need in OnScale to define a Piezoelectric material?

The accurate modelling of piezoelectric materials requires 13 independent parameters:

If we look at the material properties in OnScale for a material such as pmt3, we will require the following:

How to calculate the stiffness or compliance coefficients?

Let’s consider the isotropic case. Most metallic alloys and thermoset polymers are considered isotropic which means that the material properties are independent of direction.

Such materials have only 2 independent variables (i.e. elastic constants) in their stiffness and compliance matrices, as opposed to the 21 elastic constants in the general anisotropic case.

The two elastic constants are usually expressed as the Young’s modulus E and the Poisson’s ratio ν. However, the alternative elastic constants K (bulk modulus) and/or G (shear modulus) can also be used. For isotropic materials, G and K can be found from E and n by a set of equations, and vice-versa.

Hooke’s law for isotropic materials in compliance matrix form is given by:

Some literatures may have a factor 2 multiplying the shear moduli in the compliance matrix resulting from the difference between shear strain and engineering shear strain, where the stiffness matrix is equal to the inverse of the compliance matrix, and is given by:

Now… remember, this is all for the isotropic case!

A piezoelectric material is not isotropic so those relations will be slightly more complex.

Now, let’s go back to the example on the datasheet provided in Part 1.

Which parameter do we already have on the material datasheet and which parameter should we calculate?

For this material datasheet, we see that we have the density, the mechanical Q and the 2 dielectric constants (also called relative permittivity).

We will need to calculate the stiffness matrix (1) using the young’s modulus and Poisson’s ratio provided. Then, we will need to calculate the matrix [e] (2) of piezoelectric coefficients from the matrix [d] provided.

1- Calculation of the stiffness matrix

First, we need to calculate the compliance matrix and then we can inverse it to obtain the stiffness matrix. As PZT materials exhibits transverse isotropy (6mm crystal symmetry), we can use the following matrix to calculate the compliance matrix:

The transverse modulus G12 is related to the transverse Poisson’s ratio and the transverse stiffness through the following equation:

Here is a python script that you can use to calculate this compliance matrix and the associated stiffness matrix (which is the inverse of the compliance matrix).

import numpy as np
from numpy.linalg import inv

E1 = 6.2e10 #N/m2
E2 = 6.2e10 #took E2=E1
E3 = 4.9e10
nu = 0.32
E5 = 1.9e10
G6 = E1/(2*(1+nu))

#compliance matrix
s = np.array([

#print (s)

#stiffness matrix
c = inv(s)

print('Stiffness Matrix\n')
for i in range(6):
	for j in range(6):

Note: To run this script, you will need to install Python first and then the module numpy of python.

This is what you should obtain:
Compliance Matrix:

[[ 1.61290323e-11 -5.16129032e-12 -6.53061224e-12  0.00000000e+00  0.00000000e+00  0.00000000e+00]
 [-5.16129032e-12  1.61290323e-11 -6.53061224e-12  0.00000000e+00  0.00000000e+00  0.00000000e+00]
 [-6.53061224e-12 -6.53061224e-12  2.04081633e-11  0.00000000e+00   0.00000000e+00  0.00000000e+00]
 [ 0.00000000e+00  0.00000000e+00  0.00000000e+00  2.63157895e-11  0.00000000e+00  0.00000000e+00]
 [ 0.00000000e+00  0.00000000e+00  0.00000000e+00  0.00000000e+00  2.63157895e-11  0.00000000e+00]
 [ 0.00000000e+00  0.00000000e+00  0.00000000e+00  0.00000000e+00  0.00000000e+00  4.25806451e-11]]

Stiffness Matrix:

[[9.71426186e+10 5.01729217e+10 4.71409729e+10 0.00000000e+00  0.00000000e+00 0.00000000e+00]
 [5.01729217e+10 9.71426186e+10 4.17508418e+10 0.00000000e+00  0.00000000e+00 0.00000000e+00]
 [4.71409729e+10 4.71409729e+10 7.91702226e+10 0.00000000e+00  0.00000000e+00 0.00000000e+00]
 [0.00000000e+00 0.00000000e+00 0.00000000e+00 3.80000000e+10  0.00000000e+00 0.00000000e+00]
 [0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00  3.80000000e+10 0.00000000e+00]
 [0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00  0.00000000e+00 2.34848484e+10]]

Now that we have the Stiffness Matrix, we can calculate the coefficient [e] from the coefficient [d] written on the material datasheet.

To transform those [d] coefficients, we need to have a look at some of the transformation relations mentioned on this page from the efunda website:

Stress-Charge to Strain-Charge:

This tells us the following:

  • To calculate [e], we need to use the relation [e] = [d].[c]
  • [c] is the stiffness matrix calculated previously

Note: [c] is the stiffness matrix, NOT the compliance matrix, it’s a bit confusing

We can now use the following Python script to calculate:

# Piezo properties
d11 = 0
d12 = 0
d13 = 0
d14 = 0
d15 = 758e-12
d16 = 0
d21 = 0
d22 = 0
d23 = 0
d24 = d15
d25 = 0
d26 = 0
d31 = -210e-12
d32 = d31
d33 = 472e-12
d34 = 0
d35 = 0
d36 = 0

d = np.array([[d11,d12,d13,d14,d15,d16],

e = d @ c

for i in range(3):
	for j in range(6):



Now that we have all the coefficients, we are ready to input this new material in OnScale

How to create a new Piezoelectric material in OnScale?

To add this new piezoelectric material into the global onscale database, follow the steps below in the material database:

  1. Click on Add Global Material
  2. Add a Material Description
  3. Add a Material Name (It must be unique)
  4. Choose a Material Category and a Material Model
  5. Double click on the coefficients you want to modify
  6. Click on Save

We hope from this you will now be able to Calculate Piezoelectric Material Properties from Material Datasheet. If you have any questions let us know in the comment section below!



Cyprien Rusu
Cyprien Rusu

Cyprien Rusu is our Director of Engineering for Asia at OnScale. He has a extensive background in FEM, Technical Marketing, Sales and Support. Cyprien recieved his MS in Civil Engineering from Tsinghua University. At OnScale he is a trusted advisor for our client base in Asia, while creating and providing OnScale training.