{ "schema_version": 1, "submission_id": "vonkarman-modal", "challenge_id": "cymbal-bell-v1", "submitter": { "name": "Jeremy Magland", "email": "jmagland@flatironinstitute.org" }, "date": "2026-09-17", "description": "Marguerre shallow-shell reduction of the challenge model (Airy stress function with the initial shape, in-plane inertia neglected, damping proportional to the full linearized stiffness) on a Cartesian grid at 8 mm and 4 mm spacing, as for the bow, with the bell included in the initial shape. The mounting hole is not represented: the solver closes it, neglecting the mass and stiffness of a 12 mm disk at the apex. The bell flank has a slope of 0.46, beyond the comfort zone of shallow-shell theory, so these solutions carry a modeling error in the bell region in addition to the discretization error. Shell modes are built from the Bogner-Fox-Schmit plate modes of the staircase domain by diagonalizing the membrane stiffening once (the lowest mode is sensitive to the Airy count because of the bell's tight curvature); bases even in y; two-step integrator exact in the linear part; retarded integral of the normal acceleration with distances to the curved top face. Cautions as for the flat disk and the bow: first-order convergence of the radiated ring on staircase grids, and a chaotic response beyond about 0.15 s that puts a floor of roughly 0.6 (waveform) and 0.5 (spectrogram) under the errors between any two solutions.", "code_url": "https://vault1.magland.org/challenges/cymbal-solutions/blob/main/solvers/vonkarman-modal-disk/vk_modal_disk.py", "viz_url": "https://vault1.magland.org/challenges/cymbal-solutions/site/", "solutions": [ { "solution_id": "vk-g8-w100-a100-m2", "output": "vonkarman-modal/vk-g8-w100-a100-m2.wav", "method": "Marguerre shallow shell (Airy form) on a Cartesian grid masked to the disk, modal method on shell modes built from Bogner-Fox-Schmit plate modes, Gautschi-type integrator exact in the linear part, retarded Rayleigh-type integral with cubic fractional delays", "parameters": { "grid_spacing_m": 0.008, "cells": 2024, "n_dof": 8500, "transverse_modes": 100, "basis_even_in_y": true, "airy_modes": 100, "oversampling": 2, "dt_s": 1.0416666666666666e-05, "highest_transverse_mode_hz": 11990.4 }, "timing_seconds": 91.638, "more_accurate_than": [], "hardware": "Intel(R) Xeon(R) w5-3435X (32 threads), numpy/scipy for the setup; coupling tensor and time stepping on NVIDIA RTX 6000 Ada Generation (PyTorch 2.14.0+cu130)" }, { "solution_id": "vk-g8-w200-a200-m2", "output": "vonkarman-modal/vk-g8-w200-a200-m2.wav", "method": "Marguerre shallow shell (Airy form) on a Cartesian grid masked to the disk, modal method on shell modes built from Bogner-Fox-Schmit plate modes, Gautschi-type integrator exact in the linear part, retarded Rayleigh-type integral with cubic fractional delays", "parameters": { "grid_spacing_m": 0.008, "cells": 2024, "n_dof": 8500, "transverse_modes": 200, "basis_even_in_y": true, "airy_modes": 200, "oversampling": 2, "dt_s": 1.0416666666666666e-05, "highest_transverse_mode_hz": 13247.1 }, "timing_seconds": 63.168, "more_accurate_than": [ "vk-g8-w100-a100-m2" ], "hardware": "Intel(R) Xeon(R) w5-3435X (32 threads), numpy/scipy for the setup; coupling tensor and time stepping on NVIDIA RTX 6000 Ada Generation (PyTorch 2.14.0+cu130)" }, { "solution_id": "vk-g4-w200-a200-m2", "output": "vonkarman-modal/vk-g4-w200-a200-m2.wav", "method": "Marguerre shallow shell (Airy form) on a Cartesian grid masked to the disk, modal method on shell modes built from Bogner-Fox-Schmit plate modes, Gautschi-type integrator exact in the linear part, retarded Rayleigh-type integral with cubic fractional delays", "parameters": { "grid_spacing_m": 0.004, "cells": 8112, "n_dof": 33268, "transverse_modes": 200, "basis_even_in_y": true, "airy_modes": 200, "oversampling": 2, "dt_s": 1.0416666666666666e-05, "highest_transverse_mode_hz": 13149.7 }, "timing_seconds": 78.71, "more_accurate_than": [ "vk-g8-w200-a200-m2" ], "hardware": "Intel(R) Xeon(R) w5-3435X (32 threads), numpy/scipy for the setup; coupling tensor and time stepping on NVIDIA RTX 6000 Ada Generation (PyTorch 2.14.0+cu130)" }, { "solution_id": "vk-g4-w300-a300-m2", "output": "vonkarman-modal/vk-g4-w300-a300-m2.wav", "method": "Marguerre shallow shell (Airy form) on a Cartesian grid masked to the disk, modal method on shell modes built from Bogner-Fox-Schmit plate modes, Gautschi-type integrator exact in the linear part, retarded Rayleigh-type integral with cubic fractional delays", "parameters": { "grid_spacing_m": 0.004, "cells": 8112, "n_dof": 33268, "transverse_modes": 300, "basis_even_in_y": true, "airy_modes": 300, "oversampling": 2, "dt_s": 1.0416666666666666e-05, "highest_transverse_mode_hz": 14038.5 }, "timing_seconds": 212.295, "more_accurate_than": [ "vk-g4-w200-a200-m2" ], "hardware": "Intel(R) Xeon(R) w5-3435X (32 threads), numpy/scipy for the setup; coupling tensor and time stepping on NVIDIA RTX 6000 Ada Generation (PyTorch 2.14.0+cu130)", "fields": { "path": "vonkarman-modal/vk-g4-w300-a300-m2.h5", "format": "hdf5" } } ] }