With OnScale, full 3D Piezoelectric Micromachined Ultrasonic Transducer (PMUT) array simulations can be carried out. While single cell results are useful, the ideal workflow would go much further. OnScale’s ability to solve large problems allows engineers to move beyond an initial single cell model and help to consider the effect of full array configurations. Using PMUT’s as an example, designers are now using OnScale to simulate PMUT arrays with the full display stack up, allowing them to assess the impact of manufacturing tolerances on imaging arrays.
So, the question is - how do I build an array in OnScale? This blog post will focus on how to build array models in OnScale’s Designer mode. We will go through the necessary steps in order to build out an array.
OnScale Designer mode allows engineers to quickly go from modelling a simple unit cell model to simulating a full 10x10 array.
In the Designer mode we will use primitives to build our array model. For those of you who aren’t familiar with our tool primitives, they are predefined geometric shapes that can be edited by the user. For users who aren’t familiar with the UI we have a section in our help center that has several tutorials that will get you up to speed with Designer in no time! Check them out by clicking here!
To follow this post, you only need to read up on creating a project, adding materials to the project and adding primitives.
Once you have done this to create a 3D project make sure that the projects working units is in μm and we will start building our array.
All the materials needed to build this array can be found in our material database. We need silicon, copper, aluminium nitride, aluminium and water. Go ahead and add them to your project. To add any material just right click and copy material. We have also provided a material file that you can load into the material database.
Now to start building our array we need to create the following primitives:
- 1 Cuboid
- 5 Cylinders (only create one for now, than we will duplicate the first one once we have edited the dimensions)
That’s all we need to build our array. Having read our beginner tutorials you will know how to create these primitives so don’t worry about the dimension just now. Once they have been created, we will begin by editing the cuboid primitive.
Click the cuboid primitive and change the end values to the following XMax = 50, YMax = 50 and ZMax = 5. Now assign the material silicon(si) to the cuboid.
Click the cylinder primitive and change the following values Begin = 0, End = 2, Center 1 = 25, Center 2 = 25, Radius Begin = 23 and Radius End = 23. Now assign the material void to cylinder. This will overwrite the elements that have already been assigned silicon.
Now that we have one of our cylinders defined, we need to duplicate that primitive 4 times. You should now have 6. All we need to do now is change the properties of each duplication and assign the appropriate material.
Duplicate primitive properties:
- 1 - Begin = 2, End = 3.6, Center 1 = 25, Center 2 = 25, Radius Begin = 23 and Radius End = 23 assign the material si_2
- 2 - Begin = 3.6, End = 3.8, Center 1 = 25, Center 2 = 25, Radius Begin = 23 and Radius End = 23 assign the material copper
- 3 - Begin = 3.8, End = 4.8, Center 1 = 25, Center 2 = 25, Radius Begin = 23 and Radius End = 23 assign the material si_2
- 4 - Begin = 4.8, End = 5, Center 1 = 25, Center 2 = 25, Radius Begin = 23 and Radius End = 23 assign the material alum
With these changes we have now build a single cell PMUT
All we need to do now is pattern this unit cell model out into an array. This is very easy to do!
Select all the primitives in the tree and change pattern type to linear. After that all you need to do is insert a separation distance on the X and Y axis and the number of repetitions you want. We’ll just do a simple 4x4 array but you can choose how big your array should be!
Having done this, all that is left to do is assign boundary conditions and simulate the array on the cloud. We won’t be doing that here though but the output of PMUT array simulations can be fed directly into imaging algorithms to help improve performance.
For designers looking to simulate array structures this methodology can be applied to any model correctly if you keypoint your geometry appropriately.
We recently hosted a joint webinar with Silterra on reducing time to market for fingerprint sensors with cloud simulation, check it out here!
We will also be showing you how to do this in Analyst mode. We will be expanding on the Analyst model a bit more though because we will eventually look to show you how to set up and run an MPI model on the cloud! When we get to this we will run a 20x20 PMUT array!