HB 003 - MEMS Microspeaker
Electrostatically actuated silicon-based microspeakers are an emerging technology due to their obvious advantages, providing better sound quality over a wide range of frequencies 1 2.
In this example, harmonic balance is considered for a MEMS microspeaker. The example corresponds with the demo project mems-microspeakers-webinar, the results of which were covered in a Quanscient webinar 3.
Simulation setup guide
Below, you’ll find a simplified guide for setting this up in Quanscient Allsolve.
Step 0 - Define shared expressions
Start out in the Properties
section by defining the following shared expressions:
Name | Description | Expression |
---|---|---|
L | Length [m] | 1000e-6 |
W | Width [m] | 75e-6 |
T | Thickness [m] | 3e-6 |
g0 | Initial gap [m] | 10e-6 |
freq | Frequency [Hz] | 100 |
Voltage | Voltage [V] | 30 |
Â
Step 1 - Create the geometry
In the Model
section, create the model geometry by creating Box elements as follows.
-
Create the first box:
Name Element type Center point (m) Size (m) Rotation (deg) box Box X: 0
X: L
X: 0
Y: 0
Y: T
Y: 0
Z: 0
Z: W
Z: 0
-
Create the second box by copying the first one, and editing the
Center point Y
andSize Y
parameters:Name Element type Center point (m) Size (m) Rotation (deg) box 2 Box X: 0
X: L
X: 0
Y: T/2 + g0/2
Y: g0
Y: 0
Z: 0
Z: W
Z: 0
-
Create the third box by copying the second one, and editing the
Center point Y
andSize Y
parameters again:Name Element type Center point (m) Size (m) Rotation (deg) box 2 Box X: 0
X: L
X: 0
Y: -T/2 - g0*1.5*
Y: 3*g0
Y: 0
Z: 0
Z: W
Z: 0
Now, your model geometry is finished, and should look like in the image below.
Â
Step 2 - Define the materials
Proceed to the Properties
section to define the model materials.
In this example, the Air and Monocrystalline silicon materials are used.
Air
First, pick the Air
material from the material library and assign it to the 2 outer boxes (volumes 13, 25
). Save the target as a shared region.
Monocrystalline silicon
Then, pick the Monocrystalline silicon
material from the material library and assign it to the intermediary box (volume 1
). 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.
In this example, the Solid mechanics, Electrostatics, Laminar flow and Mesh deformation physics are required.
Solid mechanics
- As solid mechanics target, select the
Monocrystalline silicon
region (volume1
). - Add
Clamp
.- As Target, select the outer edge surfaces of the silicon volume along the X axis (surfaces
1, 2
).
- As Target, select the outer edge surfaces of the silicon volume along the X axis (surfaces
- Add the Solid mechanics - Mesh deformation coupling
Large displacement
. - Add the Solid mechanics - Electrostatics coupling
Electric force
.
Electrostatics
- Let electrostatics target default to the whole geometry.
- Add
Constraint
.- As Target, select the silicon region (volume
1
). - Set Constraint value to
Voltage*sin(2*pi*0.5*freq*t)
.
- As Target, select the silicon region (volume
- Add
Constraint 2
.- As Target, select the air box surface
9
. - Set Constraint value to
0
.
- As Target, select the air box surface
- Add the Electrostatics - Mesh deformation coupling
Large displacement
.
Laminar flow
- As laminar flow target, select the air region (volumes
13, 25
). - Add
Velocity constraint
and name it asnoslip
.- As Target, select surfaces
7 - 10, 12, 13, 15, 16
. - Set Constraint value to
[1, 0; 1, 0; 1, 0]
.
- As Target, select surfaces
- Add
Pressure constraint
.- As Target, select surfaces
11, 14
. - Set Constraint value to
0
.
- As Target, select surfaces
- Add the Laminar flow - Solid mechanics coupling
Fluid structure
.- As Target, select the silicon and air interface surfaces
3, 4
.
- As Target, select the silicon and air interface surfaces
- Add the Laminar flow - Mesh deformation coupling
Large displacement
.
Mesh deformation
- Let mesh deformation target default to the whole geometry.
- Add
Constraint
.- As Target, select the silicon region (volume
1
). - Set Constraint value to
[1, compx(u); 1, compy(u); 1, compz(u)]
.
- As Target, select the silicon region (volume
- Add
Constraint 2
.- As Target, select surfaces
7 - 9, 12 - 14
. - Set Constraint value to
[1, 0; 1, 0; 1, 0]
.
- As Target, select surfaces
Now, your physics, as well as their interactions and couplings are defined. Before moving on, check that your physics tree looks like in the image below.
Â
Step 4 - Generate the mesh
Proceed to the Simulations
section and create a new mesh using structured meshing:
- Set Mesh quality to
Expert settings
. - Under Structured meshing, click
Add structured entity
and thenVolume
3 times in total. - As structured entity targets, select volumes
1
,13
and25
, respectively. - Click
Apply
to save your work so far. - Set the segment counts A, B and C for the first structured entity as
5
,3
and10
, respectively. At this point, Allsolve will give you warnings about different segment length ratios and multiple definitions for curves, but you needn’t worry about them. - Set the segment counts A, B and C for the second structured entity as
5
,5
and10
, respectively. - Set the segment counts A, B and C for the third structured entity as
5
,5
and10
, respectively. - Click
Apply & mesh
.
Now, your mesh is finished, and should look like in the image below.
Â
Step 5 - Simulate
In the Simulations
section, create a new simulation:
- In Simulation settings:
- Set Analysis type to
Multiharmonic
. - Set Fundamental frequency to
freq
. - Set Harmonics to
1 2 3 4 5 6 7 8 9
. - Set Number of FFT samples to
20
. - Set Node count to
10
. - Set Node type to
1 CPU, 16 GB
. - Click
Apply
to save your work so far.
- Set Analysis type to
- In Mesh, select the mesh you created.
- In Inputs:
- Add
freq sweep
.- Set Override expression to
linspace(20, 20000, 20)
.
- Set Override expression to
- Add
Voltage sweep
.- Set Override expression to
linspace(1, 20, 20)
.
- Set Override expression to
- Add
- Add Outputs to your liking.
Adding a custom output with scripting (optional)
Once you have defined all the options, inputs and outputs for your simulation in the GUI, you can add an additional custom output with scripting:
-
Enable scripting mode.
-
Add the snippet of code given below at the end of your
simulation.py
file.
Run your simulation by clicking Not Run
.
Â
Step 6 - Plot & visualize
In the Simulations
section, add plots to see value output results, or visualizations to see field output results.
One visualization example is given below, generated with the following options:
- Field output:
- Displacement field
u harmonic 1
- Out of sweep subsimulations 0 - 19,
Simulation 0
was used
- Displacement field
- Color preset:
- Cool to warm
- Warp:
- Scale factor
500000
- Scale factor
Â
Results
Below are a few examples of simulation results post-processed as animations.
Â
Â
Â
Â
References
Footnotes
-
Kaiser, B. et al. Concept and proof for an all-silicon MEMS micro speaker utilizing air chambers. Microsyst Nanoeng 5, 43 (2019). https://doi.org/10.1038/s41378-019-0095-9. ↩
-
Melnikov, A., Schenk, H.A.G., Monsalve, J.M. et al. Coulomb-actuated microbeams revisited: experimental and numerical modal decomposition of the saddle-node bifurcation. Microsyst Nanoeng 7, 41 (2021). https://doi.org/10.1038/s41378-021-00265-y ↩
-
Dr. Andrew Tweedie, Dr. Abhishek Deshmukh, Jukka Knuutinen. Faster and more reliable MEMS design with cloud-based multiphysics simulations. Quanscient webinars (2024). https://quanscient.com/events/mems-webinar-06-24/register ↩