/ challenges-old / cymbal-solutions
Sign in
challenges-old / cymbal-solutions
cymbal-solutions / solutions / cymbal-flat-disk-v1 / vonkarman-modal.json
101 lines · 5.3 KBCodeBlameHistory
2 "schema_version": 1,
3 "submission_id": "vonkarman-modal",
4 "challenge_id": "cymbal-flat-disk-v1",
5 "submitter": {
6 "name": "Jeremy Magland",
7 "email": "jmagland@flatironinstitute.org"
8 },
9 "date": "2026-09-17",
10 "description": "Von Karman thin-plate reduction (Airy stress function, in-plane inertia neglected, damping on bending only) of the challenge model on a Cartesian grid: the disk is approximated by the square cells whose centers lie inside it (a staircase boundary) at 8 mm and 4 mm spacing. Linear free-plate modes and clamped Airy modes come from Bogner-Fox-Schmit finite elements on the cells and a sparse shift-invert eigensolver; the bases are restricted to functions even in y, which is exact because the strike is centered on the x axis. The cubic coupling tensor is integrated on the cells, the time stepping is a two-step scheme exact in the linear part, and the retarded Rayleigh integral uses cubic fractional delays. The chain is ordered by grid spacing, number of modes, and time step; the mode truncation caps the frequency the cascade can reach. Caution on the staircase: the free disk's low modes radiate as a near-cancelling sum, and the staircase edge breaks that cancellation. In the linear closed-form solution on the same meshes the ring level after a strike falls from 8 mm to 6, 4 and 3 mm roughly as 4 : 1.7 : 1.25 : 1, while the mode frequencies agree to within a percent, so the 8 mm members ring several times too loud and the 4 mm members are probably still 20 to 30 percent too loud; the large errors between the two grids reflect this, not the number of modes. A boundary-conforming discretization is needed for the radiated pressure to converge.",
11 "code_url": "https://vault1.magland.org/challenges/cymbal-solutions/blob/main/solvers/vonkarman-modal-disk/vk_modal_disk.py",
12 "viz_url": "https://vault1.magland.org/challenges/cymbal-solutions/site/",
13 "solutions": [
14 {
15 "solution_id": "vk-g8-w100-a100-m2",
16 "output": "vonkarman-modal/vk-g8-w100-a100-m2.wav",
17 "method": "von Karman plate (Airy form) on a Cartesian grid masked to the disk, modal method on Bogner-Fox-Schmit modes, Gautschi-type integrator exact in the linear part, retarded Rayleigh integral with cubic fractional delays",
18 "parameters": {
19 "grid_spacing_m": 0.008,
20 "cells": 2024,
21 "n_dof": 8500,
22 "transverse_modes": 100,
23 "basis_even_in_y": true,
24 "airy_modes": 100,
25 "oversampling": 2,
26 "dt_s": 1.0416666666666666e-05,
27 "highest_transverse_mode_hz": 2776.3
28 },
29 "timing_seconds": 56.155,
30 "more_accurate_than": [],
31 "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)"
32 },
33 {
34 "solution_id": "vk-g8-w200-a200-m2",
35 "output": "vonkarman-modal/vk-g8-w200-a200-m2.wav",
36 "method": "von Karman plate (Airy form) on a Cartesian grid masked to the disk, modal method on Bogner-Fox-Schmit modes, Gautschi-type integrator exact in the linear part, retarded Rayleigh integral with cubic fractional delays",
37 "parameters": {
38 "grid_spacing_m": 0.008,
39 "cells": 2024,
40 "n_dof": 8500,
41 "transverse_modes": 200,
42 "basis_even_in_y": true,
43 "airy_modes": 200,
44 "oversampling": 2,
45 "dt_s": 1.0416666666666666e-05,
46 "highest_transverse_mode_hz": 5832.6
47 },
48 "timing_seconds": 48.943,
49 "more_accurate_than": [
50 "vk-g8-w100-a100-m2"
51 ],
52 "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)"
53 },
54 {
55 "solution_id": "vk-g4-w200-a200-m2",
56 "output": "vonkarman-modal/vk-g4-w200-a200-m2.wav",
57 "method": "von Karman plate (Airy form) on a Cartesian grid masked to the disk, modal method on Bogner-Fox-Schmit modes, Gautschi-type integrator exact in the linear part, retarded Rayleigh integral with cubic fractional delays",
58 "parameters": {
59 "grid_spacing_m": 0.004,
60 "cells": 8112,
61 "n_dof": 33268,
62 "transverse_modes": 200,
63 "basis_even_in_y": true,
64 "airy_modes": 200,
65 "oversampling": 2,
66 "dt_s": 1.0416666666666666e-05,
67 "highest_transverse_mode_hz": 5890.6
68 },
69 "timing_seconds": 64.792,
70 "more_accurate_than": [
71 "vk-g8-w200-a200-m2"
72 ],
73 "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)"
74 },
75 {
76 "solution_id": "vk-g4-w300-a300-m2",
77 "output": "vonkarman-modal/vk-g4-w300-a300-m2.wav",
78 "method": "von Karman plate (Airy form) on a Cartesian grid masked to the disk, modal method on Bogner-Fox-Schmit modes, Gautschi-type integrator exact in the linear part, retarded Rayleigh integral with cubic fractional delays",
79 "parameters": {
80 "grid_spacing_m": 0.004,
81 "cells": 8112,
82 "n_dof": 33268,
83 "transverse_modes": 300,
84 "basis_even_in_y": true,
85 "airy_modes": 300,
86 "oversampling": 2,
87 "dt_s": 1.0416666666666666e-05,
88 "highest_transverse_mode_hz": 9000.3
89 },
90 "timing_seconds": 203.828,
91 "more_accurate_than": [
92 "vk-g4-w200-a200-m2"
93 ],
94 "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)",
95 "fields": {
96 "path": "vonkarman-modal/vk-g4-w300-a300-m2.h5",
97 "format": "hdf5"
98 }
99 }
100 ]
↑↓ move↵openescclose