Elastic waves
This page describes the available interactions and couplings for elastic wave propagation in Allsolve. Use Elastic waves for harmonic or transient wave problems β ultrasound transducers, acoustic-structure coupling, and time-domain impulse response. For static deformation, contact, or large-deformation analysis, use Solid mechanics instead.
Weak formulation
Section titled βWeak formulationβThe weak form solved by Allsolve is
where is the displacement field, the stress tensor, the strain tensor, the traction vector, the body force, and the mass density. The inertia term makes this formulation suitable for time-dependent wave analysis.
See Formulation derivation for the full strong-to-weak derivation.
Elastic waves vs solid mechanics
Section titled βElastic waves vs solid mechanicsβBoth physics use the displacement field , but they target different analysis types.
| Topic | Elastic waves | Solid mechanics |
|---|---|---|
| Primary use | Dynamic wave propagation (harmonic / transient) | Static, quasi-static, large-deformation |
| Analysis types | Harmonic, Transient, Eigenmode β not Static or Multiharmonic | Static, Harmonic, Multiharmonic, Transient, Eigenmode |
| Strain model | Linear small-strain only | Linear or GreenβLagrange (with geometric nonlinearity) |
| Wave-specific interactions | Absorbing boundary, PML, Continuity, Viscous damping, Viscoelastic material model | β |
| Structural-only interactions | β | Prestress, Geometric nonlinearity, Contact |
| Structural-only couplings | β | Magnetic force, Large displacement (mesh deformation) |
| Shared interactions | Load, Constraint, Clamp, Lump U/F, Pressure, Periodicity, Symmetry, Proportional damping | (same) |
| Shared couplings | Piezoelectricity, Thermal expansion, Electric force | (same) |
Choose Elastic waves when you need to capture wave propagation, frequency response, or transient impulse behaviour. Choose Solid mechanics when deformation, stress, contact, or geometric nonlinearity is the primary concern.
Setting up Elastic waves
Section titled βSetting up Elastic wavesβAdd Elastic waves to a physics set and assign a target region β the volumes where the wave equation is solved. The primary field is the displacement field (). Set the interpolation order to control the polynomial degree of the finite-element basis (order 2 is typical for wave problems).

Interactions
Section titled βInteractionsβ
Applies an external mechanical load to a selected region by prescribing a force vector , exciting the elastic domain and generating propagating waves.
Constraint
Section titled βConstraintβFixes displacement components of the displacement field . Use this interaction to fix displacements at a node, boundary, or within a region. Use Clamp to fix displacement values to zero.
| How to use | You can use either the matrix editor or the expression editor. Matrix editor is the default β enable a dimension to constrain and enter the displacement value. With the expression editor, provide a 3Γ2 matrix with the first column containing 1 or 0 (whether a constraint is applied in that dimension or not), and the second column containing the displacement values. |
| Example | expression editor: [0, 0; 1, 42; 0, 0] applies a 3D displacement constraint of in the y-direction, while the other dimensions remain unconstrained. |
| Unit | Displacement values in meters (m) |
Clamp is a special case of a Constraint where the displacement is fixed to zero. This boundary condition constrains all components of the displacement vector in the targeted region to zero:
Lump U/F
Section titled βLump U/FβApplies a lumped displacement or force through a boundary loop, replacing detailed field distribution with an equivalent lumped value. Commonly used to drive transducers with a prescribed voltage-derived displacement or a point force excitation.
| How to use | Specify the target curve (must be a connected loop). From Actuation mode, select either displacement, force or circuit coupling. Use the matrix editor or the expression editor to define values: provide a 3Γ2 matrix for a 3D problem (2Γ2 for 2D, etc.), where the first column contains 1 or 0 (whether a constraint is applied or not) and the second column contains the values. |
| Example | [0, 0; 1, 0.01; 0, 0] applies a 3D lumped displacement of in the y-direction, while the other dimensions remain unconstrained. |
| Unit | Displacement values in meters (m) or force in Newtons (N) |
Pressure
Section titled βPressureβApplies a scalar pressure load normal to a boundary surface. Positive pressure acts inward (compression), negative pressure acts outward (tension). Unlike a general Load which requires specifying a force vector, Pressure only needs a scalar value β the direction is determined automatically from the surface normal.
| How to use | Select the target boundary (surface for 3D, curve for 2D). Provide a scalar pressure value. Positive values push into the solid, negative values pull outward. |
| Example | 1e6 applies 1 MPa of compressive pressure to the selected surface. |
| Unit | Pressure in Pascals (Pa) |
Periodicity
Section titled βPeriodicityβImposes periodic boundary conditions for the displacement field . Reduces computational domain size for problems with translational symmetry, such as unit-cell models of periodic arrays.
| Example | Periodicity follows the same principles, regardless of which physics module it belongs to. See how periodicity is used in magnetism as a reference: Periodicity in electric motors |
Symmetry
Section titled βSymmetryβImposes a symmetry boundary condition on a plane, constraining the normal displacement component to zero () while leaving tangential displacements free. Use this to model only a fraction of a symmetric structure (where both geometry and loads are symmetric about the cut plane), reducing computational cost.
| How to use | Select the boundary that represents the symmetry plane. |
| Example | Cutting a beam with a centered load along its midplane and applying Symmetry to the cut face halves the number of degrees of freedom while producing the same result as the full model. |
Proportional damping
Section titled βProportional dampingβApplies Rayleigh damping to the structure, where the damping matrix is a linear combination of the mass and stiffness matrices: . The mass-proportional coefficient damps low-frequency modes, while the stiffness-proportional coefficient damps high-frequency modes.
| How to use | Provide the mass damping coefficient and the stiffness damping coefficient . These can be determined from known damping ratios at two reference frequencies. |
| Example | and applies Rayleigh damping tuned to a target damping ratio across the frequency range of interest. |
| Unit | in 1/s, in s |
Perfectly matched layer
Section titled βPerfectly matched layerβImplements an absorbing boundary region to simulate an infinite elastic domain and prevent reflections from truncated boundaries. Place PML at the outer boundary of the elastic domain where outgoing waves should exit without reflection.
Two types are available:
- AML type β suitable for smooth or curved boundaries.
- Box PML β suitable for rectangular or cornered boundaries.
The number of PML layers can be tuned in the Shared PML settings.
Absorbing boundary
Section titled βAbsorbing boundaryβApplies a first-order absorbing boundary condition to truncate the computational domain, allowing outgoing elastic waves to pass through with minimal reflection. Lighter-weight than a Perfectly matched layer β suitable when a simpler setup is acceptable and some small residual reflection is tolerable.
| How to use | Select the outer boundary of the elastic domain where waves should exit. No additional parameters are needed β the condition automatically matches the mechanical impedance of the medium. |
Continuity
Section titled βContinuityβEnsures continuity of the displacement field across an interface between two boundaries. Used to map the elastic field continuously across mismatched or sliding mesh interfaces.
| Example | Continuity follows the same principles, regardless of which physics module it belongs to. See how continuity is used in magnetism as a reference: Continuity in electric motors |
Viscous damping
Section titled βViscous dampingβApplies viscous damping within a region, modelling energy dissipation as elastic waves propagate. Use this to represent material damping or attenuation in the bulk domain.
| How to use | Select the target region and set the damping coefficient. |
Viscoelastic material model
Section titled βViscoelastic material modelβEnables viscoelastic behaviour in a region by activating the Prony series defined on the material. Use this for time-dependent relaxation and creep in polymers, adhesives, or other viscoelastic solids.
| How to use | Select the target region where the viscoelastic material is assigned. Define the Prony series on the material (relaxation times and moduli). |
| Example | MEMS 003 β Viscoelasticity benchmark |
Couplings to Other Physics
Section titled βCouplings to Other PhysicsβElastic waves supports the following couplings:
- Piezoelectricity
- Couples to Electrostatics
- Select target region of piezoelectric material such as PZT as target
- Thermal expansion
- Heat solid
- Heat fluid
- Electric force
- Current flow
- Electromagnetic waves
- Electrostatics
- Magnetism H
To couple an elastic solid to a fluid acoustic domain, add the Acoustic structure coupling from the Acoustic waves physics.
Compatibilities with analysis types
Section titled βCompatibilities with analysis typesβElastic waves supports Harmonic, Transient, and Eigenmode analysis. Static analysis is not applicable. Multiharmonic analysis is not supported.
See the full compatibility table in Simulations overview.
Use cases
Section titled βUse casesβ- Elastic waves β PMUT array (piezoelectricity + acoustic structure)
- Elastic waves β Piezocomposite transducer (transient wavelet excitation)
- Elastic waves β Viscoelasticity benchmark (viscoelastic material model)
Formulation derivation
Section titled βFormulation derivationβElastic waves uses the same Cauchy momentum equation as solid mechanics, but always with the linear small-displacement strain tensor and the inertia term retained for time-dependent analysis.
Strong formulation
Section titled βStrong formulationβThe strong form of deformable solids is given by the Cauchy momentum equation
where
- is the stress tensor
- is the volumetric body force vector
- is the mass density
- is the displacement field vector
- is the acceleration vector
Constitutive equation
Section titled βConstitutive equationβGeneralized Hookeβs law defines the relation between the stress and strain components
where is a fourth-order elasticity tensor and is the strain tensor.
Strain tensor
Section titled βStrain tensorβElastic waves uses the linear small-displacement strain tensor:
Voigt notation
Section titled βVoigt notationβIn Voigt notation, the stress and strain tensors are represented as vectors. Consequently, the constitutive relation takes the form
where is the elasticity matrix which is a symmetric matrix.
Deriving the weak form
Section titled βDeriving the weak formβTo obtain the weak form, multiply by the test function and integrate over the domain :
Applying Leibniz rule on the divergence term, we get
Applying Divergence theorem on the divergence term, we get
Since the stress tensor is symmetric, the following relation holds.
Substituting and following the definition of traction vector , we get the final weak formulation stated at the top of this page.