# collapse of a rectangular viscous column,

or collapse of a viscous fluid (double viscous dam break) From the paper: Huppert 82 “The propagation of two-dimensional and axisymmetric viscous gravity currents over a rigid horizontal surface” it is done with only mass equation and lubrication and with shallow watzer

Here we solve it using the Multilayer Shallow Water (Saint Venant Multi Couches) strategy of Audusse Sainte-Marie et al 2011. See De Vita 2020 for details, this example is presented there as a test case.

#include "grid/cartesian1D.h"
#include "saint-venant.h"

int main() {
X0 = 0.;
L0 = 5;
G  = 1.;
// N  = 512;

one needs details in y

 // nl = 256;
N  = 128;
nl = 15;
nu = 1.;
run();
}

We impose boundary condition for h and \eta.

h[left] = neumann (0);
eta[left] = neumann (0);
u.n[left] = dirichlet(0);

h[right] = neumann (0);
eta[right] = neumann (0);

## Initialization

event init (i = 0) {

We set a zero velocity at the inlet and a free outlet.

  for (vector u in ul) {
u.n[left] = 0;
u.n[right] = neumann(0.);
}

We initialize h.

  foreach()
h[] =   (x<1);
}

## Output

We print the elevation and the stress.

event output (t += 5; t <= 100) {
vector u0 = ul;
foreach()
fprintf (stderr, "%g %g %g %g\n", x, h[], 2.*u0.x[]/((h[]+dry)/nl),t );
fprintf (stderr, "\n");
}

## Run

To run

qcc -O2 -o viscous_collapse_ML viscous_collapse_ML.c
./viscous_collapse_ML  2>log

To run

~bash make viscous_collapse_ML.tst make viscous_collapse_ML/plots make viscous_collapse_ML.c.html

source c2html.sh viscous_collapse_ML ~

## Results

the selfsimilar collapse over the selfsimilar solution: h(x,t)t^{1/5} plotted as a function of (xt^{-1/5})

 set xlabel "x/t^{1/5}"
set ylabel "h(x,t) t^{1/5}"
p [0:1.5]'log' u ($1/($4**.2)):($2*($4**.2)) t'comp.' w l,(9./10*(1.28338-x*x))**(1/3.) t'analytic' (script)

Montpellier 07/17

related examples only mass equation and lubrication and with shallow watzer see as well Navier Stokes solution.