nontwist-dynamical-system
https://github.com/mrolims-publications/nontwist-dynamical-system
Science Score: 67.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 6 DOI reference(s) in README -
✓Academic publication links
Links to: sciencedirect.com -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (8.6%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: mrolims-publications
- Language: Jupyter Notebook
- Default Branch: main
- Size: 5.16 MB
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 2
Metadata Files
README.md
nontwist-dynamical-system
Code repository accompanying the publication entitled "Ratchet current and scaling invariance in a nontwist mapping".
This project contains the code to generate and plot the data from all figures.
Requirements
The required packages are listed in requirements.txt. To install them please execute pip install -r requirements.txt.
Figure 1
To generate the fixed points, phase space, and plot the figure, run all cells within the heading named Fig. 1 in the Plots.ipynb Jupyter notebook.
Figure 2
To generate the data of Figure 2, run python lyapunov_vs_eps.py arg1 arg2. Here, arg1 is the sample size of eps and arg2 is the total iteration time. Use arg1 = 1000 and arg2 = 1e8. To plot the figure, run all cells within the heading named Fig. 2 in the Plots.ipynb Jupyter notebook.
Figure 3
To generate Figure 3, run all cells within the heading named Fig. 3 in the Plots.ipynb Jupyter notebook.
Figure 4
To generate the data used in Figure 4, run python exe_survival_probability.py arg. Here, arg corresponds to each Figure, i.e., arg = a generates the data of Figure 4(a), arg = b generates the data of Figure 4(b), and arg = c generates the data of figure 4(c). To create the plot and perform the power law fitting, run all cells within the heading named Fig. 4 in the Plots.ipynb Jupyter notebook.
Figure 5
To generate the data of Figure 5, run python escape_time_and_basin.py arg. Here, arg corresponds to the limits of the survival region, I_esc. You need to run it four times, for the values of I_esc mentioned in the figure caption. To create the plot and obtain the values in Table II, run all cells within the heading named Fig. 5 in the Plots.ipynb Jupyter notebook.
Figure 6
To generate the data of Figure 6, run python escape_side_ratio_vs_Iesc.py arg. Here, arg corresponds to the perturbation eps. You need to run it three times using the values of eps mentioned in the figure caption. To create the plot, run all cells within the heading named Fig. 6 in the Plots.ipynb Jupyter notebook.
Figure 7
Figure 7(a)
To generate the data of Figure 7(a), compile the Fortran program I_averages.f90 with either gfortran or ifx. For example, ifx functions.f90 I_averages.f90 -o Iav.x, and run it as ./ Iav.x arg1 arg2 arg3. Here, arg1, arg1, and arg1 corresponds to the perturbation eps, the number of initial conditions n_ic, and the maximum iteration time N. For Figure 7(a), you need to run it using the values of eps mentioned in the figure with n_ic = 1e6 and N = 1e7.
Figures 7(b) and 7(c)
To generate the data of Figures 7(b) and 7(c), run python rec_times arg1 arg2. Here, arg1 and arg2 corresponds to the perturbation eps and the initial action I0, respectively. You need to run it with the values of eps mentioned in the figure with I0 = 1e-10 and I0 = -1e-10 to calculate the recurrence times of the lower and upper regions, respectively.
Creating the plot
To create the plot and generate the data of Table III, run all cells within the heading named Fig. 7 in the Plots.ipynb Jupyter notebook.
Figure 8
To generate the data of Figure 8, run the auxiliary script exe_Irms.py 1e4 1e8. It will compile the I_averages.f90 program with ifx and execute it for several values of eps (save them, you will need them for Figure 9). To create the plot, run all cells within the heading named Fig. 8 in the Plots.ipynb Jupyter notebook.
Figure 9
To generate the data of Figure 9, run the auxiliary script exe_Irms.py 1e4 1e8. It will compile the I_averages.f90 program with ifx and execute it for several values of eps. To create the plot and calculate the critical exponents, run all cells within the heading named Fig. 9 in the Plots.ipynb Jupyter notebook.
Citation
If you use this repository or parts of it in your work, please consider citing our research paper:
M. Rolim Sales et al., Ratchet current and scaling invariance in a nontwist mapping, Chaos, Solitons and Fractals 189 (2024) 115614.
bibtex
@article{RolimSales2024,
title = {Ratchet current and scaling properties in a nontwist mapping},
journal = {Chaos, Solitons \& Fractals},
volume = {189},
pages = {115614},
year = {2024},
issn = {0960-0779},
doi = {https://doi.org/10.1016/j.chaos.2024.115614},
url = {https://www.sciencedirect.com/science/article/pii/S0960077924011664},
author = {Matheus {Rolim Sales} and Daniel Borin and Leonardo Costa {de Souza} and José Danilo {Szezech Jr.} and Ricardo Luiz Viana and Iberê Luiz Caldas and Edson Denis Leonel},
}
Contact
Owner
- Name: mrolims-publications
- Login: mrolims-publications
- Kind: organization
- Repositories: 1
- Profile: https://github.com/mrolims-publications
Citation (CITATION.cff)
cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: Rolim Sales
given-names: Matheus
orcid: https://orcid.org/0000-0002-1121-6371
title: "nontwist-dynamical-system"
version: 1.0.9
identifiers:
- type: doi
value: 10.5281/zenodo.11154583
date-released: 2024-05-08
repository-code: "https://github.com/mrolims/nontwist-dynamical-system.git"
GitHub Events
Total
Last Year
Dependencies
- joblib ==1.2.0
- matplotlib ==3.8.0
- numba ==0.59.0
- numpy ==1.26.4
- pandas ==2.1.4
- scipy ==1.11.4