Primitives: PMUT 3D Tutorial



This tutorial demonstrates how to set up a 3D PMUT using primitives in the Designer Workspace.

This example covers: 

  • Using primitives
  • Primitive model property changes
  • Material Assignment
  • Basic voltage loads and drive functions
  • Circuit creation
  • Meshing
  • Keypoints
  • Boundary conditions 
  • Analysis
  • Model Outputs

Please download the following material file before beginning:

Creating a 3D Project:

Open up designer mode and select New Project, then select the folder you wish to save the project in. Change model working units to um and set the model type to 3D Model.


Click the Project Materials button in the Home tab of the ribbon to add materials to project. Select the red arrow button and choose the option Import User Project Materials From File.


Locate the materials file you downloaded and select this. Six materials will be added to your project materials database


Ensure that the Aluminium Nitride aln is polled in the positive Y direction.

Using Primitives

Primitives can be created via the Primitive Tool or the new Primitives section added to the Home tab.

Click Cylinder to create 3D cylindrical primitive. The cylinder which appears in the graphics window is modified via the parameters in the properties window.

Change the cylinders properties to:

  • Axis: Y
  • Material = si
  • End (um) = 7.4
  • Radius Begin (um) = 32.5
  • Radius End (um) = 32.5 
  • Theta 2 = 180

To reset the graphics view right click in the graphics window and select Reset View. The primitive should now appear in graphics window:


Right click the primitive in the Model Tree and select duplicate primitive. Do this four times so you have five primitives in the Model Tree. Make the following changes to the associated properties:


  • Material = void
  • Begin (um) = 3
  • End (um) = 6
  • Radius Begin (um) = 22.5
  • Radius End (um) = 22.5


  • Material = moly
  • Begin (um) = 6
  • End (um) = 6.2
  • Radius Begin (um) = 22.5
  • Radius End (um) = 22.5


  • Material = aln
  • Begin (um) = 6.2
  • End (um) = 7.2
  • Radius Begin (um) = 22.5
  • Radius End (um) = 22.5


  • Material = moly
  • Begin (um) = 7.2
  • End (um) = 7.4
  • Radius Begin (um) = 22.5
  • Radius End (um) = 22.5

The model should now look similar to the following:


Select Cuboid from the Primitives section in the Home tab of the ribbon. Assign it the following properties:

  • Material = watr
  • X End (um) = 32.5
  • Y Begin (um) = 7.4
  • Y End (um) = 32.5
  • Z Begin (um) = -32.5
  • Z End (um) = 32.5

Project Settings

Go to Project Settings in the Model Tree and change the frequency of interest to 3e7 (user must check the frequency of interest checkbox to specify own value).

Drive Function

To define a drive function go to Setup > Forcing Functions > Time > +

Click '+' to bring up the Define Input Drive Function Window. Set the parameters as shown in the image below:


Click insert to add the time function to the model tree.


To define a drive function go to Setup > Circuits > +

Select the line between nodes three and two and select a resistor form the side menu. Change the value of this resistor to 50 Ohms.


Click insert to create the circuit. The circuit will be added to the model tree.


To change mesh settings go to Model > Mesh

Change the definition type to Defined in Properties window and set the Element Size to 0.27 um.


To add a keypoint go to Model > Mesh> Keypoints > +

Place the following keypoints (All in Y-Axis):

  • Keypoint (um) = 6
  • Keypoint (um) = 6.2
  • Keypoint (um) = 7.2
  • Keypoint (um) = 7.4


To define a new load go to Model Tree > Model > Boundary Conditions > Loads > +. This will bring up the load definition window.

In the Primitives section of the Model Tree hide the following primitives by unchecking the boxes beside them:

  • primitive_1
  • primitive_2
  • primitive_6

The graphical interface now only shows three primitives.

In the load definition window select Geometry Interface for Creation Mode. Set Geometry as primitive_4 (aln) and Interfacing Item as primitive_5(moly) and then Create Load. Repeat these steps to create another load between primitive_4(aln) and primitive_3(moly).

Select load_1 in the Model Tree and change its properties to:

  • Load Type = Voltage
  • Circuit = circuit_1
  • Termination = Ground

Select load_2 in the Model Tree and change its properties to:

  • Load Type = Voltage
  • Circuit = circuit_1
  • Termination = timefunc_1

The load definition should look similar to the following:


Domain Boundaries:

To set boundary conditions follow Model Tree > Model > Boundary Conditions > Domain Boundaries set the following boundaries:

  • XMIN = symmetry
  • XMAX = fixed
  • YMIN = fixed
  • YMAX = absorbing
  • ZMIN = fixed
  • ZMAX = fixed

Simulation Time: 

To set the simulation time follow Model Tree > Model > Analysis > Properties > Simulation Run Time > Enter 1e-8 as the value. Set the Time Factor to 0.95.

Model Outputs:

To add an output to the simulation select Model Tree > Model > Outputs > +

Edit the properties of this output: Model Tree > Model > Outputs > output_1 > Properties

To calculate an output for a mode shape, set: Output Type > Shape Data; Array Type > Acoustic Pressure; Array Component > Y; Frequency > 5e6


This model can now be run on the cloud or locally.  Once the job has finished the results can be downloaded and taken to the post processor for further analysis. 

Demo Video

0 out of 0 found this helpful



Please sign in to leave a comment.