/ challenges-old / cymbal2
Sign in
challenges-old / cymbal2
cymbal2 / MODEL.md
159 lines · 11.5 KBCodeBlameHistory
d6a9b3fTwo challenges, each with three strikes at 0, 2 and 4 s; 7 s outputJeremy Magland 3Every challenge in this repository is an instance of the model defined here. A challenge fixes the mid-surface profile $Z(r)$, the thickness $h(r)$ and the output scale $s_\text{ref}$; its README gives those and nothing else changes. The problem is to compute the pressure signal $p(t)$ of the output section for seven seconds, during which the cymbal is struck three times, and write it as a wav file.
5## Geometry
7The cymbal is a thin shell. Its mid-surface is the graph of a function $Z$ over the annulus
9$$
10A = \{ (x, y) : r_h \le r \le R \}, \qquad r = \sqrt{x^2 + y^2},
11$$
13and its thickness is $h$. Both are functions of $r$ alone and are given per challenge. The rim $r = R$ and the edge of the hole $r = r_h$ are free. Below, subscripts $x$, $y$ and $t$ denote partial derivatives, Greek indices run over $x, y$, repeated Greek indices are summed, and $\delta_{\alpha\beta}$ is the Kronecker delta.
15## Unknowns and strains
17The unknowns are the displacements $u(x, y, t)$, $v(x, y, t)$, $w(x, y, t)$ of the mid-surface point $(x, y, Z(x, y))$ along the $x$, $y$ and $z$ axes. The membrane strains are those of shallow-shell theory,
19$$
20\varepsilon_{xx} = u_x + Z_x w_x + \tfrac{1}{2} w_x^2, \qquad
21\varepsilon_{yy} = v_y + Z_y w_y + \tfrac{1}{2} w_y^2, \qquad
22\varepsilon_{xy} = \tfrac{1}{2} \left( u_y + v_x + Z_x w_y + Z_y w_x + w_x w_y \right),
23$$
25and the bending strains are $\kappa_{\alpha\beta} = w_{\alpha\beta}$.
27## Stress resultants
d7c7d17Realistic crash: plate-synthesis losses (sigma1 Laplacian term, small eta), firm 6 m/s stroke, rim 0.65 mm, strikes on the bell flank, the bow and the thin edgeJeremy Magland 29The material is linearly elastic and isotropic, with Young's modulus $E$, Poisson's ratio $\nu$ and density $\rho$, and has a small Kelvin-Voigt viscosity of time constant $\eta$. The membrane forces and bending moments per unit length are
31$$
32N_{\alpha\beta} = \frac{E h}{1 - \nu^2} \left[ (1 - \nu)\, \tilde\varepsilon_{\alpha\beta} + \nu\, \tilde\varepsilon_{\gamma\gamma}\, \delta_{\alpha\beta} \right], \qquad
33M_{\alpha\beta} = D \left[ (1 - \nu)\, \tilde\kappa_{\alpha\beta} + \nu\, \tilde\kappa_{\gamma\gamma}\, \delta_{\alpha\beta} \right],
34$$
36with $\tilde\varepsilon = \varepsilon + \eta\, \varepsilon_t$, $\tilde\kappa = \kappa + \eta\, \kappa_t$ and $D = E h^3 / (12 (1 - \nu^2))$.
38## Equations of motion
40The motion is defined by its weak form. For all test functions $\delta u, \delta v \in H^1(A)$ and $\delta w \in H^2(A)$, without constraint on either edge,
42$$
d7c7d17Realistic crash: plate-synthesis losses (sigma1 Laplacian term, small eta), firm 6 m/s stroke, rim 0.65 mm, strikes on the bell flank, the bow and the thin edgeJeremy Magland 43\int_A \rho h \left[ (u_{tt} + 2 \sigma_0 u_t)\, \delta u + (v_{tt} + 2 \sigma_0 v_t)\, \delta v + (w_{tt} + 2 \sigma_0 w_t)\, \delta w + 2 \sigma_1\, \nabla w_t \cdot \nabla \delta w \right] dA
f723da2cymbal2: four challenges on one thin-shell cymbal model with a stick strikeJeremy Magland 44+ \int_A \left( N_{\alpha\beta}\, \delta\varepsilon_{\alpha\beta} + M_{\alpha\beta}\, \delta\kappa_{\alpha\beta} \right) dA
d6a9b3fTwo challenges, each with three strikes at 0, 2 and 4 s; 7 s outputJeremy Magland 45= - \sum_{i=1}^{3} F_i(t) \int_A \phi_i\, \delta w\, dA,
d7c7d17Realistic crash: plate-synthesis losses (sigma1 Laplacian term, small eta), firm 6 m/s stroke, rim 0.65 mm, strikes on the bell flank, the bow and the thin edgeJeremy Magland 48where $\sigma_0$ and $\sigma_1$ are loss coefficients, $F_i$ and $\phi_i$ are the force and footprint of the $i$th strike of the next section, and $\delta\varepsilon$, $\delta\kappa$ are the variations of the strains at the current state,
50$$
51\delta\varepsilon_{xx} = \delta u_x + (Z_x + w_x)\, \delta w_x, \qquad
52\delta\varepsilon_{yy} = \delta v_y + (Z_y + w_y)\, \delta w_y, \qquad
53\delta\varepsilon_{xy} = \tfrac{1}{2} \left( \delta u_y + \delta v_x + (Z_x + w_x)\, \delta w_y + (Z_y + w_y)\, \delta w_x \right), \qquad
54\delta\kappa_{\alpha\beta} = \delta w_{\alpha\beta}.
55$$
57Where the solution is smooth this is the strong form
59$$
60\rho h\, (u_{tt} + 2 \sigma_0 u_t) = \partial_x N_{xx} + \partial_y N_{xy}, \qquad
61\rho h\, (v_{tt} + 2 \sigma_0 v_t) = \partial_x N_{xy} + \partial_y N_{yy},
62$$
64$$
d7c7d17Realistic crash: plate-synthesis losses (sigma1 Laplacian term, small eta), firm 6 m/s stroke, rim 0.65 mm, strikes on the bell flank, the bow and the thin edgeJeremy Magland 65\rho h\, (w_{tt} + 2 \sigma_0 w_t) - 2 \sigma_1\, \nabla \cdot (\rho h\, \nabla w_t) = \partial_\alpha \left[ N_{\alpha\beta} (Z_\beta + w_\beta) \right] - \partial_{\alpha\beta} M_{\alpha\beta} - \sum_i F_i(t)\, \phi_i,
b9146b9Hold the shell's six rigid motions: the shallow-shell strains are not rotation invariant and a free, tilting shell is unphysicalJeremy Magland 68together with the free-edge conditions that the weak form implies at $r = R$ and $r = r_h$. The rigid motions of the shell are suppressed. Let $\langle \mathbf{a}, \mathbf{b} \rangle = \int_A \rho h\, \mathbf{a} \cdot \mathbf{b}\, dA$ be the mass-weighted inner product of displacement fields $(u, v, w)$, and let $\mathcal{R}$ be the span of the six rigid fields $(1, 0, 0)$, $(0, 1, 0)$, $(0, 0, 1)$, $(0, 0, x)$, $(0, 0, y)$ and $(-y, x, 0)$. The solution is orthogonal to $\mathcal{R}$ at all times, $\langle (u, v, w), \mathbf{r} \rangle = 0$ for every $\mathbf{r} \in \mathcal{R}$, and the weak form above is required only for test functions orthogonal to $\mathcal{R}$. 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 $\mathcal{R}$, equal to $\rho h$ 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 $t = 0$: $u = v = w = 0$ and $u_t = v_t = w_t = 0$.
d7c7d17Realistic crash: plate-synthesis losses (sigma1 Laplacian term, small eta), firm 6 m/s stroke, rim 0.65 mm, strikes on the bell flank, the bow and the thin edgeJeremy Magland 72The cymbal is struck three times by a drum stick, at the times $t_i$ and points $(x_i, 0)$ of the parameter table: on the outer flank of the bell, then on the bow at $0.59 R$, then near the rim at $0.91 R$, two seconds apart. The stick is a point mass $m_s$ that moves along $z$ and interacts with the shell through a Hertz contact force. The $i$th strike has the footprint
74$$
d6a9b3fTwo challenges, each with three strikes at 0, 2 and 4 s; 7 s outputJeremy Magland 75\phi_i(x, y) = \frac{1}{c_\phi\, \pi R_s^2}\; \phi_0\!\left( \frac{\varrho_i}{R_s} \right), \qquad
76\varrho_i = \sqrt{(x - x_i)^2 + y^2}, \qquad
f723da2cymbal2: four challenges on one thin-shell cymbal model with a stick strikeJeremy Magland 77\phi_0(s) = \begin{cases} \tfrac{1}{2} (1 + \cos \pi s), & 0 \le s \le 1, \\ 0, & s > 1, \end{cases} \qquad
78c_\phi = \tfrac{1}{2} - \tfrac{2}{\pi^2},
79$$
d6a9b3fTwo challenges, each with three strikes at 0, 2 and 4 s; 7 s outputJeremy Magland 81which lies inside $A$ and integrates to one over $A$, and the surface height under it is the footprint average $\bar w_i(t) = \int_A \phi_i\, w\, dA$. Let $z_i(t)$, defined for $t \ge t_i$, be the height of the tip of the $i$th stick. It meets the surface at $t_i$ with relative speed $v_0$, wherever the motion of the shell has taken that surface,
83$$
d6a9b3fTwo challenges, each with three strikes at 0, 2 and 4 s; 7 s outputJeremy Magland 84z_i(t_i) = \bar w_i(t_i), \qquad \dot z_i(t_i) = \partial_t \bar w_i(t_i) - v_0.
d6a9b3fTwo challenges, each with three strikes at 0, 2 and 4 s; 7 s outputJeremy Magland 87The penetration is $\delta_i(t) = \bar w_i(t) - z_i(t)$ and the contact force is
89$$
90F_i(t) = k_c\, \max(\delta_i(t), 0)^{3/2} \quad \text{for } t \ge t_i, \qquad F_i(t) = 0 \quad \text{for } t < t_i.
91$$
93It acts on the stick upward, $m_s \ddot z_i = F_i$, and on the shell downward, as the traction $-F_i \phi_i$ along $z$ 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 $\delta_i > 0$, including any later contact.
95## Output
97The output is the acoustic pressure at the listener point $\mathbf{x}_L$ given by the Rayleigh integral of the transverse acceleration over the shell,
99$$
100p(t) = \frac{\rho_a}{2\pi} \int_A \frac{1}{d(x, y)}\; w_{tt}\!\left( x, y,\; t - \frac{d(x, y)}{c_a} \right) dA, \qquad
101d(x, y) = \left| \mathbf{x}_L - (x, y, Z(x, y)) \right|,
102$$
104with $w_{tt}$ 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.
106## Remarks
b9146b9Hold the shell's six rigid motions: the shallow-shell strains are not rotation invariant and a free, tilting shell is unphysicalJeremy Magland 108The rigid constraint is not a convenience. The shallow-shell strains are not invariant under finite rotations: a shell that has tilted by an angle $\theta$ behaves in this model like a shell of slope $\theta$, 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.
d7c7d17Realistic crash: plate-synthesis losses (sigma1 Laplacian term, small eta), firm 6 m/s stroke, rim 0.65 mm, strikes on the bell flank, the bow and the thin edgeJeremy Magland 110The losses are the three of plate synthesis. In the linear regime about a flat uniform state a bending mode of wavenumber $k$ and angular frequency $\omega$ decays at the rate $\sigma_0 + \sigma_1 k^2 + \eta \omega^2 / 2$, with $k^2 = \omega \sqrt{\rho h / D}$. With the values below the sixty-decibel decay time is about 5 s below 500 Hz, 3.5 s at 2 kHz, 2 s at 5 kHz, 1.2 s at 10 kHz and 0.8 s at 15 kHz, roughly the ring of a crash cymbal; the viscous term is small in the audible range and gives the model a definite cutoff above it.
112## Parameters common to all challenges
114| Symbol | Value | Unit | Meaning |
115| --- | --- | --- | --- |
116| $R$ | 0.2032 | m | outer radius (16 in diameter) |
117| $r_h$ | 0.006 | m | hole radius |
118| $E$ | 110e9 | Pa | Young's modulus (B20 bell bronze) |
119| $\nu$ | 0.34 | | Poisson's ratio |
120| $\rho$ | 8800 | kg/m^3 | density |
122| $\sigma_1$ | 8e-5 | m^2/s | loss coefficient of the Laplacian term |
123| $\eta$ | 1e-9 | s | Kelvin-Voigt time constant |
f723da2cymbal2: four challenges on one thin-shell cymbal model with a stick strikeJeremy Magland 124| $m_s$ | 0.02 | kg | stick tip mass |
f723da2cymbal2: four challenges on one thin-shell cymbal model with a stick strikeJeremy Magland 126| $k_c$ | 1e9 | N/m^(3/2) | Hertz contact stiffness |
127| $R_s$ | 0.005 | m | footprint radius |
d6a9b3fTwo challenges, each with three strikes at 0, 2 and 4 s; 7 s outputJeremy Magland 128| $t_1, t_2, t_3$ | 0, 2, 4 | s | strike times |
d7c7d17Realistic crash: plate-synthesis losses (sigma1 Laplacian term, small eta), firm 6 m/s stroke, rim 0.65 mm, strikes on the bell flank, the bow and the thin edgeJeremy Magland 129| $x_1, x_2, x_3$ | 0.045, 0.12, 0.185 | m | strike points on the $x$ axis: bell flank, bow, rim |
f723da2cymbal2: four challenges on one thin-shell cymbal model with a stick strikeJeremy Magland 130| $\rho_a$ | 1.204 | kg/m^3 | air density |
131| $c_a$ | 343 | m/s | speed of sound in air |
132| $\mathbf{x}_L$ | (0.65, 1.125, 0.75) | m | listener point |
973c7f2Bell flank slope at the first strikeJeremy Magland 134All values are exact decimal numbers. The listener is 1.5 m from the origin, 30 degrees above the plane $z = 0$, at an azimuth of 60 degrees from the $x$ axis, on which the strike points lie. The strikes are the same in both challenges. On the crash cymbal the first lands on the outer flank of the bell (slope 0.29), the second on the bow, the third 18 mm from the rim on the thin edge; on the flat annulus they land at the same radii. The stick carries 0.36 J, a firm stroke rather than the hardest a drummer gives. 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.
136## Deliverable
138| Property | Value |
139| --- | --- |
140| channels | 1 |
141| sample rate $f_s$ | 48000 Hz |
d6a9b3fTwo challenges, each with three strikes at 0, 2 and 4 s; 7 s outputJeremy Magland 142| number of samples $N$ | 336000 (7.0 s) |
f723da2cymbal2: four challenges on one thin-shell cymbal model with a stick strikeJeremy Magland 143| sample format | 32-bit IEEE float (WAVE_FORMAT_IEEE_FLOAT) |
144| sample $k$, for $k = 0, \dots, N-1$ | $p(k / f_s) / s_\text{ref}$ |
145| $s_\text{ref}$ | `output.signal_scale` in the challenge's challenge.json, in Pa |
d6a9b3fTwo challenges, each with three strikes at 0, 2 and 4 s; 7 s outputJeremy Magland 147The first sample is at $t = 0$, the instant the first stick touches the shell. Samples are pointwise values of $p$ with no anti-aliasing filter. Do not normalize the signal; absolute amplitude is compared.
149## Error measures
151Two relative errors against the reference solution are computed over the $N$ samples: the spectrogram $\ell^2$ error (primary; periodic Hann window of length 2048, hop 512, no padding) and the waveform $\ell^2$ error. The formulas are those of the [string challenge](https://vault1.magland.org/challenges/string/blob/main/challenges/string-pluck-v1/README.md#error-measures). 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 $\sqrt{2}$ for any two of them.
153## Reference solution
155The reference is chosen automatically among the submitted solutions by the rule described in the [repository README](README.md), unless `reference_solution` in challenge.json names one.
157## Optional field export
b9146b9Hold the shell's six rigid motions: the shallow-shell strains are not rotation invariant and a free, tilting shell is unphysicalJeremy Magland 159A submission may provide the transverse displacement for visualization; it is not scored. The file is HDF5 with datasets `x` and `y`, float64, shape (61,), $x_i = -R + 2R\, i / 60$ and the same for $y$; `t`, float64, shape (3501,), $t_k = k / 500$; and `u`, float32, shape (3501, 61, 61), with `u[k, j, i]` $= w(x_i, y_j, t_k)$ in meters for grid points in $A$ 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.
↑↓ move↵openescclose