This is a modelling guide to help you get started simulating Piezoelectric Micromachined Ultrasonic Transducers (PMUTs) in OnScale. In this initial example you will be shown how to get the membrane displacement a basic 2D PMUT model created using the symbol language.
It is useful to use parametric simulation when designing PMUTs because the structure of the device effects many performance aspects. Doing so allows designers to optimise their design for key performance characteristics.
In this design study, we simulate a 2D PMUT to analyse the effect of AlN thickness and Substrate thickness on the maximum membrane displacement.
What is symbol?: Check out these articles to get more familiar with OnScale's scripting language symbol.
A 2D Axi-symmetric PMUT with water load. The PMUT consists of a thin Aluminium Nitride (AlN) diaphragm sandwiched between two Molybdenum electrodes formed on a Silicon substrate.
Download and Open the Model
OnScale Input Files have the file extension *.flxinp. To open the downloaded file:
- Open OnScale
- Select Analyst Mode
- Select the Menu button in the top left of the application
- Select Open
Preview model is used to view the geometry dimensions and material assignment of a model to ensure the script is correct. To preview a model, select the Preview Model icon in the Home tab of the application ribbon.
Note: Preview model will display data from any grph commands that come before the prcs command. If you have more than one grph command, you can cycle through the graphics by continuously selecting Preview Model. To close the preview, select Stop Preview.
Run Model on Cloud
To run the model on the cloud, select the Run on Cloud button in the Home tab of the application and follow these steps:
- Set End Value of piezo_thk to 2e-6
- Set number of Simulations of piezo_thk to 10
- Set End Value of subs_rad to 2.3e-5
- Set number of Simulations of subs_rad to 10
- Select Estimate
- Select Run
- From the Home tab, select the Storage icon
- Select the Refresh icon to refresh storage
- Select the Job Name from the dropdown menu
- Select the Download button
- Select Download All
Choose a directory to download the results to. These results will be stored in the folder: PMUT_2D-YYYYMMDD-HHMMSS\ where YYYYMMDD-HHMMSS is the current date and time and X is the Simulation number.
Switch to Post Processor
Post Processor is a suite of tools used to visualise and analyse output data generated from OnScale simulations. Switch to Post Post Processor.
What kind of analysis can I do in Post Processor? Find out here.
To plot the Y-displacement at the central surface of the membrane in some simulations, follow these steps:
- In File Explorer, navigate to the download directory, expand folder Simulation 10 and double click the file 'PMUT_2D.flxhst' to open it
- Repeat Step 1 for files in Simulation 20, 30 and 40
- In the Home tab, select Configure Viewport > 2_1
- Select top viewport by left clicking inside window
- In Results Manager, double click the first displacement curve ydsp to plot it and from the Home tab select FFT Record
- Repeat Step 5 for the second, third and fourth curves
- In top viewport, click on plot legend and name the curves
- piezo_thk=100 nm
- piezo_thk = 111 nm
- piezo_thk = 122 nm
- piezo_thk = 133 nm
- Select bottom viewport by left clicking inside window
- In Results Manager, double click on the first ydsp.ma to plot the frequency domain y-displacement magnitude data
- Repeat Step 9 for second, third and fourth data curves
- Repeat Step 7 for bottom viewport
Dealing with large data-sets is really simple using code based processing packages such as MATLAB. To analyse the maximum membrane displacement for every design we have created a MATLAB script.
- Navigate to the directory which the MATLAB Files where downloaded to
- Right click the MATLAB Files folder and select Extract All > Extract
- Open the MATLAB Files folder and copy the contents into the PMUT_2D-YYYYMMDD-HHMMSS directory where all of the simulation folders are
- Open MaxDisp.m in MATLAB
- Select Run
Note: If you don't have MATLAB, similar results can be displayed using Octave, Python etc.
Simulate a Full 3D PMUT