The cymbal2 model#
Every challenge in this repository is an instance of the model defined here. A challenge fixes the mid-surface profile , the thickness and the output scale ; its README gives those and nothing else changes. The problem is to compute the pressure signal of the output section for seven seconds, during which the cymbal is struck three times, and write it as a wav file.
Geometry#
The cymbal is a thin shell. Its mid-surface is the graph of a function over the annulus
and its thickness is . Both are functions of alone and are given per challenge. The rim and the edge of the hole are free. Below, subscripts , and denote partial derivatives, Greek indices run over , repeated Greek indices are summed, and is the Kronecker delta.
Unknowns and strains#
The unknowns are the displacements , , of the mid-surface point along the , and axes. The membrane strains are those of shallow-shell theory,
and the bending strains are .
Stress resultants#
The material is linearly elastic and isotropic, with Young's modulus , Poisson's ratio and density , and has a Kelvin-Voigt viscosity of time constant . The membrane forces and bending moments per unit length are
with , and .
Equations of motion#
The motion is defined by its weak form. For all test functions and , without constraint on either edge,
where is a loss rate, and are the force and footprint of the $i$th strike of the next section, and , are the variations of the strains at the current state,
Where the solution is smooth this is the strong form
together with the free-edge conditions that the weak form implies at and . The rigid motions of the shell are suppressed. Let be the mass-weighted inner product of displacement fields , and let be the span of the six rigid fields , , , , and . The solution is orthogonal to at all times, for every , and the weak form above is required only for test functions orthogonal to . This is the shell held by an ideal support that fixes its position and orientation and constrains nothing else: the reaction is a body force in , equal to times the rigid acceleration field that balances the net force and moments of the strikes, and the elastic motion is untouched. The shell is at rest at : and .
The strikes#
The cymbal is struck three times by a drum stick, at the times and points of the parameter table: just outside the bell, then at half the radius, then near the rim, two seconds apart. The stick is a point mass that moves along and interacts with the shell through a Hertz contact force. The $i$th strike has the footprint
which lies inside and integrates to one over , and the surface height under it is the footprint average . Let , defined for , be the height of the tip of the $i$th stick. It meets the surface at with relative speed , wherever the motion of the shell has taken that surface,
The penetration is and the contact force is
It acts on the stick upward, , and on the shell downward, as the traction along in the equations of motion. Each stick is otherwise free: there is no gravity and no hand, it stays in the model after its rebound, and contact occurs whenever , including any later contact.
Output#
The output is the acoustic pressure at the listener point given by the Rayleigh integral of the transverse acceleration over the shell,
with taken as zero at negative times. This is the field of a planar source in a rigid baffle; the acoustic problem is not solved, and the air exerts no load on the shell.
Remarks#
The rigid constraint is not a convenience. The shallow-shell strains are not invariant under finite rotations: a shell that has tilted by an angle behaves in this model like a shell of slope , with a membrane-bending coupling that a real rotated plate does not have. Left free, the shell tilts by about a radian within half a second of the first strike, its partials glide and its treble drains into in-plane motion, none of it physical. Holding the six rigid components at zero removes the problem exactly, and the strikes' momentum and angular momentum go into the support.
In the linear regime about the flat state, damps every mode at the rate and damps a mode of angular frequency at the rate .
Parameters common to all challenges#
| Symbol | Value | Unit | Meaning |
|---|---|---|---|
| 0.2032 | m | outer radius (16 in diameter) | |
| 0.006 | m | hole radius | |
| 110e9 | Pa | Young's modulus (B20 bell bronze) | |
| 0.34 | Poisson's ratio | ||
| 8800 | kg/m^3 | density | |
| 1.1 | 1/s | loss rate | |
| 1.2e-8 | s | Kelvin-Voigt time constant | |
| 0.02 | kg | stick tip mass | |
| 10 | m/s | stick speed at contact | |
| 1e9 | N/m^(3/2) | Hertz contact stiffness | |
| 0.005 | m | footprint radius | |
| 0, 2, 4 | s | strike times | |
| 0.07, 0.1016, 0.17272 | m | strike points on the axis: just outside the bell, , | |
| 1.204 | kg/m^3 | air density | |
| 343 | m/s | speed of sound in air | |
| (0.65, 1.125, 0.75) | m | listener point |
All values are exact decimal numbers. The listener is 1.5 m from the origin, 30 degrees above the plane , at an azimuth of 60 degrees from the axis, on which the strike points lie. The strikes are the same in both challenges; the first lands 15 mm outside the bell's edge, clear of its crease, where the bow is nearly flat. The stick values are provisional until the first solutions have been heard; they will be fixed before any solution is published, and a challenge is never changed after that.
Deliverable#
| Property | Value |
|---|---|
| channels | 1 |
| sample rate | 48000 Hz |
| number of samples | 336000 (7.0 s) |
| sample format | 32-bit IEEE float (WAVE_FORMAT_IEEE_FLOAT) |
| sample , for | |
output.signal_scale in the challenge's challenge.json, in Pa |
The first sample is at , the instant the first stick touches the shell. Samples are pointwise values of with no anti-aliasing filter. Do not normalize the signal; absolute amplitude is compared.
Error measures#
Two relative errors against the reference solution are computed over the samples: the spectrogram error (primary; periodic Hann window of length 2048, hop 512, no padding) and the waveform error. The formulas are those of the string challenge. The spectrogram error ranks because the response to this strike is chaotic: solutions that agree in every band still differ in waveform after the first tenth of a second, and the waveform error is then near for any two of them.
Reference solution#
The reference is chosen automatically among the submitted solutions by the rule described in the repository README, unless reference_solution in challenge.json names one.
Optional field export#
A submission may provide the transverse displacement for visualization; it is not scored. The file is HDF5 with datasets x and y, float64, shape (61,), and the same for ; t, float64, shape (3501,), ; and u, float32, shape (3501, 61, 61), with u[k, j, i] in meters for grid points in and NaN elsewhere. Root attributes challenge_id, solution_id, quantity and units are recommended. The file is about 50 MB and belongs in git LFS or at an external URL.