Skip to content
Snippets Groups Projects
Unverified Commit 322ca78a authored by orestis.malaspin's avatar orestis.malaspin
Browse files

ajout verlet

parent d01ffd88
No related branches found
No related tags found
No related merge requests found
Pipeline #12545 passed
......@@ -918,15 +918,16 @@ et leur position $\vec r_i$, sachant que:
1. Calculer la force résultante dûe à l'attraction gravitationnelle sur chaque particule
\begin{equation}
$$
\vec F_i = \sum_{j=1,j\neq i}^N\vec F_{ij},
\end{equation}
$$
où $\vec F_{ij}$ est la force gravitationnelle entre la particule $i$ et la particule $j$, et est donnée par
\begin{equation}
$$
\vec F_{ij}=G\frac{m_i m_j}{||\vec r_{ij}||^2}\vec r_{ij},
\end{equation}
où $\vec r_{ij}$ est le vecteur reliant la particule $i$ à la particule $j$.
2. Si chaque particule, $p_i$, a de plus une vitesse $\vec v_i$, calculer la force résultante sur chaque particule si $k=10 \kg/\s$.
$$
où $\vec r_{ij}$ est le vecteur reliant la particule $i$ à la particule $j$, $G=6.67\cdot 10^{-11}\ \m^3/(\kg\cdot \s^2)$
est la constante universelle de gravitation.
2. Si chaque particule, $p_i$, a de plus une vitesse $\vec v_i$, calculer la force résultante sur chaque particule si $k=10 \kg/\s$ ($k$ est le coefficient de résistance de l'objet dans le fluide).
---
......@@ -947,14 +948,97 @@ généraliser un petit pou tout ça, en supposant que la vitesse et l'accéléra
Pour simplifier, nous allons *discrétiser* le temps. Au lieu de laisser le temps prendre n'importe quelle
valeur réelle positive, $t\in\real^+$, il ne pourra prendre que les valeurs suivantes:
\begin{equation}
$$
t_j=j\cdot \delta t,
\end{equation}
$\delta t>0$ étant le pas de discrétisation temporel et $j\in\integer^+$.
$$
$\delta t>0$ étant le pas de discrétisation temporel et $j\in\integer^+$ (voir @fig:time_discr).
![Illustration de la discrétisation temporelle.](figs/time_discr.svg){#fig:time_discr}
### Le mouvement sans accélération
Supposons que pour notre particule $P$, nous connaissons sa position initiale, $\vec x(0)$ et sa vitesse
en tout temps, $\vec v(t)$. Nous souhaitons connaître une approximation de la position $\vec x(t_j)$
en tout temps, $\vec v(t)$. Nous souhaitons connaître une approximation de la position $\vec x(t_j)$.
Pour ce faire nous commençons au point $\vec x(0)$ et calculons sa nouvelle position
à l'aide de la vitesse $\vec v(0)$
$$
\vec x(\delta t)=\vec x(0)+\delta t\cdot \vec v(0).
$$
Plus $\delta t$ est petit, plus cette approximation sera précise.
En utilisant la notation $t_j=j\cdot \delta t$, on obtient
$$
\vec x(t_1)=\vec x(t_0)+\delta t\cdot \vec v(t_0).
$$
---
Remarque ($\delta t\rightarrow 0$) #
On peut réécrire l'équation ci-dessus comme
$$
\vec v(0)=\frac{\vec x(\delta t)-\vec x(0)}{\delta t}.
$$
En prenant la limite $\delta t\rightarrow 0$, on obtient
$$
\vec v(0)=\vec x'(0),
$$
Soit la relation bien connue que la dérivée de la position donne la vitesse.
Ou encore de façon similaire
$$
\vec v(t_0)=\vec x'(t_0),
$$
---
Nous pouvons ainsi calculer la position pour $t_2$[^7]
$$
\vec x(t_2)=\vec x(t_1)+\delta t\cdot \vec v(t_1),
$$
et ainsi de suite pour n'importe quelle valeur de $t_j$
$$
\vec x(t_j)=\vec x(t_{j-1})+\delta t\cdot \vec v(t_{j-1}).
$$
De cette équation, nous pouvons également déduire que
$$
\vec v(t_{j-1})=\frac{\vec x(t_j)-\vec x(t_{j-1})}{\delta t},
$${#eq:vt0}
ou encore
$$
\vec v(t_{j})=\frac{\vec x(t_j+1)-\vec x(t_{j})}{\delta t}.
$${#eq:vt1}
Nous pouvons ainsi approximer le mouvement de la particule $P$
pour tout instant $t_j$. A l'inverse en connaissant la position de la
particule à tous les $t_j$, nous pouvons calculer sa vitesse.
### Le mouvement avec accélération
De façon similaire à ce que nous avons fait pour le lien entre la position et
la vitesse, nous pouvons faite le lien entre l'accélération et la vitesse.
En connaissant la vitesse de la particule $P$ à tout instant $\vec v(t_j)$,
nous pouvons approximer l'accélération $\vec a(t_j)$ comme
$$
\vec a(t_j) = \frac{\vec v(t_j)-v(t_{j-1})}{\delta t}.
$$
En utilisant l'@eq:vt0 et l'@eq:vt1, il vient
$$
\vec a(t_j) = \frac{\frac{\vec x(t_j+1)-\vec x(t_{j})}{\delta t}-\frac{\vec x(t_j)-\vec x(t_{j-1})}{\delta t}}{\delta t}=\frac{\vec x(t_{j+1})-2\vec x(t_j)+\vec x(t_{j-1})}{\delta t^2}.
$$
En isolant $\vec x(t_{j+1})$ il vient
$$
\vec x(t_{j+1})=2\vec x(t_j)-\vec x(t_{j-1})+\vec a(t_j)\delta t^2.
$$
Cette formule est correcte pour $j\geq 1$. Pour $j=0$, on a
$$
\vec x(t_{1})=\vec x(t_0)+\delta t\vec v(t_0)+\vec a(t_0)\delta t^2.
$$
Il est donc nécessaire de connaître la vitesse initiale et la position
initiale de la particule $P$ pour pouvoir calculer son évolution,
ainsi que son accélération en tout temps $t_j$. Afin de calculer
l'accélération de la particule $P$, on utilise souvent les
lois de Newton. Ainsi,
$$
\vec a(t_j)=\frac{\vec F(t_j)}{m}.
$$
......@@ -16,3 +16,4 @@ les jointures des articulation $\mu_k=0.01$.
[^6]: A titre d'exemple, pour un contact bois sur bois, on a $\mu_s=0.4$, pour du caoutchouc sur du béton $\mu_s=1$, et pour
les jointures des articulation $\mu_s=0.01$.
[^7]: Cette équation peut aussi s'écrire $\vec x(2\delta t)=\vec x(\delta t)+\delta t\cdot \vec v(\delta t)$.
......@@ -8,9 +8,9 @@
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="210mm"
height="297mm"
viewBox="0 0 210 297"
width="137.20404mm"
height="29.613066mm"
viewBox="0 0 137.20404 29.613066"
version="1.1"
id="svg8"
sodipodi:docname="time_discr.svg"
......@@ -18,17 +18,17 @@
<defs
id="defs2">
<marker
style="overflow:visible;"
style="overflow:visible"
id="Arrow2Lend"
refX="0.0"
refY="0.0"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Lend"
inkscape:isstock="true">
<path
transform="scale(1.1) rotate(180) translate(1,0)"
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path856" />
</marker>
<g
......@@ -307,17 +307,21 @@
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.98994949"
inkscape:cx="359.92488"
inkscape:cy="640.22336"
inkscape:cx="267.39804"
inkscape:cy="163.2353"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
inkscape:document-rotation="0"
showgrid="false"
inkscape:window-width="1920"
inkscape:window-height="1013"
inkscape:window-height="1016"
inkscape:window-x="0"
inkscape:window-y="39"
inkscape:window-maximized="1" />
inkscape:window-y="27"
inkscape:window-maximized="1"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0" />
<metadata
id="metadata5">
<rdf:RDF>
......@@ -333,9 +337,10 @@
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
id="layer1"
transform="translate(-24.481059,-126.20309)">
<path
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none;marker-end:url(#Arrow2Lend)"
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Lend)"
d="M 27.334593,141.30025 H 160.01339"
id="path833" />
<path
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment