function P = cymbal2_defaults() % CYMBAL2_DEFAULTS Default parameters, following Samejima (2021) Table 1: % an 18-inch medium crash (45 cm diameter) modeled as a shallow spherical % shell, supported at the center by a washer of finite impedance and struck % by a mallet whose stick is an elastic beam held in a compliant grip. % The output duration is not a parameter: it is % (strike_count - 1) / strike_rate_hz + tail_s. % Shell geometry (a shallow spherical cap; rise sets the radius of curvature % Rs = radius^2 / (2 * rise)) P.radius_m = 0.230; P.rise_m = 0.040; P.thickness_m = 0.001; % Material (bronze, per the paper's measured cymbal) P.youngs_modulus = 1.1e11; P.poisson_ratio = 0.33; P.density = 8860.0; % Damping: decay rate sigma0 + sigma1 * a^2 * k^2 at flexural wavenumber k P.sigma0 = 1.34; % s^-1, frequency-independent P.sigma1 = 1.2e-3; % s^-1 per unit nondimensional k^2 % Support at the center: an SDOF washer per unit length of the inner % circumference, entering as the shear boundary condition at r = washer % radius. support_clamped = 1 replaces it with the rigid clamp of the % earlier literature (Bilbao 2010), which is worth hearing once. P.washer_radius_m = 0.029; P.washer_stiffness = 1.65e5; % N/m per m P.washer_mass = 0.0; % kg per m (paper sets 0) P.washer_damping = 0.0; % N s/m per m (paper sets 0) P.support_clamped = 0; % Mallet head (SDOF, Hertz-type nonlinear stiffness f = K * delta^alpha) P.head_radius_m = 0.025; P.head_mass_kg = 0.028; P.head_stiffness = 1.6e8; % N m^-alpha P.head_alpha = 2.54; % Mallet stick (Euler-Bernoulli beam, FEM) P.stick_length_m = 0.390; P.stick_area_m2 = 1.43139e-4; P.stick_youngs = 8.8e9; P.stick_density = 400.0; P.stick_inertia_m4 = 1.63044e-9; P.stick_damping_rate = 10.0; % mass-proportional, R = rate * M P.n_beam = 20; % beam elements (21 nodes) % Grip: 0 = rotational spring hand (loose grip), 1 = clamped hand (tight) P.grip_clamped = 0; P.grip_spring = 140.0; % N m/rad % Strike gesture: the hand accelerates downward to strike_velocity, coasts % until the head touches, holds briefly, and retracts to its rest height. % The paper prescribes constant acceleration to the same terminal speed % but never reverses, so it cannot play a second stroke. Because the stick % is compliant, the tip arrives somewhat slower than the hand. P.strike_velocity = 5.75; % peak hand speed, m/s; reproduces the % character of the authors' published demo P.strike_accel = 250.0; % downstroke hand acceleration, m/s^2 P.retract_accel = 2500.0; % wrist-snap retract acceleration, m/s^2 P.strike_hold_ms = 0.5; % dwell between contact and retract P.strike_gap_m = -1; % rest clearance; <= 0 sizes it to the stroke P.strike_r = 0.6; % contact radius, 0 at the washer, 1 at the rim P.strike_theta_deg = 180.0; P.strike_count = 1; P.strike_rate_hz = 4.0; P.velocity_spread = 0.0; % relative velocity scatter of repeated strokes P.seed = 1; % Pickup: normal acceleration of the shell at one point, as in the paper P.pickup_r = 0.6; P.pickup_theta_deg = 0.0; % Discretization P.n_radial = 24; % radial grid intervals (the paper's N_r) P.n_theta = 60; % azimuthal grid points (the paper's N_theta) P.g_param = 0.2498; % free parameter of the implicit shell scheme P.phi_param = 0.7; % free parameter of the washer and beam schemes % Rendering / output P.sample_rate = 48000; P.oversample = 2; % simulation runs at oversample * sample_rate P.tail_s = 6.0; % the low modes carry T60 of about 5 s P.pre_delay_ms = 3.0; P.normalize = 1; P.peak_dbfs = -3.0; P.full_scale_accel = 4.0e4; % m/s^2 mapped to full scale when normalize = 0 end