1% A loose, lightly damped net, struck hard: energy cascades from the struck
2% low modes to high ones over tens of milliseconds.
3%
4% Compared with drum.m, the springs are stretched only 0.5% at rest, so the
5% stretching caused by the motion itself is large relative to the rest
6% tension, and the high modes ring about twice as long (T60 1.6 s rather
7% than 0.75 s near 2 kHz), so they keep their energy long enough to pass
8% it on. Turn on "small-strike reference" to hear and measure the
9% difference from the same strike at small amplitude.
11R = 0.15;
12a = 0.01;
13sigma = 0.25;
14T = 2000;
15strain = 0.005;
17[pos, tri, rim] = bp_hexdisk(R, a);
18E = bp_edges(tri);
19f0 = T * a / sqrt(3);
20k = f0 / (strain * a);
22sys.pos = pos;
23sys.mass = sigma * (sqrt(3)/2) * a^2;
24sys.pinned = rim;
25sys.springs = bp_springs(pos, E, k, f0);
26sys = bp_decay(sys, [200 2.5; 2000 1.6]);
28hit.t = 0;
29hit.beads = bp_near(pos, [0.05 0 0], 0.03);
30hit.force = [0 0 -12]; % peak force per bead (N); try 1 to 50
31hit.duration = 1e-3;
32sys.hits = hit;
34sys.listen = struct('beads', bp_near(pos, [-0.04 0.03 0], 0), 'dir', [0 0 1]);
35sys.duration = 1.5;
37fprintf('%d beads, %d springs, %d struck\n', size(pos, 1), size(E, 1), numel(hit.beads));