Skip to content
Snippets Groups Projects
Commit 560473fa authored by paul.albuquer's avatar paul.albuquer
Browse files

Edit cours_22.md

parent 6c48041d
No related branches found
No related tags found
No related merge requests found
Pipeline #39541 passed
......@@ -482,7 +482,7 @@ rien iteration_temporelle(étoiles, dt)
\footnotesize
* Si temps pour $N=1$ on calcule en $1\mu s$:
* Si le temps pour $N=1$ est environ $1\mu s$, on a:
+--------+-------+-------+-----------+
| N | N^2 | t [s] | t [réel] |
......@@ -493,7 +493,7 @@ rien iteration_temporelle(étoiles, dt)
+--------+-------+-------+-----------+
| 10^6 | 10^12 | 1e+6 | ~11j |
+--------+-------+-------+-----------+
| 10^9 | 10^18 | 1e+12 | ~30k ans |
| 10^9 | 10^18 | 1e+12 | ~30K ans |
+--------+-------+-------+-----------+
| 10^11 | 10^22 | 1e+16 | ~300M ans |
+--------+-------+-------+-----------+
......@@ -504,7 +504,7 @@ rien iteration_temporelle(étoiles, dt)
# Question
## Comment faire mieux, des idées?
## Comment faire mieux? Des idées?
. . .
......@@ -588,7 +588,7 @@ rien iteration_temporelle(étoiles, dt)
![](figs/nbody_qt_withtree.png)
* On omet les nœuds vides pour éviter la surcharge.
* On omet les nœuds vides pour alléger la représentation.
* La numérotation est:
* 0: ID
* 1: SD
......@@ -814,8 +814,8 @@ rien insertion_etoile(arbre, e)
* L'arbre est rempli: comment on calcule la force sur le corps 1?
* Parcours de l'arbre:
* si la distance entre 1 et le centre de masse est suffisante, on utilise la masse totale et centre de masse pour calculer la force.
* sinon, on continue le parcours
* Si la distance entre 1 et le centre de masse est suffisante, on utilise la masse totale et centre de masse pour calculer la force.
* Sinon on continue le parcours.
# Calcul de la force
......@@ -831,7 +831,7 @@ rien insertion_etoile(arbre, e)
![](figs/force_2.png)
* Le cadrant SG ne contient `5` corps.
* Le cadrant SG contient `5` corps.
# Calcul de la force
......@@ -854,7 +854,7 @@ rien insertion_etoile(arbre, e)
# Critère $\theta$
* On compare $d=||\vec x_1-\vec x_{cm}||$ avec $s$ la taille du quadrant.
* Le domain est assez éloigné si
* Le domaine est assez éloigné si
$$
\frac{s}{d}<\theta,
......@@ -873,7 +873,7 @@ rien insertion_etoile(arbre, e)
![](figs/force_4.png)
* Ici $d<2s$, domaine rejeté.
* ON descend dans l'arbre.
* On descend dans l'arbre.
# Calcul de la force
......@@ -898,7 +898,7 @@ rien insertion_etoile(arbre, e)
Pour calculer la force sur un corps `c`, on parcourt l'arbre en commençant par la racine:
* Si le nœud `n` est une feuille et n'est pas `c`, on ajoute la force dûe à `n` sur `c`;
* Sinon si $s/d<\theta$, on traite `n` comme une feuille et on ajoute la force dûe à `n` sur `c`;
* Sinon, si $s/d<\theta$, on traite `n` comme une feuille et on ajoute la force dûe à `n` sur `c`;
* Sinon on continue sur les enfants récursivement.
......@@ -915,7 +915,7 @@ Pour calculer la force sur un corps `c`, on parcourt l'arbre en commençant par
. . .
* Et oui! $d>2s$ on peut remplacer les étoiles par leur centre de masse!
* Et oui! $d>2s$, donc on peut remplacer les étoiles par leur centre de masse!
# Algorithme du calcul de force
......@@ -928,7 +928,8 @@ rien maj_force_sur_etoile(arbre, e, theta)
si est_vide(arbre)
retourne
si est_feuille(arbre) && contient_etoile(arbre) && dans_le_quadrant(arbre.q, e.x)
si est_feuille(arbre) && contient_etoile(arbre)
&& dans_le_quadrant(arbre.q, e.x)
maj_force(e, arbre.e)
sinon si noeud_assez_loin(arbre, e, theta)
maj_force(e, arbre.sup_etoile)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment