Pierre-Yves Lagrée à  jour 04/11

un premier test de flûte à eau



Les équations d'Euler compressibles, pour la densité ρ, les débits massiques ρu=Qx et ρv=Qy s'écrivent
∂ ρ /∂ t + ∂ Qx /∂ x + ∂ Qy /∂ y
∂ Qx /∂ t + ∂ (Qx2) /∂ x + ∂ (QxQy) /∂ y =- γ ρ(γ-1) ∂ρ/∂ x
∂ Qy /∂ t + ∂ (QxQy) /∂ x + ∂ (Qy2) /∂ y = - γ ρ(γ-1) ∂ρ/∂ y
où on a tenu compte du caractère adiabatique dp/p = γdρ/ρ de l'écoulement.
Elles présentent une analogie avec les équations de Saint Venant si on pose pour la hauteur d'eau h, et pour le débit
hu=Qx et hv=Qy
la hauteur d'eau est donc analogue de la densité ρ, et γ=2
∂ h /∂ t + ∂ Qx /∂ x + ∂ Qy /∂ y
∂ Qx /∂ t + ∂ (Qx2) /∂ x + ∂ (QxQy) /∂ y = - h ∂h/∂ x
∂ Qy /∂ t + ∂ (QxQy) /∂ x + ∂ (Qy2) /∂ y = - h ∂h/∂ y
au γ=2 près

Dans un tuyau de hauteur h0=0.5 (il faudrait le porter à  1) et de longueur 5, il faudrait la porter à  25, on se donne une vitesse de jet à gauche et on résout avec gerris.
Le film du jet-- -- Le film de la pression -- -- Le film de la pression et iso vitesses






Réponse de la pression au bout du tuyau p(t,4.8), on a Ltuyau=4.8 comparé à cos(πx/(2Ltuyau):
Le fichier source (inspiré de la "hump" de gerris ) à sauver dans fluteau.gfs 
##### 
# un premier jet de flute eau ou pipe eau
# PYL avril 2011
# gerris2D -m fluteau.gfs | gfsview2D v2.gfv
#####

Define L0 5
Define xb .75
Define h0 0.5
Define hj 0.4
Define D 0.25
Define Dj 0.125
Define Uj 0.2


1 0 GfsRiver GfsBox GfsGEdge { x = 0.5 y = 0.5} {
PhysicalParams { L = L0 }
Refine 8
Time {end = 300. }
# Set a solid boundary close to the top boundary to limit the
# domain width to one cell (i.e. a 1D domain)
# Solid (cube(0,0,0.,1)) {tx = .75 ty = .125 sx = 6 sy = 0.125}

# Solid (y-(1.5*(x>xb)*(y>h0)*(y(L0-.1))*(yxb)*(y>h0)*(y(L0-.1))*(y fluteau.mpg } { v = P + Zb}
OutputSimulation { step = 0.5 } VISU/simf-%06.2F.gfv { }
OutputPPM { step= 0.5 } { ppm2mpeg > fluteauU.mpg } { min = 0 max = 0.25 v = Velocity }
# OutputLocation { step = 1 } vals.data cut.dat
OutputLocation { step = 0.5 } p.data { 4.8 0.25 0}


}
GfsBox {
left = Boundary {
BcDirichlet U {return ((y>hj)&&(y<(hj+Dj)))? Uj : 0 ;}
}
top = Boundary {
# BcDirichlet P 1
BcNeumann V 0
}
right = Boundary { BcNeumann U 0 }
bottom = Boundary { BcDirichlet V 0 }
}
##########
pour lancer
.
file="cut.dat"
awk 'BEGIN{
for(a = 0.;a<=5;a+=0.01)
print a " 0.25 0.0";
}' > $file

gerris2D -m fluteau.gfs | gfsview2D v2.gfv
fichier de gfv