Liu et al benchmark

From Gerris

(Difference between revisions)
Jump to: navigation, search
Revision as of 20:45, 20 March 2011
Delauxs (Talk | contribs)
(2D Results)
← Previous diff
Revision as of 19:24, 23 March 2011
Delauxs (Talk | contribs)
(3D Results)
Next diff →
Line 130: Line 130:
So far, I still have problems related to the VOF interface and the simulation crashes after 1.2 time units (a bit more than a third of the simulation). Hopefully this is only a matter of more tunning. Preliminary results are promising. So far, I still have problems related to the VOF interface and the simulation crashes after 1.2 time units (a bit more than a third of the simulation). Hopefully this is only a matter of more tunning. Preliminary results are promising.
-[[Image:Liu-gauge1-3D.png|thumb|400px|center|Gauge 1]]+{| align="center"
 +|+ Evolution in time of the VOF interface for a simulation with adaptive refinement down to level 8
 +|-
 +| [[Image:Liu2005-0.6-8.png|thumb|300px|center|0.6 s]]
 +| [[Image:Liu2005-1.0-8.png|thumb|300px|center|1.0 s]]
 +| [[Image:Liu2005-1.4-8.png|thumb|300px|center|1.4 s]]
 +|-
 +| [[Image:Liu2005-1.8-8.png|thumb|300px|center|1.8 s]]
 +| [[Image:Liu2005-2.2-8.png|thumb|300px|center|2.2 s]]
 +| [[Image:Liu2005-2.6-8.png|thumb|300px|center|2.6 s]]
 +|}
-[[Image:Liu-gauge2-3D.png|thumb|400px|center|Gauge 2]]+{| align="center"
 +|+ Comparison of the evolution of wave height with time with the measurements of (Liu et al., 2005) at two locations
 +|-
 +| [[Image:Liu-gauge1-3D.png|thumb|400px|center|Gauge 1]]
 +| [[Image:Liu-gauge2-3D.png|thumb|400px|center|Gauge 2]]
 +|}
== 2D Results == == 2D Results ==

Revision as of 19:24, 23 March 2011

This benchmark for simulations of landslide-generated tsunamis using Gerris is based on these articles:

P. L.-F. Liu, T.R. Wu, F. Raichlen, C.E. Synolakis, J. C. Borrero - Runup and rundown generated by three-dimensional sliding masses

Journal of Fluid Mechanics 536:107-144, 2005
Bibtex

S. Abadie, D. Morichon, S. Grilli, S. Glockner - Numerical simulation of waves generated by landslides using a multiple-fluid Navier-Stokes model

Coastal Engineering 57:779-794, 2010
Bibtex

We focus here on one of the configuration that was retained as one of the benchmark test of the third international workshop on long-wave runup models (run 30). We look at the wave created by the free fall of a half-rectangle slide along a uniform slope.

The design of this page is inspired from that dedicated to the Enet_et_al_benchmark.

Contents

Generating the landslide body geometry

A GTS surface representation of the slide has to be generated to be fed to the moving boundary implementation GfsSolidMoving. This can be done using the following script:

# Generates the points of the triangulation
awk -f liu.awk > points.tmp
# Generates and rotates the triangulation
( wc points.tmp | awk '{print $1" 0 0"}'; cat points.tmp ) | delaunay -d | transform --rx=-90 > liu.gts

The awk script 'liu.awk' allows to generate the points of the triangulation. The notations a and b correspond to that of (Liu et al., 2005)

BEGIN {
a=0.4572
b=0.9144
alpha=atan2(a,b);
h=a*cos(alpha);
l1=b*cos(alpha);
l2=a*sin(alpha);
 
for (k=0; k <= 100; k++) {
for (i=-10; i <= 100; i++) { printf("%5.4f %5.4f %5.4f\n",l1*i/100, -0.5+k/100 , h*i/100) }
for (i=1; i <= 110; i++) { printf("%5.4f %5.4f %5.4f\n",l1+l2*i/100, -0.5+k/100, h*(1-i/100)) }
}
 
 
dx=1.0e-4
k=0.
j=-10.
for (i=-10; i <= 100; i++) { printf("%5.4f %5.4f %5.4f\n",l1*i/100, -0.5+k/100-dx,h*j/100) }
for (i=1; i <= 110; i++) { printf("%5.4f %5.4f %5.4f\n",l1+l2*i/100, -0.5+k/100-dx,h*j/100) }
 
k=100.
for (i=-10; i <= 100; i++) { printf("%5.4f %5.4f %5.4f\n",l1*i/100, -0.5+k/100+dx,h*j/100) }
for (i=1; i <= 110; i++) { printf("%5.4f %5.4f %5.4f\n",l1+l2*i/100, -0.5+k/100+dx,h*j/100) }
}

Numerical "wave gauge"

[ The setup of the numerical gauges is identical to that of Enet_et_al_benchmark. Please see Enet_et_al_benchmark for more details. Only the location of the gauges and the angle of the slope angle have to be modified. Consequently the 'distance.awk' which is used to calculate the surface elevation becomes:

BEGIN {
 
tant = 0.4572/0.9144
norm = sqrt (1. + tant*tant)
FS=" |:"
}
{
if ($1 == "#") {
# get column indices of the relevant fields (X,Y)
for (i = 1; i <= NF; i++) {
if ($i == "T")
iT = $(i-1);
else if ($i == "X")
iX = $(i-1);
else if ($i == "Y")
iY = $(i-1);
}
}
else {
T = $iT
if (T > 0. && T < 1.) {
# the cell contains an interface
x = $iX
y = $iY
print $1,(y - tant*x)/norm;
fflush (stdout);
}
}
}

and the coordinates of the probe 'wires' can be generated using the awk script:

BEGIN {
angle = atan2(0.4572,0.9144)
for (y = -0.1; y <= 0.1; y+= 0.001) {
x = 1.83
print cos(angle)*x - sin(angle)*y, sin(angle)*x + cos(angle)*y, 0 > "probe1x"
x = 1.2446
print cos(angle)*x - sin(angle)*y, sin(angle)*x + cos(angle)*y, 0.635 > "probe2x"
x = 0
print cos(angle)*x - sin(angle)*y, sin(angle)*x + cos(angle)*y, 0 > "probe3x"
x = 0
print cos(angle)*x - sin(angle)*y, sin(angle)*x + cos(angle)*y, 0.305 > "probe4x"
x = 0
print cos(angle)*x - sin(angle)*y, sin(angle)*x + cos(angle)*y, 0.61 > "probe5x"
}
}

3D Results

So far, I still have problems related to the VOF interface and the simulation crashes after 1.2 time units (a bit more than a third of the simulation). Hopefully this is only a matter of more tunning. Preliminary results are promising.

Evolution in time of the VOF interface for a simulation with adaptive refinement down to level 8
0.6 s
Enlarge
0.6 s
1.0 s
Enlarge
1.0 s
1.4 s
Enlarge
1.4 s
1.8 s
Enlarge
1.8 s
2.2 s
Enlarge
2.2 s
2.6 s
Enlarge
2.6 s
Comparison of the evolution of wave height with time with the measurements of (Liu et al., 2005) at two locations
Gauge 1
Enlarge
Gauge 1
Gauge 2
Enlarge
Gauge 2

2D Results

Preliminary simulation were run in two-dimension. Great agreement is not expected but this is a useful step to go through to assess the behavior of the code and tune the simulation.

Media:Liu-2D.ogv

Personal tools
communication