Skip to content

MUTs 002 - Piezocomposite transducer

Prerequisites: complete any one step-by-step tutorial first so you are comfortable with the Allsolve project layout (Geometry, Physics, Simulations, Results).

In this example, a piezocomposite ultrasound transducer is simulated. Their main application is in medicine, where they are used for ultrasound imaging and medical therapeutics. Other applications include sonar and non-destructive testing.

The model captures a single element of a 1-3 piezocomposite linear array. The piezocomposite combines a soft PZT with an epoxy filler with a 40% volume fraction. The piezocomposite sits on a backing layer, and utilizes a 1/4 wavelength matching layer for better coupling into the water load. The centre element of the array is driven with a short voltage pulse to allow the wideband behaviour, or impulse response, of the device to be captured. Key outputs are:

  • Drive voltage and current
  • Pressure in the load
  • Electrical impedance

Demo project: Piezocomposite demo V1

Example image

Here you’ll find a simplified, example case level guide for setting up a piezocomposite transducer simulation in Quanscient Allsolve.

Start out in the Common sidebar by defining variables.

Name Description Expression
frequency Frequency [Hz] 1.25e6
ncycles Number of cycles 5
npillars Number of pillars 5
thick_comp Composite thickness [m] 1e-3
kerf Cut width [m] 0.15e-3
pitch Distance between cuts [m] 0.4e-3
pillar Pillar width [m] pitch-kerf
width Element width [m] npillars*pitch - kerf

You can import the variables as a CSV file:

Name,Expression,Description
freq,1.25e6,Frequency [Hz]
ncycles,5,Number of cycles
npillars,5,Number of pillars
thick_comp,1e-3,Composite thickness [m]
kerf,0.15e-3,cut width [m]
pitch,0.4e-3,Distance between cuts [m]
pillar,pitch-kerf,pillar width [m]
width,npillars*pitch-kerf,Element width [m]
  1. Start building the model geometry by adding Box elements with Alignment = Corner:

    Name Element type Corner point [m] Size [m] Rotation [deg]
    pzt Box X: 0 X: width X: 0
    Y: 0 Y: width Y: 0
    Z: 0 Z: thick_comp Z: 0
    Name Element type Corner point [m] Size [m] Rotation [deg]
    cut x Box X: 0 X: width X: 0
    Y: pillar Y: kerf Y: 0
    Z: 0 Z: thick_comp Z: 0
    Name Element type Corner point [m] Size [m] Rotation [deg]
    cut y Box X: pillar X: kerf X: 0
    Y: 0 Y: width Y: 0
    Z: 0 Z: thick_comp Z: 0
  2. Use the Translate operation to copy the cuts in X and Y directions:

    Name Element type Target Translation [m] Copy Repeat count
    copy x Translation cut y X: pitch Yes npillars - 2
    Y: 0
    Z: 0
    Name Element type Target Translation [m] Copy Repeat count
    copy y Translation cut x X: 0 Yes npillars - 2
    Y: pitch
    Z: 0
  3. Use the Union operation to merge all the multiplied cuts to a single volume:

    Name Element type Target
    combine polymer Union copy x and copy y assemblies (all cut volumes)
  4. Confirm model changes.

Finished geometry:

Example image

Go to the Physics section to define model materials.

Add PZT from the library and assign it to the piezoelectric pillars:

  1. Go to Target -> Pick with rule -> Select all volumes as target
  2. Remove the epoxy filler volume from the selection by clicking on the model view.
  3. Add the final target with 25 pillars as a region.

Example image

  1. Create a new material for the epoxy filler:

    Material Target
    Epoxy Polymer filler volume
  2. Define material properties for Epoxy:

    Property Value Units
    Density 1134 kg/m3\rm kg/m^3
    Elasticity matrix Poisson’s ratio: 0.37
    Young’s modulus: 3.831e9 Pa\rm Pa
    Electric permittivity 4*epsilon0 F/m\rm F/m
  3. Add the target as a region.

Example image

The Elastic waves and Electrostatics physics are required for this example. Add both of them to your physics set before defining interactions, in order to couple them together.

  • Let elastic waves target default to the whole geometry.
  • Add the Elastic waves - Electrostatics coupling Piezoelectricity.
    • Select the PZT region as target. Example image
  • Let Electrostatics target default to the whole geometry.

  • Add a Constraint interaction which acts as a ground on the bottom surface:

    Interaction Target Constraint value
    Constraint Bottom surface of the whole element 0

    Example image

  • Add a Lump V/Q interaction which drives a voltage on the top surface with wavelet:

    Interaction Target Voltage
    Lump V/Q Top surface of the element wavelet(frequency, 1.2)

    Example image

Go to the Simulations section and create a new mesh:

  1. Add an Autotransfinite mesh customization targetting the PZT region.
  2. Set element max size to 0.1e-3 (100 um) for example.
  3. Run meshing.
  4. Check the preview:

Example image

In the Simulations section, create a new simulation:

  • Set Analysis type to Transient.

  • Select timestepping options:

    Timestep algorithm Start time [s] End time [s] Timestep size [s]
    Generalized alpha 0 ncycles/freq 1/freq/20
  • Select a mesh.

  • Add Outputs:

    Output type Name Output expression Skin only
    Field Displacement field u u Yes
    Custom value Voltage lump.V
    Custom value Current dt(lump.Q)

Your simulation is now ready to run.

In the Simulations section, you can add plots to see value output results and visualizations to see field output results.

  • Voltage:

    Example image

  • Current:

    Example image

  • Displacement field:

    Example image