Outils pour utilisateurs

Outils du site


cuve_cylindrique_horizontale

Ceci est une ancienne révision du document !


Volume de liquide dans une cuve cylindrique horizontale

Objectif

Un ami m'a un jour posé la question suivante:

“j'ai une cuve cylindrique horizontale pour le mazout de mon chauffage. Je ne crois plus à l'indication du volume restant, mais je peux facilement mesurer la hauteur du mazout dans la cuve: peux-tu me calculer le volume qui correspond à cette hauteur?”

Et voilà le résultat!

Calcul

Prenons la section de cette cuve horizontale sur le schéma ci-dessous:

Désolé pour ce dessin à la main, mais je l'ai fait et scannée en 10mn, après avoir cherché pendant 3heures un programme de dessin capable de faire ça. J'ai essayé open-office/dessin, inkscape, photoshop, carbon14 et quelques autres sous Windows et sous Linux… Il manque toujours quelque chose d'élémentaire qui n'existe pas ou qui demande plus d'une 1/2 heure de recherche :-( .

On connait au départ 3 valeurs:

  • h ⇒ la hauteur du liquide dans la cuve,
  • d ⇒ le diamètre de la cuve horizontale
  • vt ⇒ le volume total de la cuve (correspondant à h=d)

On va supposer que les côtés de la cuve cylindrique sont plats ou peu bombés.

On calcule le rayon:

r = d/2

et la surface totale du cercle:

st = pi*r**2

On calcule l'angle alpha avec l'arc cosinus en connaissant a=r-h et l'hypothénuse r:

alpha = acos((r-h)/r)

On calcule aussi le côté b avec la relation de Pythagore:

b = sqrt(r**2-(r-h)**2)

Il faut ensuite calculer la surface hachurée. Pour cela, on calcule la surface correspondant à l'arc 2*alpha, en fonction de la surface totale st du cercle:

sa = st/(2*pi)*(2*alpha) = st/pi*alpha

Et il faut retrancher de cette surface sa la surface des 2 triangles:

sr = a*b = (r-h)*sqrt(r**2-(r-h)**2)

Ce qui donne pour la surface hachurée:

sh = sa-sr

C'est quasiment fini: le volume cherché correspond au volume totale au prorata des surfaces: surface hachurée / surface totale:

v = vt/st*sh

Maintenant, si la hauteur du liquide dépasse le rayon r de la cuve, le calcul sera différent. Pour éviter de le refaire, on va utiliser l'astuce suivante: si h>r, on va calculer pour h=d-h, ce qui nous ramène au cas précédent, et on va prendre à la fin le complément du volume trouvé: v=vt-v!

Tout cela nous donne le code Python suivant:

cuve_cylindrique_horizontale.1205742341.txt.gz · Dernière modification: 2008/03/17 09:25 de tyrtamos

Outils de la page