GfsBoundary
From Gerris
Examples
- B\'enard--von K\'arm\'an Vortex Street for flow around a cylinder at Re=160
- Vortex street around a "heated" cylinder
- Parallel simulation on four processors
- Collapse of a column of grains
- Viscous folding of a fluid interface
- Turbulent air flow around RV Tangaroa
- Atomisation of a pulsed liquid jet
- Air-water flow around a Series 60 cargo ship
- Lunar tides in Cook Strait, New Zealand
- 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
- Convergence of the Poisson solver
- Convergence with a refined circle
- Rotation of a straight interface
- Potential flow around a sphere
- Viscous flow past a sphere
- Mass conservation
- Mass conservation with solid boundary
- Boundary layer on a rotating disk
- Lid-driven cavity at Re=1000
- Lid-driven cavity at Re=1000 (explicit scheme)
- Lid-driven cavity with a non-uniform metric
- Lid-driven cavity on an anisotropic mesh
- Poiseuille flow
- Bagnold flow of a granular material
- Poiseuille flow with metric
- Wind-driven lake
- Convergence of a potential flow solution
- Flow through a divergent channel
- Potential flow around a thin plate
- Translation of an hexagon in a uniform flow
- Sessile drop
- Transcritical flow over a bump
- Transcritical flow with multiple layers
- Circular dam break on a sphere
- Circular dam break on a rotating sphere
- Creeping Couette flow between cylinders
- Flow between eccentric cylinders using bipolar coordinates
- 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
- Gouy-Chapman Debye layer
- Simple example of groundwater flow following Darcy's law
- Groundwater flow with piecewise constant permeability
left = Boundary {
BcDirichlet U 1
BcDirichlet T { return y < 0. ? 1. : 0.; }
}
left = Boundary {
BcDirichlet U 1
}
left = Boundary {
BcDirichlet U 1
BcDirichlet T { return y < 0. ? 1. : 0.; }
}
top = Boundary {
# shift the reference pressure by the hydrostatic pressure of
# the light phase, i.e. P = 0 at the bottom boundary in the
# light phase. I am not sure whether this makes a real
# difference.
BcDirichlet P -RHOF*LDOMAIN
BcNeumann V 0
}
bottom = Boundary {
# no-slip at the bottom
BcDirichlet U 0
}
right = Boundary {
BcDirichlet V 0
}
bottom = Boundary {
BcDirichlet U 0
}
left = Boundary {
BcDirichlet V 0
}
right = Boundary {
BcDirichlet V 0
}
left = Boundary {
BcDirichlet U velocity_bc(y, t)
}
bottom = Boundary {
BcDirichlet U 0
}
bottom = Boundary {
BcDirichlet U 0
}
left = Boundary {
BcDirichlet U 1
}
right = Boundary {
BcNeumann U 0
BcDirichlet P 0
}
left = Boundary {
# Pulsed jet on inflow
BcDirichlet U T0*(1. + 0.05*sin (10.*2.*M_PI*t))
BcDirichlet T T0
BcDirichlet V 0
BcDirichlet W 0
}
left = Boundary {
BcDirichlet P 0
BcDirichlet V 0
BcDirichlet W 0
BcNeumann U 0
BcNeumann T 0
}
right = Boundary {
BcDirichlet P 0
BcDirichlet V 0
BcDirichlet W 0
BcNeumann U 0
BcNeumann T 0
}
left = Boundary {
BcFlather U 0 H P M2(t)
}
right = Boundary {
BcFlather U 0 H P M2(t)
}
top = Boundary {
BcFlather V 0 H P M2(t)
}
bottom = Boundary {
BcFlather V 0 H P M2(t)
}
left = Boundary { BcNeumann U 0 }
top = Boundary { BcNeumann V 0 }
bottom = Boundary { BcNeumann V 0 }
right = Boundary { BcNeumann U 0 }
top = Boundary { BcNeumann V 0 }
bottom = Boundary { BcNeumann V 0 }
left = Boundary {
BcDirichlet P 3.505271526
BcDirichlet U 22.049341608
}
top = Boundary
left = Boundary { BcSubcritical U (input - Zb) }
top = Boundary {
BcSubcritical V -Zb
}
bottom = Boundary {
BcSubcritical V -Zb
}
right = Boundary {
BcSubcritical U -Zb
}
left = Boundary {
BcSubcritical U -Zb
}
left = Boundary { BcDirichlet P (sin (M_PI*3.*x)*sin (M_PI*3.*y)) }
right = Boundary { BcDirichlet P (sin (M_PI*3.*x)*sin (M_PI*3.*y)) }
top = Boundary { BcDirichlet P (sin (M_PI*3.*x)*sin (M_PI*3.*y)) }
bottom = Boundary { BcDirichlet P (sin (M_PI*3.*x)*sin (M_PI*3.*y)) }
left = Boundary { BcNeumann P (- 3.*M_PI*cos(M_PI*3.*x)*sin (M_PI*3.*y)) }
right = Boundary { BcNeumann P ( 3.*M_PI*cos(M_PI*3.*x)*sin (M_PI*3.*y)) }
top = Boundary { BcNeumann P ( 3.*M_PI*cos(M_PI*3.*y)*sin (M_PI*3.*x)) }
bottom = Boundary { BcNeumann P (- 3.*M_PI*cos(M_PI*3.*y)*sin (M_PI*3.*x)) }
left = Boundary {
BcDirichlet U y
BcAngle T (90. + atan2(1.,t)*180./M_PI)
}
right = Boundary {
BcDirichlet U y
BcAngle T (90. - atan2(1.,t)*180./M_PI)
}
top = Boundary {
BcDirichlet U y
BcAngle T (180. - atan2(1.,t)*180./M_PI)
}
bottom = Boundary {
BcDirichlet U y
BcAngle T atan2(1.,t)*180./M_PI
}
left = Boundary { BcDirichlet U U0 }
right = Boundary { BcDirichlet U U0 }
left = Boundary { BcDirichlet U U0 }
left = Boundary {
BcDirichlet U 1
BcDirichlet V 0
}
left = Boundary {
BcDirichlet U 1
BcDirichlet V 0
}
left = Boundary {
BcDirichlet U 0
BcDirichlet V 0
BcDirichlet W y
}
right = Boundary {
BcNeumann U 0
BcNeumann V 0
BcNeumann W 0
BcDirichlet P 0.
}
bottom = Boundary { BcDirichlet W 0 }
left = Boundary {
BcDirichlet U 0
BcDirichlet V 0
BcDirichlet W y
}
right = Boundary {
BcNeumann U 0
BcNeumann V 0
BcNeumann W 0
BcDirichlet P 0.
}
left = Boundary {
BcDirichlet U 0
BcDirichlet V 0
BcDirichlet W y
}
right = Boundary {
BcNeumann U 0
BcNeumann V 0
BcNeumann W 0
BcDirichlet P 0.
}
left = Boundary {
BcDirichlet U 0
BcDirichlet V 0
BcDirichlet W y
}
right = Boundary {
BcNeumann U 0
BcNeumann V 0
BcNeumann W 0
BcDirichlet P 0.
}
top = Boundary {
BcNeumann U 0
BcNeumann V 0
BcNeumann W 0
}
top = Boundary {
BcDirichlet U 1
BcDirichlet V 0
}
bottom = Boundary {
BcDirichlet U 0
BcDirichlet V 0
}
right = Boundary {
BcDirichlet U 0
BcDirichlet V 0
}
left = Boundary {
BcDirichlet U 0
BcDirichlet V 0
}
top = Boundary {
BcDirichlet U 1
BcDirichlet V 0
}
bottom = Boundary {
BcDirichlet U 0
BcDirichlet V 0
}
right = Boundary {
BcDirichlet U 0
BcDirichlet V 0
}
left = Boundary {
BcDirichlet U 0
BcDirichlet V 0
}
top = Boundary {
BcDirichlet U 1
BcDirichlet V 0
}
bottom = Boundary {
BcDirichlet U 0
BcDirichlet V 0
}
right = Boundary {
BcDirichlet U 0
BcDirichlet V 0
}
left = Boundary {
BcDirichlet U 0
BcDirichlet V 0
}
top = Boundary {
BcDirichlet U 1
BcDirichlet V 0
}
right = Boundary {
BcDirichlet U 0
BcDirichlet V 0
}
left = Boundary {
BcDirichlet U 0
BcDirichlet V 0
}
bottom = Boundary {
BcDirichlet U 0
BcDirichlet V 0
}
right = Boundary {
BcDirichlet U 0
BcDirichlet V 0
}
left = Boundary {
BcDirichlet U 0
BcDirichlet V 0
}
bottom = Boundary {
BcDirichlet U 0
}
top = Boundary {
BcDirichlet U 0
}
top = Boundary {
BcNeumann V 0
BcDirichlet P 0
}
bottom = Boundary {
BcDirichlet U 0
}
bottom = Boundary {
BcDirichlet U 0
}
top = Boundary {
BcDirichlet U 0
}
top = Boundary {
BcNeumann U 1.
}
bottom = Boundary {
BcDirichlet U 0
}
left = Boundary { BcDirichlet U 1 }
right = Boundary { BcDirichlet U 1 }
GfsBox { left = Boundary { BcDirichlet U 1 } }
left = Boundary { BcDirichlet U 1 }
left = Boundary {
BcDirichlet U 1
BcDirichlet T 1
}
bottom = Boundary {
BcAngle T ANGLE
}
left = Boundary # axis of symmetry
right = Boundary {
BcDirichlet P 0.33
BcNeumann U 0
}
left = Boundary {
BcDirichlet U 0.18
}
right = Boundary {
# set water depth at outlet
BcDirichlet P HE
BcNeumann U 0
}
left = Boundary {
# set flow rate at inlet, evenly distributed over all layers
BcDirichlet U Q/NL
}
right = Boundary { BcNeumann U 0 }
left = Boundary { BcNeumann U 0 }
top = Boundary { BcNeumann V 0 }
bottom = Boundary { BcNeumann V 0 }
right = Boundary { BcNeumann U 0 }
left = Boundary { BcNeumann U 0 }
top = Boundary { BcNeumann V 0 }
bottom = Boundary { BcNeumann V 0 }
left = Boundary {
BcDirichlet V 0.25
BcDirichlet T 0.25
}
right = Boundary {
BcDirichlet V 0.
BcDirichlet T 0
}
left = Boundary { BcDirichlet V 0 }
right = Boundary { BcDirichlet V 1 }
left = Boundary { BcDirichlet V 0 }
right = Boundary { BcDirichlet V 1 }
left = Boundary { BcDirichlet V 0 }
right = Boundary { BcDirichlet V 1 }
left = Boundary { BcDirichlet V 0 }
right = Boundary { BcDirichlet V 1 }
left = Boundary { BcDirichlet V 0 }
right = Boundary { BcDirichlet V 1 }
left = Boundary { BcDirichlet V 0 }
right = Boundary { BcDirichlet V 1 }
left = Boundary { BcDirichlet V 0 }
right = Boundary { BcDirichlet V 1 }
left = Boundary { BcDirichlet V 0 }
right = Boundary { BcDirichlet V 1 }
top = Boundary {
BcDirichlet Phi 1
BcDirichlet P 0
}
bottom = Boundary {
BcDirichlet Phi 0.
}
top = Boundary {
BcDirichlet Phi 1
BcDirichlet P 0
}
bottom = Boundary {
BcDirichlet Phi 0.
}
left = Boundary { BcDirichlet Phi 0 }
right = Boundary { BcDirichlet Phi 0 }
top = Boundary { BcDirichlet Phi 0 }
bottom = Boundary { BcDirichlet Phi 0 }
top = Boundary { BcDirichlet Phi 0 }
top = Boundary { BcDirichlet Phi 0 }
bottom = Boundary { BcDirichlet Phi 0 }
left = Boundary { BcDirichlet Phi 0 }
right = Boundary { BcDirichlet Phi 0 }
right = Boundary {
BcDirichlet Phi Ef*x
}
left = Boundary {
BcDirichlet Phi Ef*x
}
top = Boundary {
BcDirichlet Phi Ef*x
}
top = Boundary
left = Boundary {
BcDirichlet Phi Volt
BcDirichlet Cpos exp(-Volt)
BcDirichlet Cneg exp(Volt)
}
top = Boundary
top = Boundary
top = Boundary
top = Boundary
right = Boundary {
BcDirichlet Phi 0.
BcDirichlet Cpos 1.
BcDirichlet Cneg 1.
}
top = Boundary {
BcDirichlet P 0
BcDirichlet U 0
BcNeumann V 0
}
left = Boundary {
BcDirichlet P -M_PI/2
BcNeumann U 0
BcDirichlet V 0
}
top = Boundary {
BcDirichlet P 0
BcDirichlet U 0
BcNeumann V 0
}
left = Boundary {
BcDirichlet P -2*M_PI/3
BcNeumann U 0
BcDirichlet V 0
}

