Dataset and Scripts for "Numerical study of the nonlinear interaction and energy capture of an OWSC under multi-frequency focused freak waves using Riemann-SPH"
收藏资源简介:
# OWSC SPH Focused-Wave Dataset Supplementary data and code accompanying the manuscript "Numerical study of the nonlinearinteraction and energy capture of an OWSC under multi-frequency focused freak waves usingRiemann-SPH." ## 1. Software - SPHinXsys (open-source), https://github.com/Xiangyu-Hu/SPHinXsys- MATLAB version: 2024b ## 2. Directory map (script-to-deliverable correspondence) | File | Produces ||---|---|| `04_PostProcessing_Scripts/extract_table5_and_transmission.m` | Table 5 (all columns, including CWR) and the wave-transmission table (response to Reviewer 2, Comment 7) || `04_PostProcessing_Scripts/calc_CWR.m` | Fig. 15 (reads the CWR column already computed above; does not recompute it) || `04_PostProcessing_Scripts/calc_resolution_sensitivity.m` | Table 2 (dp = 25/20/15/12.5 mm at Cpto = 5.0, plus the Cpto = 60 high-damping resolution check discussed in Section 3.2) || `04_PostProcessing_Scripts/extract_table4_and_Fig14_pressure.m` | Table 4 and Fig. 14 (7 damping cases: Cpto = 0, 5, 20, 40, 60, 80, 100) || `04_PostProcessing_Scripts/plot_Fig11_pressure_single_case.m` | Fig. 11 (single case, Cpto = 5.0) || `04_PostProcessing_Scripts/plot_Fig9_Fig10_force_timehistory.m` | Fig. 9, Fig. 10, and the low-pass-filter-cutoff sensitivity check (Section 4.3) || `02_SPHinXsys_ConfigFiles/owsc_empty_tank_validation/` | Source code for the empty-tank focused-wave validation (Section 3.3 / 4.1) || `02_SPHinXsys_ConfigFiles/owsc_pto_damping_sweep/` | Source code for the OWSC + PTO-damped case; `parameter_settings_per_case.md` documents the two constants edited across all 13 reported cases || `01_Wavemaker_Inputs/Supplementary_Table_S1_Spectrum_Parameters.csv` | 29-component wave-spectrum parameters (period, frequency, wavenumber, amplitude, phase), computed directly from `WaveMaking::computeWaveComponents()` || `01_Wavemaker_Inputs/wavemaker_motion_signal.dat` | Wavemaker stroke displacement/velocity time series, computed from `WaveMaking::getSurfaceStroke()` / `getSurfaceStrokeVelocity()` | ## 3. Filtering and smoothing parameters Two distinct methods are used for different quantities — they are not interchangeable: - **Horizontal force $F_x$** (Figs. 9, 10; Tables 2, 5): 4th-order Butterworth low-pass filter, zero-phase (`filtfilt`), cutoff frequency = 3.0 Hz. Sensitivity of the reported peak force to this cutoff was tested at 2.0 Hz and 4.0 Hz (Section 4.3); the resulting peak $|F_x|$ changed by $-12.8\%$ and $+7.8\%$, respectively, relative to the 3.0 Hz baseline.- **Pressure at PS1/PS2/PS3** (Table 4, Figs. 11, 14): moving-average smoothing (`smoothdata(...,'movmean', 250)`), a 250-sample window — not a Butterworth filter. ## 4. Time windows used - Table 4 (pressure peaks): $t = 20$–$25$ s- Table 5 / CWR (Eq. 17 integration window): $t = 18$–$35$ s- Transmission ratio (WP04–WP10, response to Reviewer 2 Comment 7): $t = 18$–$28$ s- Figs. 11 / 14 (full time history, with zoomed inset): $t = 0$–$40$ s, inset $t = 20$–$25$ s ## 5. Pressure probe file name Pressure at PS1/PS2/PS3 is written to `Observer_Pressure.dat`, produced by`ObservedQuantityRecording<Real> pressure_probe("Pressure", observer_contact_with_water);`in `owsc.cpp`. Probe locations ($x = 7.82$ m; $y = 0.26$/$0.48$/$0.65$ m for PS1/PS2/PS3) areset in `creatObserverPositions()` in `owsc.h`. ## 6. Known coverage gaps and open items - **Table 4 covers Cpto = 0–100 only (7 cases)**; Table 5 and the transmission table cover all 9 cases (0–150). [FILL: confirm whether pressure data for Cpto = 120 and 150 exists and was simply not tabulated, or was never recorded for these two cases.]- **Folder-naming inconsistency to resolve before packaging**: the Cpto = 5.0 case is referred to as `output k_d=5.0_dp=15` in one script and `output k_d=5.0` in another. [FILL: confirm which folder is the actual data source, or whether both exist and differ, and standardize all scripts to the same folder name before finalizing this package.]- The dp = 10 mm resolution attempt (using the empty-tank configuration) did not complete due to numerical instability during the focusing event; it is not included in the manuscript body and is mentioned only in the response to Reviewer 2, Comment 3. No output is archived for this case.- `calc_resolution_sensitivity.m` (Table 2) has not yet been assembled into a single final script; it currently exists as separate pieces covering (i) dp = 25/20/15/12.5 mm at Cpto = 5.0 and (ii) the Cpto = 60 high-damping check at dp = 15/12.5 mm. ## 7. Path convention All scripts in `04_PostProcessing_Scripts/` reference data via paths relative to their ownlocation, e.g.:```matlabbase_path = fullfile('..', '03_Raw_Time_Histories', 'PTO_Damping_Sweep_dp15.0');```Scripts should be run with the MATLAB working directory set to`04_PostProcessing_Scripts/` (e.g., after unzipping the package and navigating into thatfolder).



