Intégration de profils d'avalanche

Solution

Vous pouvez télécharger ici une archive regroupant 66 fichiers dans un fichier au format tar.gz (voir doc Unix pour savoir comment en extraire le contenu).

Comme le dit la doc mentionnée, il suffit de taper dans un terminal:

ordi:~ > tar -xzvf profils.tgz <CR>
PROFILS/
PROFILS/PROFIL00.DAT
PROFILS/PROFIL01.DAT
PROFILS/PROFIL02.DAT
...

pour que tous les profils soient extraits dans un répertoire PROFILS.

  1. Trouvez l'équation qui permet de calculer le débit Q(x,t) à partir des hauteurs h(x,t).

Considérons une tranche à travers la couche de grains entre x et x+dx. Si le flux à travers la paroi gauche de la tranche (en x) est le même qu'à travers la paroi droite (en x+dx), alors la hauteur de la couche entre x et x+dx ne changera pas: il est rentré dans la tranche autant de matière qu'il en est sorti. S'il y a une différence des flux, alors il s'accumule dans la tranche une quantité [Q(x)-Q(x+dx)]*dt de matière en un temps dt. Cela fera monter le niveau de la couche localement d'autant: [h(t+dt)-h(t)]*dx = [Q(x)-Q(x+dx)]*dt. Dans la limite de petits dx et dt, on trouve l'équation différentielle de la conservation de la matière d'un écoulement incompressible:

∂Q/∂x = -∂h/∂t
On sait par ailleurs que le flux est nul à travers les parois de la boite, donc en particulier Q(x=0)=0. En intégrant l'équation ci-dessus de 0 à x, on obtient la formulation intégrale:
Q = - 0x ∂h/∂t
  1. Ecrivez un programme permettant de :
    • Charger les fichiers des hauteurs
    • Calculer et sauvegarder les valeurs des débits Q(x,t) (un fichier par profil Q(x) à un instant donné). Quelle est la méthode d'intégration la plus adaptée ?
    • Calculer et sauvegarder le débit maximum et le débit en bout de boîte en fonction du temps.

Nous n'avons les hauteurs qu'en des points de l'espace discrets, et qu'à des temps discrets. Il n'est donc pas possible de calculer la dérivée ∂h/∂t au sens mathématique, ni d'intégrer rigoureusement: il faut travailler en différences finies. La dérivée temporelle devient ainsi ∂h/∂t ~ h(t+1) - h(t) =: e(t), et l'intégrale doit être approximée par exemple par la méthode des trapèzes: Q(x+1) ~ Q(x) + ½[e(x) + e(x+1)].

Voici deux programmes qui font ce qui est demandé, le deuxième essayant d'être plus lisible, élégant et efficace que le premier. Les commentaires devraient expliquer le fonctionnement des différentes parties.

  1. Quelle indication est donnée par le débit en bout de boîte ? Comment peut-on améliorer le calcul des débits ? Comment peut-on optimiser le calcul des débits à partir des informations contenues dans la courbe du débit maximum en fonction du temps ?
Auteur(s) : A. Daerr. Dernière modification : Mon Nov 20 22:59:12 2006. [valid. XHTML]