Skip to content

SAW 001 - Unit cell

Surface Acoustic Wave (SAW) devices play a crucial role in modern electronic systems, serving in applications ranging from wireless communication and sensing to signal processing and filters. Understanding and optimizing the performance of SAW devices requires comprehensive simulation techniques that accurately model their complex behavior under varying conditions.

Full-scale SAW device simulations can be computationally expensive, however. In this example, we demonstrate a streamlined approach using a unit cell of a single-port SAW filter. This simplified model, comprising a pair of aluminum electrodes (grey) on a Lithium Niobate (green) piezoelectric substrate, allows for rapid analysis of device performance while still capturing the essential physics.

Demo project: SAW unit cell

Model geometry

The model is set up to simulate a Y-cut, which can be rotated to the desired angle. The base design generates an shear horizontal (SH) mode at 852 MHz using a finger pitch of 1 μm.

Simulation setup guide

Here you’ll find a simplified, example case level guide for setting up a SAW unit cell simulation.

Step 1 - Define shared expressions

In the Properties section, define the following shared expressions:

NameDescriptionExpression
widthCell width [m]4e-6
thicknessCell thickness [m]1e-7
elec_heightElectrode height [m]2e-7
subs_heightSubstrate height [m]12e-6
freqFrequency [Hz]8.7e8

Also define the following Function type shared expressions:

NameDescriptionArgumentsExpression
ZrealReal part of the impedanceIr, Iim, Vr, Vim(Vr*Ir+Vim*Iim)/(Ir*Ir+Iim*Iim)
ZimImaginary part of the impedanceIr, Iim, Vr, Vim(Vim*Ir-Vr*Iim)/(Ir*Ir+Iim*Iim)
ZmagnitudeImpedance magnitudeIr, Iim, Vr, Vimsqrt(Zreal(Ir,Iim,Vr,Vim)*Zreal(Ir,Iim,Vr,Vim)+Zim(Ir,Iim,Vr,Vim)*Zim(Ir,Iim,Vr,Vim))

Step 2 - Create the geometry

In the Model section, create the model geometry by building three boxes:

NameElement typeCenter point (m)Size (m)Rotation (deg)
substrateBoxX: 0X: widthX: 0
Y: 0Y: thicknessY: 0
Z: -subs_height/2Z: subs_heightZ: 0
NameElement typeCenter point (m)Size (m)Rotation (deg)
electrode 1BoxX: -width/4X: width/4X: 0
Y: 0Y: thicknessY: 0
Z: elec_height/2Z: elec_heightZ: 0
NameElement typeCenter point (m)Size (m)Rotation (deg)
electrode 2BoxX: width/4X: width/4X: 0
Y: 0Y: thicknessY: 0
Z: elec_height/2Z: elec_heightZ: 0

Your model geometry is now finished, and should look like in the image below:

Model geometry

Step 3 - Define the materials

Go to the Properties section to define the model materials.

Material 1 - Aluminium

Assign Aluminium to the pair of small electrode volumes on top of the substrate (13, 25).

Material 2 - Lithium Niobate

Create a new material with these general settings:

NameAbbreviationDescriptionColorTarget
LiNbO3linbo3Lithium NiobategreenSubstrate volume (1)

Apply the settings to save your work on Lithium Niobate so far.

Then, define the LiNbO3 material properties:

  • Density
    • 4647
  • Elasticity matrix
    • ☑️ Anisotropic
    • [2.424e11, 0.752e11, 0.752e11, 0, 0, 0; 0.752e11, 2.03e11, 0.573e11, 0, 0.085e11, 0; 0.752e11, 0.573e11, 2.03e11, 0, -0.085e11, 0; 0, 0, 0, 0.752e11, 0, 0.085e11; 0, 0.085e11, -0.085e11, 0, 0.595e11, 0; 0, 0, 0, 0.085e11, 0, 0.595e11]
  • Electric permittivity
    • ☑️ Anisotropic
    • [28.7 * epsilon0, 0, 0; 0, 85.2 * epsilon0, 0; 0, 0, 85.2 * epsilon0]
  • Piezoelectric coupling matrix
    • ☑️ Anisotropic
    • [1.33, 0, 0; 0.23, 0, -2.5; 0.23, 0, 2.5; 0, -2.5, 0; 0, 0, 3.7; 0, 3.7, 0]

All of your model materials are now defined.

Step 4 - Define the physics

Go to the Physics section to define the physics. First add the Solid mechanics and Electrostatics physics, and then move on to defining their interactions.

Physics 1 - Solid mechanics

  • Let solid mechanics target default to the whole geometry.

  • Add Clamp:

    NameInteraction typeTarget
    ClampClampbottom surface of the substrate volume (23)
  • Add Periodicity:

    • As Target 1, select the left side surface of the substrate volume in the negative X-direction (surface 19).
    • As Target 2, select the right side surface of the substrate volume in the positive X-direction (surface 20).
    • In Parameters:
      • Set Type to Translation.
      • Set Translation direction [X; Y; Z] to [1; 0; 0].
      • Set Translation distance to width.

    Example image

  • Add Plain strain:

    NameInteraction typeTargetValue
    Plain strainConstraintAll volumes (1, 13, 25)[0, 0; 1, 0; 0, 0]

Physics 2 - Electrostatics

  • Let electrostatics target default to the whole geometry.

  • Add Lump V/Q.

    • As lump V/Q target, select all surfaces on the left side (negative X-side) electrode (surfaces 7 - 12).
    • Set Actuation mode to Voltage.
    • Set Voltage to wavelet(freq, 1.0).
  • Add Periodicity, same as in Solid mechanics:

    • As Target 1, select the left side surface of the substrate volume (surface 19).
    • As Target 2, select the right side surface of the substrate volume (surface 20).
    • In Parameters:
      • Set Type as Translation.
      • Set Translation direction [X; Y; Z] to [1; 0; 0].
      • Set Translation distance as width.

    Example image

  • Add Constraint, and name it as Ground.

    • As Target, select the right side (positive X-side) electrode volume (25).
    • Set constraint value to 0.
  • Add Piezoelectricity to couple electrostatics with Solid mechanics.

    • As Target, select the substrate volume (1).

Your physics are now defined.

Step 5 - Generate the mesh

Go to the Simulations section and create a new mesh:

  • Set Mesh quality to Expert settings.
  • Set Used mesher to Basic.
  • Set Max size to thickness*2.

Apply settings and mesh. Check the preview:

Mesh

Step 6 - Simulate

In the Simulations section, create 2 simulations.

Simulation 1 - Transient

Simulation settings:

  1. Set Analysis type to Transient.

  2. Select timestepping settings as below:

    Timestep algorithmStart time [s]End time [s]Timestep size [s]
    Generalized alpha0100/freq0.05/freq
  3. Set Solver mode to Direct solver.

  4. As Mesh, select the mesh you created.

  5. Add Outputs:

    NameOutput typeExpression
    VoltageCustom value outputlump.V
    ChargeCustom value outputlump.Q
    CurrentCustom value outputdt(lump.Q)

Simulation 2 - Harmonic

Simulation settings:

  1. Set Analysis type to Harmonic.

  2. Set Fundamental frequency to freq.

  3. Set Solver mode to Direct solver.

  4. As Mesh, select the mesh you created.

  5. Add Inputs:

    NameInput typeExpression
    freq sweepSweep over shared expression freqlinspace(8.3e8, 8.6e8, 50)
  6. Add Outputs:

    NameOutput typeExpression
    impedance magnitudeCustom value outputZmagnitude(getharmonic(2,dt(lump.Q)),getharmonic(3,dt(lump.Q)), getharmonic(2,lump.V), getharmonic(3,lump.V))*thickness

Run your simulations.

Step 7 - Plot results

In the Simulations section, add plots to see value output results. Some examples are given below.

Results 1 - Transient

Example plot

Example plot

Example plot

Results 2 - Harmonic

Example plot