cymbal-tapered-v1: the hammered cymbal lathed to a taper
3 changed files+255−1
README.mdmodified+2−1View file
@@ -10,12 +10,13 @@ This repository defines simulation challenges that approach a cymbal one feature
1010 | [cymbal-bow-v1](challenges/cymbal-bow-v1/README.md) | The same disk bowed into a shallow paraboloid, 25 mm rise: the effect of curvature alone | 6 s mono wav, 48 kHz, float32 |
1111 | [cymbal-bell-v1](challenges/cymbal-bell-v1/README.md) | The bowed disk with a 110 mm cosine-dome bell 15 mm high and a 12 mm mounting hole: the effect of the bell alone | 6 s mono wav, 48 kHz, float32 |
1212 | [cymbal-hammered-v1](challenges/cymbal-hammered-v1/README.md) | The belled disk with twenty hammer dents at fixed positions: the effect of breaking the symmetry | 6 s mono wav, 48 kHz, float32 |
13+| [cymbal-tapered-v1](challenges/cymbal-tapered-v1/README.md) | The hammered cymbal lathed to a taper, 1.2 mm at the bell to 0.7 mm at the rim: the effect of the thickness profile | 6 s mono wav, 48 kHz, float32 |
1314
1415 The starting point is the simplest object that can sound like a cymbal: a flat, free disk of bell bronze with the diameter and thickness of a 16 inch crash, uniformly thick, struck near the rim by a short stick-like force pulse and radiating to a listener above it through the Rayleigh integral. The material model is Saint Venant-Kirchhoff, so the strain is exact and the response geometrically nonlinear; the material remains elastic. This is the model of the plate tier's second challenge applied to a disk with a harder, shorter strike, and it produces the pitch glide and broadband cascade that distinguish a cymbal from a struck plate. Thin-plate theories (von Kármán with or without in-plane inertia) are approximations to this model, and their error relative to a converged three-dimensional solution includes the modeling error of plate theory. Until such a solution is submitted, the reference is the best thin-plate solution and the reported errors measure only differences within plate theory; the results page says which it is.
1516
1617 ## Planned challenges
1718
18-The features of a real cymbal are added one at a time, each as a new challenge on the same material and strike, so that the effect of each on the sound and on the difficulty of the computation can be seen in isolation. In the intended order: a radial bow (cymbal-bow-v1: a shallow paraboloid, which couples bending and stretching even at small amplitude), a central bell (cymbal-bell-v1: a cosine dome around the mounting hole, which stiffens the center and adds the ping), hammering (cymbal-hammered-v1: twenty dents at fixed positions, which break the axisymmetry and detune the degenerate mode pairs; denser patterns can follow), and a thickness that varies with radius (thinner at the rim). Curved and dented geometries also make the Cartesian-grid discretizations of the flat disk less natural, and polar or mapped grids are expected to appear among the solutions.
19+The features of a real cymbal are added one at a time, each as a new challenge on the same material and strike, so that the effect of each on the sound and on the difficulty of the computation can be seen in isolation. In the intended order: a radial bow (cymbal-bow-v1: a shallow paraboloid, which couples bending and stretching even at small amplitude), a central bell (cymbal-bell-v1: a cosine dome around the mounting hole, which stiffens the center and adds the ping), hammering (cymbal-hammered-v1: twenty dents at fixed positions, which break the axisymmetry and detune the degenerate mode pairs; denser patterns can follow), and a thickness that varies with radius (cymbal-tapered-v1: 1.2 mm at the bell to 0.7 mm at the rim). Curved and dented geometries also make the Cartesian-grid discretizations of the flat disk less natural, and polar or mapped grids are expected to appear among the solutions.
1920
2021 Each challenge lives in `challenges/<challenge-id>/` and consists of a `README.md`, which is the authoritative specification, and a `challenge.json` with the parameters, output format, error measures, and the recommended grid for optional field exports in machine-readable form. A challenge is never changed once solutions exist for it; a corrected or modified model gets a new ID.
2122
challenges/cymbal-tapered-v1/README.mdadded+53−0View file
@@ -0,0 +1,53 @@
1+# cymbal-tapered-v1: the hammered cymbal lathed to a tapered thickness
2+
3+This is the fifth challenge of the cymbal tier. It is [cymbal-hammered-v1](../cymbal-hammered-v1/README.md) with one change: the thickness is no longer uniform. It is 1.2 mm over the bell and decreases linearly along the bow to 0.7 mm at the rim, the taper that lathing gives a 16 inch crash. Everything else, the bow, the bell, the hole, the twenty dents, the material, the damping, the strike, the listener, the output and the error measures, is unchanged, so the difference between the two challenges is the effect of the taper alone. A thinner rim lowers the modes that live near the edge and makes them radiate and cascade differently from a uniform sheet; a heavier center raises the low modes of the whole body. The deliverable is again six seconds of pressure at the listener.
4+
5+The machine-readable version of this specification is [challenge.json](challenge.json).
6+
7+## Model
8+
9+### Reference geometry
10+
11+The mid-surface $S$ is that of cymbal-hammered-v1: the graph $Z(x, y)$ of the bow, the bell and the dents over the annulus $r_h \le r \le R$, with unit normal $\mathbf{n}(x, y)$. The thickness is a function of the distance from the axis,
12+
13+$$
14+h(r) = \begin{cases} h_c, & r \le r_b, \\[1ex] h_c + (h_e - h_c)\, \dfrac{r - r_b}{R - r_b}, & r_b < r \le R, \end{cases}
15+$$
16+
17+constant over the bell and linear on the bow, continuous at the bell edge. The body is the set of points within half the local thickness of the mid-surface along its normal,
18+
19+$$
20+\Omega = \{ \mathbf{X} + s\, \mathbf{n}(\mathbf{X}) : \mathbf{X} \in S,\ |s| < h(r(\mathbf{X})) / 2 \},
21+$$
22+
23+so the top face is $S^+ = \{ \mathbf{X} + (h/2)\, \mathbf{n} \}$ and the bottom face $S^- = \{ \mathbf{X} - (h/2)\, \mathbf{n} \}$ with the local $h$, and the rim and the hole edge are the ruled surfaces swept by the normal segment of length $h(R)$ at $r = R$ and $h(r_h) = h_c$ at $r = r_h$. Since $h$ varies, the faces are not parallel to the mid-surface, by a slope of $|h'| / 2 = (h_c - h_e) / (2 (R - r_b)) \approx 0.0017$, negligible against the slopes of the bow.
24+
25+### Material, equations of motion, strike, and output
26+
27+All as before: the Saint Venant-Kirchhoff solid with Kelvin-Voigt viscosity and mass-proportional loss, traction-free everywhere except the strike, at rest at $t = 0$, free, with the rigid motion linearized in the output. The strike is the same vertical raised-cosine pulse at $0.85 R$ on the $x$ axis; its normalization constant $C$ is the surface integral of the footprint bump over the top face, whose position now depends on the local thickness ($h \approx 0.80$ mm at the strike), and is given in the parameter table. The output is the same integral of the normal acceleration over $S^+$ with the retarded time and the same wav format and scale.
28+
29+## Parameters
30+
31+Those of cymbal-hammered-v1 with the uniform thickness $h$ replaced by the two thickness values.
32+
33+| Symbol | Value | Unit | Meaning |
34+| --- | --- | --- | --- |
35+| $h_c$ | 0.0012 | m | thickness over the bell and at its edge |
36+| $h_e$ | 0.0007 | m | thickness at the rim |
37+| $C$ | see challenge.json | m^2 | strike normalization integral |
38+
39+The mass of the body is close to that of the uniform 1 mm disk (the mean thickness over the area is about 0.86 mm), so the drift and the kick of the strike are similar; the bending stiffness, which goes with $h^3$, is 1.7 times the uniform value at the bell and 0.34 times it at the rim. The dents, half a millimeter deep, are now a larger fraction of the local thickness near the rim (0.7 mm) than in cymbal-hammered-v1.
40+
41+## Error measures, reference, field export
42+
43+As for cymbal-hammered-v1, including the caution that at this strike the response is chaotic beyond about 0.15 s.
44+
45+## Appendix: shallow-shell reduction
46+
47+The Marguerre equations apply with variable coefficients: the mass per unit area $\rho h$, the bending stiffness $D = E h^3 / (12 (1 - \nu^2))$ and the membrane stiffness $E h$ all vary with $r$. The bending operator becomes $\partial_{xx}[D (w_{xx} + \nu w_{yy})] + \partial_{yy}[D (w_{yy} + \nu w_{xx})] + 2 (1 - \nu) \partial_{xy}[D w_{xy}]$, and the compatibility equation for the Airy function becomes
48+
49+$$
50+\partial_{yy} \frac{\Phi_{yy} - \nu \Phi_{xx}}{E h} + \partial_{xx} \frac{\Phi_{xx} - \nu \Phi_{yy}}{E h} - 2\, \partial_{xy} \frac{(1 + \nu) \Phi_{xy}}{E h} = -\tfrac{1}{2} \mathcal{L}(w, w) - \mathcal{L}(w_0, w),
51+$$
52+
53+which for constant $h$ reduces to $\nabla^4 \Phi / (E h)$ on the left. A modal solver that uses the eigenfunctions of this variable-coefficient operator (with $\Phi = \partial \Phi / \partial n = 0$ on the rim) in place of the clamped biharmonic modes recovers the same structure of equations as for the uniform shell.
challenges/cymbal-tapered-v1/challenge.jsonadded+200−0View file
@@ -0,0 +1,200 @@
1+{
2+ "challenge_id": "cymbal-tapered-v1",
3+ "title": "Bowed, belled and hammered bronze disk lathed to a tapered thickness, struck with a drum stick, geometrically nonlinear: radiated pressure",
4+ "version": 1,
5+ "output": {
6+ "type": "wav",
7+ "sample_rate_hz": 48000,
8+ "num_samples": 288000,
9+ "channels": 1,
10+ "sample_format": "float32",
11+ "signal": "acoustic pressure at the listener point from the Rayleigh-type integral over the top face of the normal acceleration, with the rigid motion linearized",
12+ "signal_unit": "Pa",
13+ "signal_scale": 160.0
14+ },
15+ "playback": {
16+ "gain_db": 30,
17+ "note": "Formerly a suggested playback gain; the results sites now loudness-normalize playback and this field is unused."
18+ },
19+ "geometry": {
20+ "type": "shell-of-revolution",
21+ "mid_surface": "z = Z(r) + sum over dents of -depth/2 * (1 + cos(pi rho / radius)) * [rho < radius], with Z(r) the bow-plus-bell profile of cymbal-bell-v1 and rho the distance to the dent center",
22+ "thickness": "h(r) = thickness_center for r <= bell_radius, and linear from thickness_center at r = bell_radius to thickness_rim at r = disk_radius; measured along the normal to the mid-surface",
23+ "hole": "circular, radius hole_radius, centered on the axis, free edge",
24+ "dents": [
25+ {
26+ "x": 0.0825,
27+ "y": 0.1364,
28+ "radius": 0.012,
29+ "depth": 0.0005
30+ },
31+ {
32+ "x": -0.0954,
33+ "y": -0.0907,
34+ "radius": 0.012,
35+ "depth": 0.0005
36+ },
37+ {
38+ "x": 0.0391,
39+ "y": -0.0709,
40+ "radius": 0.012,
41+ "depth": 0.0005
42+ },
43+ {
44+ "x": -0.1234,
45+ "y": -0.1047,
46+ "radius": 0.012,
47+ "depth": 0.0005
48+ },
49+ {
50+ "x": 0.0635,
51+ "y": 0.0835,
52+ "radius": 0.012,
53+ "depth": 0.0005
54+ },
55+ {
56+ "x": 0.1357,
57+ "y": 0.0222,
58+ "radius": 0.012,
59+ "depth": 0.0005
60+ },
61+ {
62+ "x": 0.1397,
63+ "y": -0.0554,
64+ "radius": 0.012,
65+ "depth": 0.0005
66+ },
67+ {
68+ "x": 0.1573,
69+ "y": 0.0442,
70+ "radius": 0.012,
71+ "depth": 0.0005
72+ },
73+ {
74+ "x": -0.0826,
75+ "y": -0.0123,
76+ "radius": 0.012,
77+ "depth": 0.0005
78+ },
79+ {
80+ "x": -0.1746,
81+ "y": 0.0372,
82+ "radius": 0.012,
83+ "depth": 0.0005
84+ },
85+ {
86+ "x": -0.029,
87+ "y": 0.1539,
88+ "radius": 0.012,
89+ "depth": 0.0005
90+ },
91+ {
92+ "x": 0.0338,
93+ "y": 0.0978,
94+ "radius": 0.012,
95+ "depth": 0.0005
96+ },
97+ {
98+ "x": 0.0172,
99+ "y": -0.1003,
100+ "radius": 0.012,
101+ "depth": 0.0005
102+ },
103+ {
104+ "x": 0.0996,
105+ "y": -0.121,
106+ "radius": 0.012,
107+ "depth": 0.0005
108+ },
109+ {
110+ "x": 0.1638,
111+ "y": 0.0864,
112+ "radius": 0.012,
113+ "depth": 0.0005
114+ },
115+ {
116+ "x": -0.0241,
117+ "y": -0.1837,
118+ "radius": 0.012,
119+ "depth": 0.0005
120+ },
121+ {
122+ "x": 0.1746,
123+ "y": -0.0303,
124+ "radius": 0.012,
125+ "depth": 0.0005
126+ },
127+ {
128+ "x": -0.1251,
129+ "y": 0.0695,
130+ "radius": 0.012,
131+ "depth": 0.0005
132+ },
133+ {
134+ "x": 0.0147,
135+ "y": 0.1317,
136+ "radius": 0.012,
137+ "depth": 0.0005
138+ },
139+ {
140+ "x": -0.1528,
141+ "y": 0.1122,
142+ "radius": 0.012,
143+ "depth": 0.0005
144+ }
145+ ]
146+ },
147+ "parameters": {
148+ "disk_radius": 0.2032,
149+ "bow_height": 0.025,
150+ "bell_radius": 0.055,
151+ "bell_height": 0.015,
152+ "hole_radius": 0.006,
153+ "thickness_center": 0.0012,
154+ "thickness_rim": 0.0007,
155+ "E": 110000000000.0,
156+ "nu": 0.34,
157+ "rho": 8800.0,
158+ "sigma0": 1.1,
159+ "eta": 1.2e-08,
160+ "strike_x": 0.17272,
161+ "strike_y": 0.0,
162+ "strike_radius": 0.005,
163+ "strike_duration": 0.001,
164+ "strike_peak_force": 1000.0,
165+ "strike_normalization_m2": 2.386766e-05,
166+ "rho_air": 1.204,
167+ "c_air": 343.0,
168+ "listener_x": 0.06,
169+ "listener_y": 0.08,
170+ "listener_z": 0.5
171+ },
172+ "metrics": {
173+ "primary": "waveform_l2",
174+ "waveform_l2": {},
175+ "spectrogram_l2": {
176+ "window": "hann_periodic",
177+ "n_fft": 2048,
178+ "hop": 512
179+ }
180+ },
181+ "fields": {
182+ "format": "hdf5",
183+ "quantity": "normal displacement of the mid-surface, u . n, at the mid-surface point above each grid point; NaN outside the disk and inside the hole",
184+ "units": "m",
185+ "axes": [
186+ "t",
187+ "y",
188+ "x"
189+ ],
190+ "shape": [
191+ 3001,
192+ 61,
193+ 61
194+ ],
195+ "frame_rate_hz": 1000,
196+ "dtype": "float32"
197+ },
198+ "reference_solution": null,
199+ "model": "saint-venant-kirchhoff"
200+}