mirror of
https://codeberg.org/Yael-II/MSc2-Project-Chaos.git
synced 2026-03-14 20:06:28 +01:00
update
This commit is contained in:
@@ -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()
|
||||
@@ -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)
|
||||
|
||||
@@ -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()
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -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()
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user