Free surface flows in Code Saturne Présentation à EDF Chatou Results 02/10/2009 Olivier Cozzi
Equations of the problem Mass Conservation Law Momentum Conservation Law Scalar Conservation Law + Space Conservation Law respected when the mesh just moves vertically Kinetic boundary condition on the free surface, that is to say: Dynamic boundary condition (because, on the free surface, sheer stress, normal stress, and effect of the surface tension can be neglected)
Ajout de la condition cinématique dans CS On utilise la routine usalcl.F dans laquelle on donne les conditions aux limites pour l’ALE. Pour la surface libre, on impose la vitesse verticale de maillage: Sz est donné par SURFBO(3,IFAC) mfs est sauvé dans NAVSTO, à la fin de la routine RESOLP ; à ce moment, on a bien
Computation of the free surface Utilisation du module ALE pour déplacer les faces de la surface libre selon la vitesse de maillage calculée ; schémas en temps testés: 1) Non iterative explicit Euler scheme (fonctionnel) 2) Non iterative RK4 scheme (prototype) 3) Iterative Crank-Nicolson scheme (prototype)
Non iterative explicit Euler scheme On the free surface, the mesh vertical speeds at time step n+1, i.e. wn+1 are calculated with the values of time step n En pratique: Première itération “à blanc” : je lance le solveur NS pour connaître la valeur de Seconde itération : j’impose sur les faces de la surface libre, et laisse le code avancer jusqu’au pas de temps suivant
Non iterative RK4 scheme On the free surface, the mesh vertical speeds at time step n+1, i.e. wn+1 are calculated with the values of time step n and predictions Where: En pratique: Itérations impaires “à blanc” : je lance le solveur NS pour connaître la valeur de Itérations paires : j’impose les vitesses calculées sur les faces de la surface libre, et laisse le code avancer jusqu’au “pas de temps suivant” Entre chaque itération paire et impaire, je recharge les conditions initiales du pas de temps Pas encore testé avec les “nouveaux débits”
Iterative Crank-Nicolson scheme On the free surface, the mesh vertical speeds at time step n+1, i.e. wn+1 are calculated with iteration Testé avec les “anciens débits” A définir précisément ! Départ depuis le pas de temps tn connu Itération « à blanc » pour connaître les débits massiques Résolution NS + déplacement du maillage suivant les valeurs de wn+1 Convergence ! Etc… Valeurs wn+1 finales Arrivée au pas de temps tn+1
Test cases EDF : bassin clos Wave amplitude A = 2m Wavelength λ = 0.5L From “Application du prototype de module ALE du solveur commun a des cas de surface libre” (H2000H400170), by F. Archambeau EDF : bassin clos Wave amplitude A = 2m Wavelength λ = 0.5L Mesh: 105*20*1 Initial shape and 2nd order theoretical solution (Chabert d'Hieres formula): Airy's formula: T = 6s period in this case
Results: 1.1 Non iterative explicit Euler scheme Cas test d’EDF, 60 pas de temps par période, ~50 cellules par période spatiale, courant max : ~0.25 Hauteur en un point de la surface libre en fonction du temps Remarques: Periode de 6,10 secondes > Période théorique Léger amortissement
Results: 1.1 Non iterative explicit Euler scheme Cas test d’EDF, 60 pas de temps par période, ~50 cellules par période spatiale , courant max : ~0.25 Energie relative en fonction du temps Remarque: Légère perte: -0,07% sur 55s non conservation…
Results: 1.1 Non iterative explicit Euler scheme Cas test d’EDF, 60 pas de temps par période, ~50 cellules par période spatiale , courant max : ~0.25 Volume relatif en fonction du temps Remarque: Légère perte: -0,01% sur 55s non conservation…
Results: 1.2 Non iterative explicit Euler scheme Cas test d’EDF, 100 pas de temps par période, ~100 cellules par période spatiale, courant max : ~0.1, amplitude de 1m au lieu de 2m Hauteur en un point de la surface libre en fonction du temps Remarques: Periode de 9,84 secondes > Période théorique 9,78 s Pas d’amortissement
Results: 1.2 Non iterative explicit Euler scheme Cas test d’EDF, 100 pas de temps par période, ~100 cellules par période spatiale, courant max : ~0.1, amplitude de 1m au lieu de 2m Energie relative en fonction du temps Remarque: Légère perte: -0,008% sur 190s non conservation… ?
Results: 1.2 Non iterative explicit Euler scheme Cas test d’EDF, 100 pas de temps par période, ~100 cellules par période spatiale, courant max : ~0.1, amplitude de 1m au lieu de 2m Volume relatif en fonction du temps Remarque: Légère perte: -6.10-6 sur 190s non conservation… ?
Results: 1.2 Non iterative explicit Euler scheme Cas test d’EDF, 100 pas de temps par période, ~100 cellules par période spatiale, courant max : ~0.1, amplitude de 1m au lieu de 2m
Test cases EDF : soliton Wave amplitude A = 2m Mesh: 400*15*1 on a: From “Application du prototype de module ALE du solveur commun a des cas de surface libre” (H2000H400170), by F. Archambeau EDF : soliton Wave amplitude A = 2m Mesh: 400*15*1 on a:
Results: 1.3 Non iterative explicit Euler scheme Cas test d’EDF, courant max : ~0.1, amplitude de 2m Hauteur max de la surface libre en fonction du temps Remarque: Léger amortissement, accentué lors des réflexions
Results: 1.3 Non iterative explicit Euler scheme Cas test d’EDF, courant max : ~0.1, amplitude de 2m Energie relative en fonction du temps Remarque: Légère perte d’énergie -0,025% sur 75s non conservation…
Results: 1.3 Non iterative explicit Euler scheme Cas test d’EDF, courant max : ~0.1, amplitude de 2m Volume relatif en fonction du temps Remarque: Légère perte d’énergie -3.10-6 sur 75s non conservation…
Results: 1.3 Non iterative explicit Euler scheme Cas test d’EDF, courant max : ~0.1, amplitude de 2m
And now ? Optimisation du module surface libre: Nouveaux cas-test Schéma itératif d’ordre supérieur … Nouveaux cas-test Mise en place d’un benchmark (Star-cd VOF, SPH, Telemac 3D, Stream) Any ideas ?