Skip to content

Example 2: Mono-element Pressure Fields

Computes and plots the monochromatic (CW) pressure field for all four circular transducer types: flat piston, concave bowl, cylindrical focus, and convex dome.

What you will learn

  • Creating mono-element (single-element) circular transducers
  • Running a CW simulation with Emission(monochromatic=True)
  • Visualising XZ pressure planes with plot2D_pressure_slices

Transducers covered

Type Geometry
FlatCircularTransducer Flat piston disc (D = 25 mm)
ConcaveCircularTransducer Spherical bowl (D = 40 mm, R = 60 mm)
FocusedCircularTransducer Cylindrical line-focus (D = 20 mm, R = 40 mm)
ConvexCircularTransducer Convex dome (D = 20 mm, hemisphere (focus_mm=0))

Output

FlatCircularTransducer pressure field ConcaveCircularTransducer pressure field FocusedCircularTransducer pressure field ConvexCircularTransducer pressure field

Run it

uv run examples/example02_monoelements_monochromatic_CW.py

Key code

from esdiva.emission import Emission
from esdiva.transducers import ConcaveCircularTransducer
from esdiva.plotting import plot2D_pressure_slices

bowl = ConcaveCircularTransducer(
    diameter_mm=40.0,
    focus_mm=60.0,  # focal length = radius of curvature
    no_sub_diameter=30,
    frequency_Hz=1e6,
)

sim = Emission(bowl, c=1540.0, fs=100e6, monochromatic=True)
p, coords = sim(xz_grid, method="auto")
plot2D_pressure_slices(p / p.max(), coords=coords)

View full script on GitHub