Skip to content

MEMS 002 - PMUT

Model definition

In this example, a 6 x 6 array of PMUT (Piezoelectric micromachined ultrasonic transducers) is considered. Below is an image of the model geometry.

6 x 6 PMUT array model

 

Simulation setup guide

Step 0 - Define shared expressions

In this example, it is useful to first define some shared expressions. These shared expressions will be used to create the geometry. In addition, the user can later edit the shared expressions to try out different array sizes, for example.

Start out in the Properties section by defining the following shared expressions:

NameExpressionDescription
freq1e6Frequency
R100e-6Cavity radius
thpiezo2e-6Piezo thickness
thcavity20e-6Cavity thickness
thmem10e-6Membrane thickness
n6Array size (even numbers only)
Rair5 * R * nAir bubble radius

 

Step 1 - Create the geometry

In the Model section, create the model geometry by creating geometry components as detailed below. Create the components in the same order as listed.

  1. First, create a disc-shaped PMUT volume by creating 3 cylinders:
NameComponent typeGeometric variableValue
MembraneCylinderCenter point(0, 0, 0)
RadiusR
Heightthmem
Rotation(90, 0, 0)
NameComponent typeGeometric variableValue
PiezoCylinderCenter point(0, 0, thmem/2+thpiezo/2)
Radius0.67 * R
Heightthpiezo
Rotation(90, 0, 0)
NameComponent typeGeometric variableValue
CavityCylinderCenter point(0, 0, -thcavity/2-thmem/2)
RadiusR
Heightthcavity
Rotation(90, 0, 0)

 

  1. Then, use the Translation component 3 times to form a 6 x 6 grid of PMUT volumes:
NameComponent typeTarget volumesTranslation
translateTranslation1, 4, 7x: -4 * R * (n-1) / 2
y: -4 * R * (n-1) / 2
z: 0
NameComponent typeTarget volumesTranslationCopyRepeat count
translate 2Translation8, 9, 10x: 4 * RYesn-1
y: 0
z: 0
NameComponent typeTarget volumesTranslationCopyRepeat count
translate 3Translationall volumes 8 - 25x: 0Yesn-1
y: 4 * R
z: 0

At this point, you should have a 6 x 6 grid like in the image below:

6 x 6 grid of volumes

 

  1. Continue building the model by creating the following components:
NameComponent typeGeometric variableValue
sphereSphereCenter point(0, 0, 0)
RadiusRair
NameComponent typeGeometric variableValue
boxBoxCenter point(0, 0, Rair+thmem/2)
Size(2 * Rair, 2 * Rair, 2 * Rair)
Rotation(0, 0, 0)
NameComponent typeGeometric variableValue
box 2BoxCenter point(0, 0, Rair-thmem/2-thcavity)
Size(2 * Rair, 2 * Rair, 2 * Rair)
Rotation(0, 0, 0)

 

  1. Then, apply the fragment all operation. At this point, the model should look like in the image below (in translucent mode): Fragmented model

 

  1. Finally, apply the remove operation in two steps to remove extra volumes. First, remove the bottom half of the sphere, as well the box and the thin box layer on top of it. Remove target 1 Then, remove the extra box section along the outer egde of the circular baseplate, as well as the cavity discs under each PMUT. Remove target 2

Now, your model is finished.

 

Step 2 - Define the materials

Proceed to the Properties section to define the model materials.

Pick the Air material from the materials database and assign it to the air bubble volume. Save the target as a shared region.

Next, pick the PZT material from the materials database. As the target, select all of the small top discs of the PMUTs. Save the target as a shared region. PZT target

Finally, pick the Monocrystalline silicon material from the materials database. As the target, select all the leftover volumes, i.e. the membranes of all PMUTs as well as the large circular baseplate. Save the target as a shared region.

Now, your model materials are defined.

 

Step 3 - Define the physics

Proceed to the Physics section to define the physics.

For PMUT simulations, Elastic waves, Acoustic waves and Electrostatics physics are required.

Step 3 has some outdated notation. Also tags might be wrong.

  1. Under Elastic waves, add Clamp and Piezoelectricity.
  • As elastic waves target, set all volumes except the air bubble.
  • As clamp target, set the baseplate (volume 117).
  • As piezoelectricity target, select the shared region PZT target.
  1. Under Acoustic waves, add Perfectly matched layer and Acoustic structure.
  • As acoustic waves target, set the air bubble (volume 116).
  • As perfectly matched layer target, set the air bubble surface (surface 655).
  1. Under Electrostatics, add Constraint and Lump V/Q.
  • As electrostatics target, select the shared region PZT target.
  • As constraint target, set a specific inner surface of each PMUT. The desired target surface tags are in the image below: Constraint target
  • Set the constraint value to 0.
  • As lump V/Q target, set the top surface of the PZT disc of each PMUT. Lump settings
  • Set the lump V/Q voltage to sin(2*pi*freq*t).

Now, your simulation physics are defined.

 

Step 4 - Set up the mesh

Proceed to the Simulations section to set up the mesh:

  • Create a new mesh with Mesh quality set to Expert settings.
  • Set Max size to 1e-4.
  • Click Apply & mesh.

 

Step 5 - Simulate

In the Simulations section, create a new simulation with the following options:

  • Set Analysis type to Harmonic.
  • Set Fundamental frequenzy to freq (shared expression).
  • Set Number of FFt samples to 3.
  • Set Node count to 10.
  • Set Node type to 1 CPU, 16 GB.
  • As the Mesh, select the mesh you created.
  • To Input, add freq sweep.
    • Set Override expression to linspace(0.7e6, 0.9e6, 41).
  • To Output, add:
    • u harmonic 2 field
      • Skin only
    • p harmonic 2 field
      • Skin only
    • P above custom value output.
      • Output expression: probe(reg.p_above, sqrt(pow(harm(2, p), 2) + pow(harm(3, p), 2)))
      • Here reg.p_above refers to a shared region point with tag 438 and name P above.

Run the simulation by clicking Not Run.

 

Step 6 - Visualize

In the Simulations section, add visualizations and plots as needed. A visualization example is in the image below.

Visualization example