• Aucun résultat trouvé

Intégration des équations de mouvement

Dans le document Doctorat en sciences Sp (Page 32-35)

1.2 Description de la dynamique moléculaire

1.2.3 Intégration des équations de mouvement

Les forces qui agissent sur les grains varient avec le temps d’une façon complexe, en effet, il y a des contacts qui disparaissent, d’autres qui s’établissent, des variations rapides des forces des fluides entourants ...etc. En conséquence l’intégration des équa-tions de mouvement (Eqs. 1.1) nécessite des méthodes numériques incrémentales avec un pas de temps ∆t suffisamment petit. L’idée de ces méthodes est : connaissant les positions, les vitesses et autres variables dynamiques d’un grain à l’instant t, il faut essayer de les estimer à l’instant (t+∆t) avec une précision satisfaisante.

Nous décrirons deux méthodes permettant de calculer la trajectoire du grain nu-mériquement, notamment l’algorithme “predictor-corrector” de Gear et l’algorithme

Velocity-Verlet”.

Les développements qui seront présentés dans la suite concernent le mouvement de translation, des expressions similaires peuvent être écrites pour le mouvement de rotation.

1.2.3.1 Algorithme “Predictor-Corrector”

D’un point de vue mathématique, il est supposé que la trajectoire du grain est continue, les variables dynamiques du grain peuvent donc être estimées à l’instant (t+∆t) à partir d’un développement limité de Taylor à l’instantt:

L’ordre du développement (ici 4 termes) peut être augmenté ou diminué selon la précision souhaitée. La taille mémoire mise en jeu et le nombre d’opérations de calcul augmentent évidemment avec l’augmentation du nombre de termes retenus. L’exposant

p” indique les valeurs prédites des différentes variables (position, vitesse, ...etc.) à

Chapitre 1. Méthodes aux Eléments Discrets pour la modélisation des grains solides 21 l’instant t+∆t. Ces valeurs doivent être corrigées puisque les forces agissantes sur le grain évoluent entre les instantst ett+∆t.

En utilisant les valeurs prédites à l’instantt+∆t, les forces extérieures sont calculées (notamment les forces de contact sont calculées à partir des expressions 1.13et 1.14).

L’équation de mouvement (1.1a) est ensuite utilisée pour déterminer l’accélération corrigée #x¨c(t+∆t). La différence entre les valeurs corrigée et prédite de l’accélération

#x(t¨ +∆t) =#x¨c(t+∆t)−#x¨p(t+∆t), donne une première approximation de l’erreur sur l’accélération prédite. Cette erreur est utilisée pour corriger les valeurs prédites de toutes les variables dynamiques comme suit [Allen 1987] :

 des facteurs tenant compte de l’adaptation de la correction à la variable considérée ; A0 = ∆t22,A1= ∆t2 ,A2 = 1,A3= ∆t3 .

Les coefficients de correction proposés par Gear pour un optimum entre la précision et la stabilité des calculs, pour les différents ordres de développements sont donnés dans le tableau suivant : Pour les développements d’ordres 5 et 6 les facteurs supplémentaires d’adaptation de la correction sont : A4 = ∆t122 etA5= ∆t603.

Les valeurs du coefficient c0 données entre parenthèses sont à utiliser lorsque la résultante des forces extérieures évaluée à chaque pas de temps dépend de la vitesse en plus de la position.

Chapitre 1. Méthodes aux Eléments Discrets pour la modélisation des grains solides 22 Notons enfin qu’il est possible de refaire l’étape de correction plus d’une fois en affectant à chaque fois aux valeurs prédites les dernières valeurs corrigées. Néanmoins une seule correction est généralement satisfaisante.

1.2.3.2 Algorithme “Velocity-Verlet” :

C’est une version modifiée de l’algorithme adopté initialement par Verlet (1967) [Allen 1987]. Cet algorithme est attractif, du fait qu’il est simple et qu’il nécessite peu d’opérations de calcul. Les variables dynamiques qu’il faut stocker à chaque pas de tempstsont les positions #x(t), les vitesses#u(t) et les accélérations#x(t)¨ (9N variables, N étant le nombre de grains). L’accélération#x(t)¨ qui est calculée à partir de l’équation de mouvement (1.1a) en connaissant la résultante des forces agissantes sur le grain en un instant t, est supposée constante durant l’intervalle de temps 0

t−∆t2 , t+∆t2 1 . La position et la vitesse d’un grain à l’instantt+∆tsont alors exprimées par :



L’algorithme se présente ainsi en pratique comme suit :

– Calcul de la vitesse à l’instantt+ ∆t2 ;#u(t+ ∆t2 ) =#u(t) + ∆t2 #x(t)¨

– Calcul de la position à l’instantt+∆t;#x(t+∆t) =#x(t) +∆t#u(t+∆t2 ) – Calcul de la résultante des forces agissantes sur le grain")F#ext#

t+∆ten utilisant les nouvelles positions#x(t+∆t)et éventuellement les nouvelles vitesses#u(t+∆t2 ) – Calcul de l’accélération à l’instantt+∆t;#a(t+∆t) = (PF!ext)t+∆t

m

– Calcul de la vitesse à l’instantt+∆t;#u(t+∆t) =#u(t+∆t2 ) +∆t2 #x(t¨ +∆t) Cet algorithme est équivalent à l’algorithme “Predictor-corrector” pour un ordre de développement de 3 termes, lorsque la force calculée à chaque pas est indépendante de la vitesse. Lorsque la force dépend de la vitesse, l’algorithme fait intervenir une erreur théoriquement, puisque la vitesse utilisée dans le calcul de la force à l’instantt+∆test

#u(t+∆t2 ) correspondante à l’instant t+ ∆t2 . Cependant l’expérience montre que cette erreur à très peu d’effet sur le comportement global [Taberlet 2005]. Pour vérifier ce fait, l’exemple de chute d’une bille sous l’effet de la gravité sur un plan horizontal est

Chapitre 1. Méthodes aux Eléments Discrets pour la modélisation des grains solides 23

Figure1.6 – Position d’une bille en chute sur un plan horizontal en fonction du temps ; comparaison des différents algorithmes

étudié en utilisant les deux algorithmes. La figure1.6montre l’évolution de la position de la bille en fonction du temps, cette position est calculée en utilisant l’algorithme

Predictor-Corrector” avec un ordre de développement de 5 termes pour une seule correction puis pour quatre corrections ainsi que l’algorithme “Velocity-Verlet”.

La force de contact avec le plan est calculée à partir du modèle viscoélastique linéaire (Eq. 1.13). Le coefficient de restitution est prisεn = 0.9. Du fait que la force de contact est fonction de la vitesse, la valeur du coefficient de correction c0 est prise

19

90. Comparativement à l’algorithme “Predictor-Corrector” à 4 corrections, ce graphique montre que l’algorithme “Velocity-Verlet” décrit avec une bonne précision le mouvement de la bille. Il est même plus précis que l’algorithme “Predictor-Corrector” à une seule correction (voir l’agrandissement de la5e collision avec le plan sur la figure).

Ainsi, en tenant compte de sa précision et de sa simplicité en termes de calculs nous utilisons dans ce travail essentiellement l’algorithme “Velocity-Verlet”, l’algorithme

Predictor-Corrector” sera réservé pour d’éventuelles vérifications.

Dans le document Doctorat en sciences Sp (Page 32-35)

Documents relatifs