GfsOutputSimulation
From Gerris
GfsOutputSimulation will write a description of the current state of the simulation which contains both standard simulation parameters, layout of the cell hierarchy and associated variable values.
The syntax in parameter files is:
[ GfsOutput ] { depth = 5 variables = U,V,C binary = 1 solid = 0 format = text precision = %.8f }
with:
- depth
- an optional parameter setting the maximum depth which will be considered (the default is infinity).
- variables
- a comma-separated list of the names of the variables which will be written. The default is all the simulation permanent variables.
- binary
- an optional parameter specifying if a binary format should be used. Binary files allow faster reading of simulation files and are the default. Setting binary to 0 will use a more portable ASCII format.
- solid
- an optional parameter specifying if the surface describing solid boundaries should be included in the simulation file. The default is to include the solid surface.
- format
- an optional parameter specifying which file format to use:
- precision
- an optional C formatting string used to convert floating-point numbers to their ASCII representation (only relevant for ASCII file formats). The default is
%g
.
Examples
- Parallel simulation on four processors
- Rayleigh-Taylor instability
- Boussinesq flow generated by a heated cylinder
- Coalescence of a pair of Gaussian vortices (Gerris logo)
- Collapse of a column of grains
- Starting vortex of a NACA 2414 aerofoil
- Turbulent air flow around RV Tangaroa
- Savart--Plateau--Rayleigh instability of a water column
- Atomisation of a pulsed liquid jet
- Air-water flow around a Series 60 cargo ship
- Forced isotropic turbulence in a triply-periodic box
- Wingtip vortices behind a rectangular NACA 2414 wing
- Lunar tides in Cook Strait, New Zealand
- Dam break on complex topography
- Small amplitude solitary wave interacting with a parabolic hump
- Shock reflection by a circular cylinder
- Tsunami runup onto a complex three-dimensional beach
- The 2004 Indian Ocean tsunami
- "Garden sprinkler effect" in wave model
- Cyclone-generated wave field
- Convergence of the Poisson solver
- Convergence with a refined circle
- Dirichlet boundary condition
- Convergence of the Poisson solver with solid boundaries
- Star-shaped solid boundary with refinement
- Star-shaped solid boundary
- Thin wall at box boundary
- Time-reversed advection of a VOF concentration
- Comparison between the explicit and implicit diffusion schemes
- Comparison between explicit and implicit diffusion schemes on concentration tracer
- Convergence for the three-way vortex merging problem
- Flow created by a cylindrical volume source
- Potential flow around a sphere
- Viscous flow past a sphere
- Mass conservation
- Boundary layer on a rotating disk
- Lid-driven cavity at Re=1000
- Lid-driven cavity with a non-uniform metric
- Lid-driven cavity on an anisotropic mesh
- Bagnold flow of a granular material
- Poiseuille flow with multilayer Saint-Venant
- Coriolis formulation in 3-D
- Wind-driven lake
- Multi-layer Saint-Venant solver
- Wind-driven stratified lake
- Convergence of a potential flow solution
- Flow through a divergent channel
- Translation of an hexagon in a uniform flow
- B\'enard--von K\'arm\'an vortex street behind a cylinder translating in a fluid at rest
- Circular droplet in equilibrium
- Axisymmetric spherical droplet in equilibrium
- Height-Function on parallel subdomains
- Sessile drop
- Non-linear geostrophic adjustment
- Coastally-trapped waves
- Coastally-trapped waves with adaptive refinement
- Oscillations in a parabolic container
- Parabolic container with embedded solid
- Transcritical flow over a bump
- Transcritical flow with multiple layers
- Tsunami runup onto a plane beach
- Terrain reconstruction
- Circular dam break on a sphere
- Circular dam break on a rotating sphere
- Circular dam break on a ``cubed sphere''
- Advection of a cosine bell around the sphere
- Poisson problem with a pure spherical harmonics solution
- Spherical harmonics with longitude-latitude coordinates
- Poisson equation on a sphere with Gaussian forcing
- Gaussian forcing using longitude-latitude coordinates
- Creeping Couette flow between cylinders
- Creeping Couette flow between eccentric cylinders
- Flow between eccentric cylinders using bipolar coordinates
- Flow between eccentric cylinders on a stretched grid
- Rossby--Haurwitz wave
- Rossby--Haurwitz wave with a free surface
- Rossby--Haurwitz wave with Saint-Venant
- Dielectric-dieletric planar balance
- Balance with solid boundaries
- Relaxation of a charge bump
- Charge relaxation in an axisymmetric insulated conducting column
- Charge relaxation in a planar cross-section
- Equilibrium of a droplet suspended in an electric field
- Simple example of groundwater flow following Darcy's law
- Groundwater flow with piecewise constant permeability
OutputSimulation { start = end } end.gfs
OutputSimulation { step = 0.1 } stdout
OutputSimulation { istep = 4 } stdout
OutputSimulation { istep = 10 } stdout
OutputSimulation { istep = 10 } stdout
OutputSimulation { start = 0 } snapshot-%g.gfs
OutputSimulation { start = 1.65132 } snapshot-%g.gfs
OutputSimulation { start = 2.3769 } snapshot-%g.gfs
OutputSimulation { start = 3.10248 } snapshot-%g.gfs
OutputSimulation { start = 3.80304 } snapshot-%g.gfs
OutputSimulation { start = 5.70456 } snapshot-%g.gfs
OutputSimulation { step = FRAMEPERIOD } stdout
OutputSimulation { istep = 4 } stdout
OutputSimulation { start = end } simulation-sum {
variables = SU,SV,SW,SU2,SV2,SW2
}
OutputSimulation { istep = 1000 } plateau-%ld.gfs
OutputSimulation { istep = 100 } snapshot-%ld.gfs { }
OutputSimulation { istep = 5 end = 4 } stdout
OutputSimulation { start = 1 step = 1 } sim-%g.gfs
OutputSimulation { istep = 100 } snapshot-%ld.gfs
OutputSimulation { start = end } end.gfs
OutputSimulation { step = FRAMEPERIOD } stdout
OutputSimulation { istep = 20 } stdout { solid = 0 }
OutputSimulation { start = end } end.gfs
OutputSimulation { step = 0.3 } {
gfsplot "
load 'dam.plot'
set title sprintf('t = %4.1f', (t))
plot [-4.:4.]'-' u (x):(Zb):(H) w filledcu lc 3, \
'-' u (x):(Zb) w l lw 4 lc 1 lt 1
set term pngcairo size 800,600
set output sprintf('sim-%04.1f.png', (t))
replot
set term wxt noraise
"
} { format = text }
OutputSimulation { istep = 10 } stdout
OutputSimulation { start = 0.6 step = 0.3 } sim-%g.gfs
OutputSimulation { istep = 10 } stdout
OutputSimulation { step = 1 } stdout
OutputSimulation { step = 1 } sim-%g.gfs
OutputSimulation { istep = 100 } snapshot-%ld.gfs
OutputSimulation { istep = 20 } stdout
OutputSimulation { step = 900 } sim-%g.gfs
OutputSimulation { step = 12 } sim-MINLEVEL-NTHETA-%g.gfs
OutputSimulation { start = end } end-MINLEVEL-NTHETA.gfs
OutputSimulation { istep = 10 } stdout
OutputSimulation { step = 4 } sim-%g.gfs
OutputSimulation { start = end } end-SOLVER.gfs
OutputSimulation { start = end } end-SOLVER.gfs
OutputSimulation { start = end } end-SOLVER.gfs
OutputSimulation { start = end } sim-LEVEL-SOLVER { variables = P }
OutputSimulation { start = end } sim-LEVEL-SOLVER { variables = P }
OutputSimulation { start = end } sim-LEVEL-SOLVER { variables = P }
OutputSimulation { start = end } sim-LEVEL-SOLVER { variables = P }
OutputSimulation { start = 2.5 } half-LEVEL.gfs
OutputSimulation { start = end } end-LEVEL.gfs
OutputSimulation { start = 0.01 } end.gfs
OutputSimulation { start = 2.5e-3 step = 2.5e-3 } {
awk '{
if ($1 != "#")
print sqrt($1*$1+$2*$2),$8;
}' > prof
} { format = text }
OutputSimulation { start = 0.01 } end.gfs
OutputSimulation {start = 0.005} {
awk '{
if ($1 != "#" && $8 > 0.)
print sqrt($1*$1+$2*$2),$12,$13;
}' > prof
} { format = text}
OutputSimulation { start = 0.05 } stdout
OutputSimulation { start = 0.15 } stdout
OutputSimulation { start = 0.25 } stdout
OutputSimulation { start = 0.25 } SIM
OutputSimulation { start = end } end-LEVEL.gfs
OutputSimulation { start = end } sim-LEVEL.gfs
OutputSimulation { start = end } end-LEVEL-RE.gfs
OutputSimulation { step = 0.2 } stdout
OutputSimulation { start = end } end.txt { format = text variables = U,W }
OutputSimulation { start = end } end.gfs
OutputSimulation { start = end } end.gfs
OutputSimulation { start = end } end.gfs
OutputSimulation { start = end } end.gfs
OutputSimulation { start = end } end-LEVEL.txt { format = text }
OutputSimulation { start = end } {
awk '{
nl = NL;
if ($1 == "#") {
for (i = 2; i <= NF; i++) {
split($i,a,":")
if (a[2] == "U0")
start = a[1];
}
}
else {
dz = $4/nl;
emax = 0.;
for (i = 0; i < nl; i++) {
z = dz*(0.5+i)
u = A/(2.*NU)*(1./4 - (0.5 - z)*(0.5 - z))
eu = u - $(start+i)/dz
if (eu < 0.)
eu = -eu;
if (eu > emax)
emax = eu;
}
print nl,emax
}
}'
} { format = text }
OutputSimulation { start = end } end.gfs
OutputSimulation { start = end } end.gfs
OutputSimulation { start = end } {
awk '{
nl = NL;
if ($1 == "#") {
for (i = 2; i <= NF; i++) {
split($i,a,":")
if (a[2] == "U0")
start = a[1];
}
}
else if ($1 == RATIO/2**(LEVEL + 1)) {
dz = $4/nl;
for (i = 0; i < nl; i++) {
z = dz*(0.5+i)
print $1,$2,z,$(start+i)/dz
}
}
}' > uprof-RATIO-RE-NL
} { format = text }
OutputSimulation { start = end } end-NL.txt { format = text }
OutputSimulation { start = end } {
awk '{
nl = NL;
if ($1 == "#") {
for (i = 2; i <= NF; i++) {
split($i,a,":")
if (a[2] == "U0")
start = a[1];
}
}
else if ($1 == RATIO/2**(LEVEL + 1)) {
dz = $4/nl;
for (i = 0; i < nl; i++) {
z = dz*(0.5+i)
print $1,$2,z,$(start+i)/dz
}
}
}' > uprof-NL
} { format = text }
OutputSimulation { start = end } sim-LEVEL {
variables = U,V,P
}
OutputSimulation { start = end } sim-LEVEL {
variables = U,V,P
}
OutputSimulation { start = end } end-ORDER.gfs
OutputSimulation { start = end } end.gfs
OutputSimulation { start = end } stdout { depth = LEVEL }
OutputSimulation { start = end } stdout { depth = LEVEL }
OutputSimulation { start = end } stdout
OutputSimulation { start = end } end-ANGLE.gfs
OutputSimulation { start = end } end-OMEGA.gfs
OutputSimulation { start = end } sim-LEVEL
OutputSimulation { start = end } sim-LEVEL
OutputSimulation { start = 1500 } sim-LEVEL-%g.txt { format = text }
OutputSimulation { start = end } end-LEVEL.txt { format = text }
OutputSimulation { start = 1500 } {
awk '
function atan(x)
{
return atan2(x,1.);
}
function pow(x,y)
{
return x**y;
}
{
if ($1 == "#")
print $0;
else {
printf ("%g", R($1,$2));
for (i = 2; i <= NF; i++)
printf (" %s", $i);
printf ("\n");
}
}' > sim-LEVEL-1500.txt
} { format = text }
OutputSimulation { start = end } end-LEVEL.txt { format = text }
OutputSimulation { start = end } {
gfsplot "
set term postscript eps color solid lw 2 16
set output 'h-LEVEL.eps'
set xlabel 'x'
set ylabel 'z'
plot [5:15]'swashes' u 1:4 t 'topography' w l, \
'swashes' u 1:6 t 'free surface (analytical)' w l, \
'-' u (x):(H) w p t 'free surface (numerical)'
"
} { format = text }
OutputSimulation { start = end } end-LEVEL.txt { format = text }
OutputSimulation { start = end } {
awk '{ if ($1 != "#") print $1,$8; }' > prof-LEVEL-NL
} { format = text }
OutputSimulation { start = end } end-LEVEL-NL { format = text }
OutputSimulation { start = 0 } sim-LEVEL-%g.txt { format = text }
OutputSimulation { start = 160 } sim-LEVEL-%g.txt { format = text }
OutputSimulation { start = 175 } sim-LEVEL-%g.txt { format = text }
OutputSimulation { start = 220 } sim-LEVEL-%g.txt { format = text }
OutputSimulation { start = end } {
awk '{
if ($1 != "#") {
r = sqrt ($1*$1 + $2*$2);
print r,$4,$5,$6,$7;
}
}' | sort -n -k 1,2 > end-LEVEL.txt
} { format = text variables = T,H0,Et,Eh }
OutputSimulation { start = end } end-LEVEL.gfs
OutputSimulation { step = 0.3 } sim-%g.txt { variables = U,V,P format = text }
OutputSimulation { step = 0.4 } sim-%g.txt { variables = U,V,P format = text }
OutputSimulation { step = 0.3 } sim-%g.txt { variables = U,V,P format = text }
OutputSimulation { start = end } end-LEVEL-ALPHA.gfs
OutputSimulation { start = end } end-SOLVER-LEVEL.gfs
OutputSimulation { start = end } end-SOLVER-LEVEL.gfs
OutputSimulation { start = end } end.gfs
OutputSimulation { start = end } end.gfs
OutputSimulation { start = end } end-LEVEL.gfs
OutputSimulation { start = end } end-LEVEL.txt { format = text }
OutputSimulation { start = end } end-LEVEL.gfs
OutputSimulation { start = end } end-LEVEL.gfs
OutputSimulation { start = end } end-LEVEL.gfs
OutputSimulation { start = end } end-LEVEL.gfs
OutputSimulation { start = end } end-LEVEL.gfs
OutputSimulation { start = end } end-LEVEL.gfs
OutputSimulation { start = end } result.txt { format = text }
OutputSimulation { start = end } result.txt { format = text }
OutputSimulation { start = 0 } {
awk '{ if ($1 != "#") print sqrt($1*$1+$2*$2),$11 > "t_0-SCHEME"; }'
} { format = text }
OutputSimulation { start = 2 } {
awk '{ if ($1 != "#") print sqrt($1*$1+$2*$2),$11 > "t_2-SCHEME"; }'
} { format = text }
OutputSimulation { start = 4 } {
awk '{ if ($1 != "#") print sqrt($1*$1+$2*$2),$11 > "t_4-SCHEME"; }'
} { format = text }
OutputSimulation { start = 6 } {
awk '{ if ($1 != "#") print sqrt($1*$1+$2*$2),$11 > "t_6-SCHEME"; }'
} { format = text }
OutputSimulation { start = end } {
awk '{ if ($1 != "#") print $2,sqrt($4*$4+$5*$5); }' > prof-LEVEL
} {
format = text
variables = Ex,Ey
}
OutputSimulation { start = end } result-LEVEL.gfs
OutputSimulation { start = end } {
awk '{ if ($1 != "#")
print sqrt($2*$2+$1*$1),sqrt($4*$4+$5*$5); }' > prof-LEVEL
} {
format = text
variables = Ex,Ey
}
OutputSimulation { start = end } result-LEVEL.gfs
OutputSimulation { start = end } result.gfs
OutputSimulation solution.gfs
OutputSimulation {} solution.gfs