DOI: 10.5281/zenodo.14851014
title: Benchmark-Tasks: Duffing Oscillator Response Analysis (DORA)

description: 🔹 Release v1.0 - Duffing Oscillator Response Analysis (DORA)

This release provides a collection of benchmark tasks and datasets, accompanied by minimal code to generate, import, and plot the data. The primary focus is on the Duffing Oscillator Response Analysis (DORA) prediction task, which evaluates machine learning models' ability to generalize system responses in unseen parameter regimes.

 

🚀 Key Features:





Duffing Oscillator Response Analysis (DORA) Prediction Task:



Objective: Predict the response of a forced Duffing oscillator using a minimal training dataset. This task assesses a model's capability to extrapolate system behavior in unseen parameter regimes, specifically varying amplitudes of external periodic forcing.

Expectation: A proficient model should qualitatively capture the system's response, such as identifying the exact number of cycles in a limit-cycle regime or chaotic trajectories when the system transitions to a chaotic regime, all trained on limited datasets.





Comprehensive Dataset:



Training Data (DORA_Train.csv): Contains data for two external forcing amplitudes, ( f $\in$ [0.46, 0.49] ).

Testing Data (DORA_Test.csv): Includes data for five forcing amplitudes, ( f $\in$ [0.2, 0.35, 0.48, 0.58, 0.75] ).





📊 Data Description:





Each dataset comprises five columns:




Column
Description


t
Time variable


q1(t)
Time evolution of the Duffing oscillator's position


q2(t)
Time evolution of the Duffing oscillator's velocity


f(t)
Time evolution of external periodic forcing


f_amplitude
Constant amplitude during system evaluation (default: 250)




 





🛠 Utility Scripts and Notebooks:





Data Generation and Visualization:



DORA_generator.py: Generates, plots, and saves training and testing data.Usage:

python DORA_generator.py -time 250 -plots 1



DORA.ipynb: A Jupyter Notebook for dataset generation, loading, and plotting.





Data Loading and Plotting:



ReadData.py: Loads and plots the provided datasets (DORA_Train.csv and DORA_Test.csv).




📈 Model Evaluation:

The prediction model's success is determined by its ability to extrapolate system behavior outside the training data.System response characteristics for external forcing are quantified in terms of amplitude and mean of ( q1^2(t) ).These can be obtained using the provided Signal_Characteristic function.

🔹 Performance Metrics:





Response Amplitude Error:MSE[max(q1_prediction²(t > t)), max(q1_original²(t > t))]




Response Mean Error:MSE[Mean(q1_prediction²(t > t)), Mean(q1_original²(t > t))]




Note: ( t* = 20s ) denotes the steady-state time.



📌 Reference Implementation:

An exemplar solution using reservoir computing is detailed in the following:📖 Yadav et al., 2025 – Springer Nonlinear Dynamics

📄 Citation:

If you utilize this dataset or code in your research, please cite:

@article{Yadav2024,  author  = {Manish Yadav and Swati Chauhan and Manish Dev Shrimali and Merten Stender},  title   = {Predicting multi-parametric dynamics of an externally forced oscillator using reservoir computing and minimal data},  journal = {Nonlinear Dynamics},  year    = {2024},  doi     = {10.1007/s11071-024-10720-w}}