From 503017ac91859e393f88ab891db936b171ecb1d2 Mon Sep 17 00:00:00 2001 From: Yael-II <154762804+Yael-II@users.noreply.github.com> Date: Sun, 19 Jan 2025 18:09:01 +0100 Subject: [PATCH] update --- Source/TODEL_area.py | 67 ------------- Source/TODEL_equations.py | 17 ---- Source/TODEL_main_yael.py | 114 ---------------------- Source/TODEL_poincare_test.py | 58 ----------- Source/YII_1.mplstyle | 26 +++++ Source/YII_light_1.mplstyle | 26 +++++ Source/energies.py | 24 ++++- Source/initial_conditions.py | 24 ++++- Source/integrator.py | 25 ++++- Source/main_area.py | 25 ++++- Source/main_poincare_sections_linear.py | 25 ++++- Source/main_poincare_sections_parallel.py | 25 ++++- Source/plot_area.py | 25 ++++- Source/plot_poincare_sections.py | 25 ++++- Source/plot_poincare_sections_zoom.py | 24 ++++- Source/poincare_sections.py | 24 ++++- Source/potentials.py | 25 ++++- Source/test_evolution.py | 25 ++++- Source/test_initial_E.py | 25 ++++- Source/test_potentials.py | 25 ++++- Source/time_poincare_sections.py | 24 ++++- 21 files changed, 407 insertions(+), 271 deletions(-) delete mode 100644 Source/TODEL_area.py delete mode 100644 Source/TODEL_equations.py delete mode 100644 Source/TODEL_main_yael.py delete mode 100644 Source/TODEL_poincare_test.py diff --git a/Source/TODEL_area.py b/Source/TODEL_area.py deleted file mode 100644 index f2f14d4..0000000 --- a/Source/TODEL_area.py +++ /dev/null @@ -1,67 +0,0 @@ -import numpy as np -import matplotlib.pyplot as plt -import potentials as pot -import integrator as itg -import initial_conditions as init - -# Parameters -h = 0.01 # Step size for integrator -N_inter = 500 # Number of iterations for distance calculation -eps = 1e-3 # Perturbation distance -mu_c = 0.6 # Threshold for classifying ergodic vs regular -energy_values = np.array([0.01, 0.02, 0.04, 0.08, 0.10, 0.12, 0.14, 0.16, 0.18]) -N_PART = 100 - -def classify_point(P1, P1_prime): - pos_t1, positions1 = itg.rk4(0, P1, h, N_inter, pot.hh_evolution) - pos_t2, positions2 = itg.rk4(0, P1_prime, h, N_inter, pot.hh_evolution) - - # Compute the sum of squared distances (μ) - mu = 0 - for i in range(N_inter): - y1, y_dot1 = positions1[i, 0, 1], positions1[i, 1, 1] - y2, y_dot2 = positions2[i, 0, 1], positions2[i, 1, 1] - x1, x_dot1 = positions1[i, 0, 0], positions1[i, 1, 0] - x2, x_dot2 = positions2[i, 0, 0], positions2[i, 1, 0] - - squared_distance = (np.sqrt((x2 - x1)**2 + (y2 - y1) ** 2 + (x_dot2 - x_dot1) ** 2 +(y_dot2 - y_dot1) ** 2))**2 - mu += squared_distance - - return mu - -# Analyze for different energy values -relative_areas = [] - -for E in energy_values: - # Generate initial conditions for the given energy level - initial_conditions = init.n_energy_part(pot.hh_potential, N=N_PART, E=E) - initial_conditions_eps = initial_conditions.copy() - initial_conditions_eps[0,1] += eps - n_regular = 0 - - # Loop through each initial condition - for i in range(N_PART): - P1 = initial_conditions[:, :, i] - # Perturb the initial point slightly - P1_prime = initial_conditions_eps[:,:,i] - - # Classify the point based on the evolution - mu = classify_point(P1, P1_prime) - np.nan_to_num(mu, copy=False, nan=1.0) - - print(f"the mu value is {mu}") - if mu < mu_c: - n_regular += 1 - - # Compute the relative area covered by regular points - relative_area = n_regular / N_PART - relative_areas.append(relative_area) - -# Plot the results -plt.figure() -plt.plot(energy_values, relative_areas, marker='o', color='C0') -plt.xlabel("Energy (E)") -plt.ylabel("Relative Area Covered by Regular Curves") -plt.title("Transition from Ergodic to Stable Regime") -plt.grid() -plt.show() diff --git a/Source/TODEL_equations.py b/Source/TODEL_equations.py deleted file mode 100644 index 030709a..0000000 --- a/Source/TODEL_equations.py +++ /dev/null @@ -1,17 +0,0 @@ -from sympy import * - -# Forces -X, Y, U, V = symbols("X, Y, U, V") -POT = (X**2 + Y**2 + 2*X**2*Y - 2*Y**3/3)/2 -KIN = (U**2 + V**2)/2 -TOT = KIN + POT - -DX = diff(POT, X) -DY = diff(POT, Y) - -FX = -DX -FY = -DY - -print(FX) -print(FY) - diff --git a/Source/TODEL_main_yael.py b/Source/TODEL_main_yael.py deleted file mode 100644 index 82f551d..0000000 --- a/Source/TODEL_main_yael.py +++ /dev/null @@ -1,114 +0,0 @@ -import time -import numpy as np -import matplotlib.pyplot as plt -from scipy.optimize import curve_fit - -import potentials as pot -import energies as ene -import integrator as itg -import initial_conditions as init -import poincare_sections as pcs - -if "YII_light_1" in plt.style.available: - plt.style.use("YII_light_1") -# Loading matplotlib style... -# PARAM -N_grid = 1000 -N_inter = int(1e5) -N_part = 200 -#all_E = np.array([1/100, 1/12, 1/10, 1/8, 1/6]) -all_E = np.linspace(1/100, 1/6, 20) -h = 0.005 - -mu_c = 1e-4 -d_12 = 1e-7 - -# INIT -W_grid = init.mesh_grid(N_grid, xmin=-1, xmax=1, ymin=-1, ymax=1) -X_grid = W_grid[0] -Y_grid = W_grid[1] -potential = pot.hh_potential(W_grid, position_only=True) - -# MAIN -def gen_mu(E): - pot_valid = np.ma.masked_where(potential > E, potential) - W_1 = init.n_energy_part(pot.hh_potential, N_part, E) - W_2 = np.zeros_like(W_1) - alpha = np.random.uniform(0, 2*np.pi, N_part) - W_2[0, 0] = W_1[0, 0] + d_12*np.cos(alpha) - W_2[0, 1] = W_1[0, 1] + d_12*np.sin(alpha) - W_2[1, 0] = W_1[1, 0] - W_2[1, 1] = W_1[1, 1] - - t_1, positions_1 = itg.rk4(0, W_1, h, N_inter, pot.hh_evolution) - x_1 = positions_1[:, 0, 0] - y_1 = positions_1[:, 0, 1] - u_1 = positions_1[:, 1, 0] - v_1 = positions_1[:, 1, 1] - - t_2, positions_2 = itg.rk4(0, W_2, h, N_inter, pot.hh_evolution) - x_2 = positions_2[:, 0, 0] - y_2 = positions_2[:, 0, 1] - u_2 = positions_2[:, 1, 0] - v_2 = positions_2[:, 1, 1] - dist_sq = (x_2[-25:] - x_1[-25:])**2 \ - + (y_2[-25:] - y_1[-25:])**2 \ - + (u_2[-25:] - u_1[-25:])**2 \ - + (v_2[-25:] - v_1[-25:])**2 - - mu = np.sum(dist_sq, axis=0) - return mu - -A = np.zeros_like(all_E) -MU = [] -ALL_E = [] -for i in range(len(all_E)): - mu = gen_mu(all_E[i]) - n_total = N_part - n_ergo = np.sum(mu < mu_c) # count how many times the condition is verified - A[i] = n_ergo/n_total - MU.append(mu) - ALL_E.append([all_E[i]]*len(mu)) - -MU = np.array(MU) -ALL_E = np.array(ALL_E) - -# def lin(x, a, b): -# return a*x + b - -# w_chaos = np.argwhere(A < 1).flatten() -# X = all_E[w_chaos] -# Y = A[w_chaos] - -# popt, pcov = curve_fit(lin, X, Y) -# a, b = popt -# da, db = np.sqrt(np.diag(pcov)) - -fig, ax = plt.subplots(1) -ax.scatter(ALL_E, MU, s=1, - color="k", alpha=0.1, label="Data") -ax.scatter(all_E, np.mean(MU, axis=1), s=10, - color="C3", marker="*", label="Mean") -ax.scatter(all_E, np.median(MU, axis=1), s=10, - color="C2", marker="s", label="Median") -ax.hlines(mu_c, np.min(all_E), np.max(all_E), color="C4") -ax.legend() -ax.set_yscale("log") -ax.set_xlabel("energy E") -ax.set_ylabel("quantity mu") - -fig.tight_layout() -# fig.savefig("mu") - -fig, ax = plt.subplots(1) -ax.scatter(all_E, A, color="C0", s=5, marker="o", label="Data") -ax.set_xlabel("energy E") -ax.set_ylabel("area A") -ax.legend() -fig.tight_layout() -# fig.savefig("area") -plt.show() - - - - diff --git a/Source/TODEL_poincare_test.py b/Source/TODEL_poincare_test.py deleted file mode 100644 index bc4c385..0000000 --- a/Source/TODEL_poincare_test.py +++ /dev/null @@ -1,58 +0,0 @@ -import numpy as np -import matplotlib.pyplot as plt -import potentials as pot -import energies as ene -import integrator as itg -import initial_conditions as init -import poincare_sections as pcs - -h = 0.01 -N_inter = 30000 -eps = 1e-2 - -x_0 = 0.0 -y_vals = np.linspace(0, 0.6, 50) -E = 0.125 # 1/12 - -# Initialize lists to store all Poincaré points across different initial conditions -all_pcs_pos_y = [] -all_pcs_vel_y = [] - - -for i in range(len(y_vals)): - y0 = y_vals[i] - W_part = init.one_part(x_0, y0, 0, 0) - POT = pot.hh_potential(W_part)[0] - u_0 = np.sqrt(2 * (E - POT)) - v_0 = 0.0 - - - W_part[1, 0] = u_0 - W_part[1, 1] = v_0 - - # Perform integration - pos_t, positions = itg.rk4(0, W_part, h, N_inter, pot.hh_evolution) - - # Extract positions and velocities - pos_x = positions[:, 0, 0] - pos_y = positions[:, 0, 1] - vel_x = positions[:, 1, 0] - vel_y = positions[:, 1, 1] - - # Find Poincaré section points for the current initial condition - pcs_pos_y, pcs_vel_y = pcs.pcs_find(pos_x, pos_y, vel_x, vel_y) - - # Append the current Poincaré section points to the overall lists - all_pcs_pos_y.extend(pcs_pos_y) - all_pcs_vel_y.extend(pcs_vel_y) - -# Plotting all Poincaré section points on the same graph -fig, ax = plt.subplots() -ax.scatter(all_pcs_pos_y, all_pcs_vel_y, s=2, color="C4") - -# Set labels and legend -ax.set_xlabel("coordinate y") -ax.set_ylabel("velocity v") -ax.set_title("Combined Poincaré Section for Multiple Initial y0 Values") - -plt.show() diff --git a/Source/YII_1.mplstyle b/Source/YII_1.mplstyle index 4eefd5c..a42b108 100755 --- a/Source/YII_1.mplstyle +++ b/Source/YII_1.mplstyle @@ -1,3 +1,29 @@ +#@ Author: Moussouni, Yaël (MSc student) +#@ Institution: Université de Strasbourg, CNRS, Observatoire astronomique +# de Strasbourg, UMR 7550, F-67000 Strasbourg, France +#@ Date: 2025-01-01 +# +#Licence: +#Order and Chaos in a 2D potential +#Copyright (C) 2025 Yaël Moussouni (yael.moussouni@etu.unistra.fr) +# Bhat, Junaid Ramzan (junaid-ramzan.bhat@etu.unistra.fr) +# +#YII_1.mplstyle +#Copyright (C) 2025 Yaël Moussouni (yael.moussouni@etu.unistra.fr) +# +#This program is free software: you can redistribute it and/or modify +#it under the terms of the GNU General Public License as published by +#the Free Software Foundation; either version 3 of the License, or +#(at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU General Public License for more details. +# +#You should have received a copy of the GNU General Public License +#along with this program. If not, see https://www.gnu.org/licenses/. + ### Axes axes.titlesize : large axes.labelsize : large diff --git a/Source/YII_light_1.mplstyle b/Source/YII_light_1.mplstyle index e689819..750cf39 100755 --- a/Source/YII_light_1.mplstyle +++ b/Source/YII_light_1.mplstyle @@ -1,3 +1,29 @@ +#@ Author: Moussouni, Yaël (MSc student) +#@ Institution: Université de Strasbourg, CNRS, Observatoire astronomique +# de Strasbourg, UMR 7550, F-67000 Strasbourg, France +#@ Date: 2025-01-01 +# +#Licence: +#Order and Chaos in a 2D potential +#Copyright (C) 2025 Yaël Moussouni (yael.moussouni@etu.unistra.fr) +# Bhat, Junaid Ramzan (junaid-ramzan.bhat@etu.unistra.fr) +# +#YII_light_1.mplstyle +#Copyright (C) 2025 Yaël Moussouni (yael.moussouni@etu.unistra.fr) +# +#This program is free software: you can redistribute it and/or modify +#it under the terms of the GNU General Public License as published by +#the Free Software Foundation; either version 3 of the License, or +#(at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU General Public License for more details. +# +#You should have received a copy of the GNU General Public License +#along with this program. If not, see https://www.gnu.org/licenses/. + ### Axes axes.titlesize : large axes.labelsize : large diff --git a/Source/energies.py b/Source/energies.py index 354d923..34cf70f 100644 --- a/Source/energies.py +++ b/Source/energies.py @@ -7,7 +7,29 @@ Compute energies (kinetic or total) @ Author: Moussouni, Yaël (MSc student) & Bhat, Junaid Ramzan (MSc student) @ Institution: Université de Strasbourg, CNRS, Observatoire astronomique de Strasbourg, UMR 7550, F-67000 Strasbourg, France -@ Date: 2024-12-13 +@ Date: 2025-01-01 + +Licence: +Order and Chaos in a 2D potential +Copyright (C) 2025 Yaël Moussouni (yael.moussouni@etu.unistra.fr) + Bhat, Junaid Ramzan (junaid-ramzan.bhat@etu.unistra.fr) + +energies.py +Copyright (C) 2025 Yaël Moussouni (yael.moussouni@etu.unistra.fr) + Bhat, Junaid Ramzan (junaid-ramzan.bhat@etu.unistra.fr) + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see https://www.gnu.org/licenses/. """ import numpy as np diff --git a/Source/initial_conditions.py b/Source/initial_conditions.py index 4f48950..e0361d3 100644 --- a/Source/initial_conditions.py +++ b/Source/initial_conditions.py @@ -7,7 +7,29 @@ Generate initial conditions depending on different criteria @ Author: Moussouni, Yaël (MSc student) & Bhat, Junaid Ramzan (MSc student) @ Institution: Université de Strasbourg, CNRS, Observatoire astronomique de Strasbourg, UMR 7550, F-67000 Strasbourg, France -@ Date: 2024-11-29 +@ Date: 2025-01-01 + +Licence: +Order and Chaos in a 2D potential +Copyright (C) 2025 Yaël Moussouni (yael.moussouni@etu.unistra.fr) + Bhat, Junaid Ramzan (junaid-ramzan.bhat@etu.unistra.fr) + +initial_conditions.py +Copyright (C) 2025 Yaël Moussouni (yael.moussouni@etu.unistra.fr) + Bhat, Junaid Ramzan (junaid-ramzan.bhat@etu.unistra.fr) + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see https://www.gnu.org/licenses/. """ import numpy as np diff --git a/Source/integrator.py b/Source/integrator.py index ceb765a..32e5660 100644 --- a/Source/integrator.py +++ b/Source/integrator.py @@ -7,7 +7,30 @@ Integrate differential equations. @ Author: Moussouni, Yaël (MSc student) & Bhat, Junaid Ramzan (MSc student) @ Institution: Université de Strasbourg, CNRS, Observatoire astronomique de Strasbourg, UMR 7550, F-67000 Strasbourg, France -@ Date: 2024-11-29 +@ Date: 2025-01-01 + +Licence: +Order and Chaos in a 2D potential +Copyright (C) 2025 Yaël Moussouni (yael.moussouni@etu.unistra.fr) + Bhat, Junaid Ramzan (junaid-ramzan.bhat@etu.unistra.fr) + +integrator.py +Copyright (C) 2025 Yaël Moussouni (yael.moussouni@etu.unistra.fr) + Bhat, Junaid Ramzan (junaid-ramzan.bhat@etu.unistra.fr) + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see https://www.gnu.org/licenses/. + """ import numpy as np diff --git a/Source/main_area.py b/Source/main_area.py index a164dff..99fee4c 100644 --- a/Source/main_area.py +++ b/Source/main_area.py @@ -8,7 +8,30 @@ study ordered and chaotic regimes. @ Author: Moussouni, Yaël (MSc student) & Bhat, Junaid Ramzan (MSc student) @ Institution: Université de Strasbourg, CNRS, Observatoire astronomique de Strasbourg, UMR 7550, F-67000 Strasbourg, France -@ Date: 2024-12-13 +@ Date: 2025-01-01 + +Licence: +Order and Chaos in a 2D potential +Copyright (C) 2025 Yaël Moussouni (yael.moussouni@etu.unistra.fr) + Bhat, Junaid Ramzan (junaid-ramzan.bhat@etu.unistra.fr) + +main_area.py +Copyright (C) 2025 Yaël Moussouni (yael.moussouni@etu.unistra.fr) + Bhat, Junaid Ramzan (junaid-ramzan.bhat@etu.unistra.fr) + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see https://www.gnu.org/licenses/. + """ import numpy as np from scipy.optimize import curve_fit diff --git a/Source/main_poincare_sections_linear.py b/Source/main_poincare_sections_linear.py index 9b6dfc7..9b2eacd 100644 --- a/Source/main_poincare_sections_linear.py +++ b/Source/main_poincare_sections_linear.py @@ -8,7 +8,30 @@ Computes the Poincaré Sections with a linear algorithm @ Author: Moussouni, Yaël (MSc student) & Bhat, Junaid Ramzan (MSc student) @ Institution: Université de Strasbourg, CNRS, Observatoire astronomique de Strasbourg, UMR 7550, F-67000 Strasbourg, France -@ Date: 2024-11-29 +@ Date: 2025-01-01 + +Licence: +Order and Chaos in a 2D potential +Copyright (C) 2025 Yaël Moussouni (yael.moussouni@etu.unistra.fr) + Bhat, Junaid Ramzan (junaid-ramzan.bhat@etu.unistra.fr) + +main_poincare_sections_linear.py +Copyright (C) 2025 Yaël Moussouni (yael.moussouni@etu.unistra.fr) + Bhat, Junaid Ramzan (junaid-ramzan.bhat@etu.unistra.fr) + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see https://www.gnu.org/licenses/. + """ import numpy as np diff --git a/Source/main_poincare_sections_parallel.py b/Source/main_poincare_sections_parallel.py index 6e55e7b..aab9527 100644 --- a/Source/main_poincare_sections_parallel.py +++ b/Source/main_poincare_sections_parallel.py @@ -7,7 +7,30 @@ Computes the Poincaré Sections with a parallel algorithm (with Numpy) @ Author: Moussouni, Yaël (MSc student) & Bhat, Junaid Ramzan (MSc student) @ Institution: Université de Strasbourg, CNRS, Observatoire astronomique de Strasbourg, UMR 7550, F-67000 Strasbourg, France -@ Date: 2024-11-29 +@ Date: 2025-01-01 + +Licence: +Order and Chaos in a 2D potential +Copyright (C) 2025 Yaël Moussouni (yael.moussouni@etu.unistra.fr) + Bhat, Junaid Ramzan (junaid-ramzan.bhat@etu.unistra.fr) + +main_poincare_sections_parallel.py +Copyright (C) 2025 Yaël Moussouni (yael.moussouni@etu.unistra.fr) + Bhat, Junaid Ramzan (junaid-ramzan.bhat@etu.unistra.fr) + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see https://www.gnu.org/licenses/. + """ import numpy as np diff --git a/Source/plot_area.py b/Source/plot_area.py index 5886caf..3068403 100644 --- a/Source/plot_area.py +++ b/Source/plot_area.py @@ -7,7 +7,30 @@ Plots areas @ Author: Moussouni, Yaël (MSc student) & Bhat, Junaid Ramzan (MSc student) @ Institution: Université de Strasbourg, CNRS, Observatoire astronomique de Strasbourg, UMR 7550, F-67000 Strasbourg, France -@ Date: 2024-11-29 +@ Date: 2025-01-01 + +Licence: +Order and Chaos in a 2D potential +Copyright (C) 2025 Yaël Moussouni (yael.moussouni@etu.unistra.fr) + Bhat, Junaid Ramzan (junaid-ramzan.bhat@etu.unistra.fr) + +plot_area.py +Copyright (C) 2025 Yaël Moussouni (yael.moussouni@etu.unistra.fr) + Bhat, Junaid Ramzan (junaid-ramzan.bhat@etu.unistra.fr) + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see https://www.gnu.org/licenses/. + """ import os import numpy as np diff --git a/Source/plot_poincare_sections.py b/Source/plot_poincare_sections.py index d506dc0..6908228 100644 --- a/Source/plot_poincare_sections.py +++ b/Source/plot_poincare_sections.py @@ -8,7 +8,30 @@ or parallel algorithms. @ Author: Moussouni, Yaël (MSc student) & Bhat, Junaid Ramzan (MSc student) @ Institution: Université de Strasbourg, CNRS, Observatoire astronomique de Strasbourg, UMR 7550, F-67000 Strasbourg, France -@ Date: 2024-11-29 +@ Date: 2025-01-01 + +Licence: +Order and Chaos in a 2D potential +Copyright (C) 2025 Yaël Moussouni (yael.moussouni@etu.unistra.fr) + Bhat, Junaid Ramzan (junaid-ramzan.bhat@etu.unistra.fr) + +plot_poincare_sections.py +Copyright (C) 2025 Yaël Moussouni (yael.moussouni@etu.unistra.fr) + Bhat, Junaid Ramzan (junaid-ramzan.bhat@etu.unistra.fr) + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see https://www.gnu.org/licenses/. + """ import os import numpy as np diff --git a/Source/plot_poincare_sections_zoom.py b/Source/plot_poincare_sections_zoom.py index 058d87e..8d20c2d 100644 --- a/Source/plot_poincare_sections_zoom.py +++ b/Source/plot_poincare_sections_zoom.py @@ -8,7 +8,29 @@ or parallel algorithms. @ Author: Moussouni, Yaël (MSc student) & Bhat, Junaid Ramzan (MSc student) @ Institution: Université de Strasbourg, CNRS, Observatoire astronomique de Strasbourg, UMR 7550, F-67000 Strasbourg, France -@ Date: 2024-11-29 +@ Date: 2025-01-01 + +Licence: +Order and Chaos in a 2D potential +Copyright (C) 2025 Yaël Moussouni (yael.moussouni@etu.unistra.fr) + Bhat, Junaid Ramzan (junaid-ramzan.bhat@etu.unistra.fr) + +plot_poincare_sections_zoom.py +Copyright (C) 2025 Yaël Moussouni (yael.moussouni@etu.unistra.fr) + Bhat, Junaid Ramzan (junaid-ramzan.bhat@etu.unistra.fr) + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see https://www.gnu.org/licenses/. """ import os import numpy as np diff --git a/Source/poincare_sections.py b/Source/poincare_sections.py index 1ec7d07..ead7bb0 100644 --- a/Source/poincare_sections.py +++ b/Source/poincare_sections.py @@ -7,7 +7,29 @@ Computes the Poincaré Sections @ Author: Moussouni, Yaël (MSc student) & Bhat, Junaid Ramzan (MSc student) @ Institution: Université de Strasbourg, CNRS, Observatoire astronomique de Strasbourg, UMR 7550, F-67000 Strasbourg, France -@ Date: 2024-11-29 +@ Date: 2025-01-01 + +Licence: +Order and Chaos in a 2D potential +Copyright (C) 2025 Yaël Moussouni (yael.moussouni@etu.unistra.fr) + Bhat, Junaid Ramzan (junaid-ramzan.bhat@etu.unistra.fr) + +poincare_sections.py +Copyright (C) 2025 Yaël Moussouni (yael.moussouni@etu.unistra.fr) + Bhat, Junaid Ramzan (junaid-ramzan.bhat@etu.unistra.fr) + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see https://www.gnu.org/licenses/. """ import numpy as np diff --git a/Source/potentials.py b/Source/potentials.py index d81d996..4032158 100644 --- a/Source/potentials.py +++ b/Source/potentials.py @@ -7,7 +7,30 @@ Functions of the different potentials (and their derivatives for the evolution) @ Author: Moussouni, Yaël (MSc student) & Bhat, Junaid Ramzan (MSc student) @ Institution: Université de Strasbourg, CNRS, Observatoire astronomique de Strasbourg, UMR 7550, F-67000 Strasbourg, France -@ Date: 2024-11-29 +@ Date: 2025-01-01 + +Licence: +Order and Chaos in a 2D potential +Copyright (C) 2025 Yaël Moussouni (yael.moussouni@etu.unistra.fr) + Bhat, Junaid Ramzan (junaid-ramzan.bhat@etu.unistra.fr) + +potentials.py +Copyright (C) 2025 Yaël Moussouni (yael.moussouni@etu.unistra.fr) + Bhat, Junaid Ramzan (junaid-ramzan.bhat@etu.unistra.fr) + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see https://www.gnu.org/licenses/. + """ import numpy as np diff --git a/Source/test_evolution.py b/Source/test_evolution.py index 9597a83..942cca1 100644 --- a/Source/test_evolution.py +++ b/Source/test_evolution.py @@ -8,7 +8,30 @@ followed by the particle in a given time. @ Author: Moussouni, Yaël (MSc student) & Bhat, Junaid Ramzan (MSc student) @ Institution: Université de Strasbourg, CNRS, Observatoire astronomique de Strasbourg, UMR 7550, F-67000 Strasbourg, France -@ Date: 2024-11-29 +@ Date: 2025-01-01 + +Licence: +Order and Chaos in a 2D potential +Copyright (C) 2025 Yaël Moussouni (yael.moussouni@etu.unistra.fr) + Bhat, Junaid Ramzan (junaid-ramzan.bhat@etu.unistra.fr) + +test_evolution.py +Copyright (C) 2025 Yaël Moussouni (yael.moussouni@etu.unistra.fr) + Bhat, Junaid Ramzan (junaid-ramzan.bhat@etu.unistra.fr) + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see https://www.gnu.org/licenses/. + """ import numpy as np diff --git a/Source/test_initial_E.py b/Source/test_initial_E.py index 0e29163..8443a02 100644 --- a/Source/test_initial_E.py +++ b/Source/test_initial_E.py @@ -7,7 +7,30 @@ Sample random particles with the same given energy in a valid coordinates range. @ Author: Moussouni, Yaël (MSc student) & Bhat, Junaid Ramzan (MSc student) @ Institution: Université de Strasbourg, CNRS, Observatoire astronomique de Strasbourg, UMR 7550, F-67000 Strasbourg, France -@ Date: 2024-11-29 +@ Date: 2025-01-01 + +Licence: +Order and Chaos in a 2D potential +Copyright (C) 2025 Yaël Moussouni (yael.moussouni@etu.unistra.fr) + Bhat, Junaid Ramzan (junaid-ramzan.bhat@etu.unistra.fr) + +test_initial_E.py +Copyright (C) 2025 Yaël Moussouni (yael.moussouni@etu.unistra.fr) + Bhat, Junaid Ramzan (junaid-ramzan.bhat@etu.unistra.fr) + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see https://www.gnu.org/licenses/. + """ import numpy as np import matplotlib.pyplot as plt diff --git a/Source/test_potentials.py b/Source/test_potentials.py index 4f6f08e..2f24d3e 100644 --- a/Source/test_potentials.py +++ b/Source/test_potentials.py @@ -7,7 +7,30 @@ Draw the Kepler potential and the Hénon--Heils potential @ Author: Moussouni, Yaël (MSc student) & Bhat, Junaid Ramzan (MSc student) @ Institution: Université de Strasbourg, CNRS, Observatoire astronomique de Strasbourg, UMR 7550, F-67000 Strasbourg, France -@ Date: 2024-11-29 +@ Date: 2025-01-01 + +Licence: +Order and Chaos in a 2D potential +Copyright (C) 2025 Yaël Moussouni (yael.moussouni@etu.unistra.fr) + Bhat, Junaid Ramzan (junaid-ramzan.bhat@etu.unistra.fr) + +test_potentials.py +Copyright (C) 2025 Yaël Moussouni (yael.moussouni@etu.unistra.fr) + Bhat, Junaid Ramzan (junaid-ramzan.bhat@etu.unistra.fr) + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see https://www.gnu.org/licenses/. + """ import numpy as np import matplotlib.pyplot as plt diff --git a/Source/time_poincare_sections.py b/Source/time_poincare_sections.py index 7586ecb..7566556 100644 --- a/Source/time_poincare_sections.py +++ b/Source/time_poincare_sections.py @@ -7,7 +7,29 @@ Computes the running time between the linear and parallel algorithms. @ Author: Moussouni, Yaël (MSc student) & Bhat, Junaid Ramzan (MSc student) @ Institution: Université de Strasbourg, CNRS, Observatoire astronomique de Strasbourg, UMR 7550, F-67000 Strasbourg, France -@ Date: 2024-11-29 +@ Date: 2025-01-01 + +Licence: +Order and Chaos in a 2D potential +Copyright (C) 2025 Yaël Moussouni (yael.moussouni@etu.unistra.fr) + Bhat, Junaid Ramzan (junaid-ramzan.bhat@etu.unistra.fr) + +time_poincare_sections.py +Copyright (C) 2025 Yaël Moussouni (yael.moussouni@etu.unistra.fr) + Bhat, Junaid Ramzan (junaid-ramzan.bhat@etu.unistra.fr) + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see https://www.gnu.org/licenses/. """ import time