It is important to drive the flow through the channel with a pressure gradient rather than a velocity boundary condition. With larger arrays that partially block the channel, the dynamics of the channel change and the turbines extract energy from a lower velocity flow with a strong pressure gradient across the turbine.

It is important to drive the flow through the channel with a pressure gradient rather than a velocity boundary condition. With larger arrays that partially block the channel, the dynamics of the channel change and the turbines extract energy from a lower velocity flow with a strong pressure gradient across the turbine.

-

Here is my single turbine parameter file and output to compare with Euler.

+

When I drove the flow in the channel with a pressure gradient across the boundaries in the 2D NS solver I got large reflections from boundaries. We also decided that depth averaging was a better approximation than a 2D NS for looking at arrays of turbines because the 2D NS solution assumes the domain is the same at all depths which is not true for a 20m turbine in 50m of water.

+

Here is my single turbine parameter file and output to compare with Euler. I use Umax = 2ms^-1 and speed up the tide so FM2 = 4470 s.

+

+

<source lang=gfs>

#run with gerris3D -m single.gfs

#run with gerris3D -m single.gfs

Line 549:

Line 552:

1 2 right

1 2 right

2 3 right

2 3 right

+

</source>

+

Output at t = 1117 s. Note, I speed up the tide by a factor of 10 to get reasonable run times for large arrays of turbines. At 350 s the wake hasn't developed much. I think the ocean and euler result look fairly similar.

+

+

{| align="center"

+

|+ Zonal speed (colour).

+

|-

+

| [[Image:OceanSingleU01117.png|thumb|400px|center|Ocean]]

+

| [[Image:Euler_3500_0.png|thumb|400px|center|2D Euler]]

+

|}

+

+

{| align="center"

+

|+ Height (colour).

+

|-

+

| [[Image:press01117.png|thumb|400px|center|Ocean]]

+

| [[Image:Euler_3500_1.png|thumb|400px|center|2D Euler]]

+

|}

{| align="center"

{| align="center"

|+ Vorticity (colour).

|+ Vorticity (colour).

Line 585:

Line 604:

fact that the model response is ultimately unstable suggests that these models

fact that the model response is ultimately unstable suggests that these models

might be over-estimating that potential.

might be over-estimating that potential.

+

+

:''This is not a "model-dependent" problem (in the sense "numerical model"). What ultimately controls how many eddies are present is the balance between eddy creation and dissipation. Both are controlled by the model used for the viscous dissipation (in the sense theoretical/physical/mathematical model). At the moment these simulations assume that the only friction is through some parameterisation of bottom friction. This bottom friction is too small outside of the turbine area (or equivalently the spatial resolution is not high enough) and the simulations are thus essentially controlled by the numerical dissipation (hence the sensitivity of the results on the detail of the model used: advection scheme, limiters etc...). When averaging the Saint-Venant equations vertically, dissipation appears in two ways: a first term which is essentially the vertical average of the horizontal components of the viscous terms, which will look like an equivalent 2D viscous dissipation. A second term which is a vertical average of the viscous terms linked to the vertical gradient in horizontal velocity, which will be the "bottom friction" parameterisation. If the flow is really shallow i.e. all horizontal scales are much larger than depth, then the "bottom friction" term largely dominates and the 2D viscous term can be ignored. So, the main issue here is not really that this term is ignored where it shouldn't be but rather than the regime which is simulated is not consistent with the shallow water approximation in the first place.'' --[[User:Popinet|Popinet]] 09:38, 20 May 2011 (UTC)

Current revision

Testing the River version of Gerris. In particular interested in the possibility of tidal turbine
like simulations in support of Tim Divett's thesis.

The basic issue is that we note in both the Linear Free Surface and Nonlinear Free Surface versions
of Gerris that vortices generated from wakes caused by localised regions of high bottom friction
(mimicing the presence of a turbine, say) can sometimes become unstable, i.e., the vortex continues
to spin up as it moves downstream leading to (presumably) unphysical magnitudes of flow and fluid
height. In the linear free surface version, such vortices persist and can be seen moving with the
background flow. In the nonlinear free surface version, these vortices become tighter and more
intense, and eventually grind the simulation to a halt via excessive magnitudes of flow and amplitude.

This issue is also relevant to a whole series of linear free surface tidal simulations around headlands
and bays around New Zealand. In these simulations an increase in spatial resolution reveals the
generation of many eddies that appear to be shed in a physical way via interactions with the
coastline. As above, these eddies persist in the background tidal flow. They do not appear to
be unstable (ie the runs keep going), but the question remains about the fidelity and actuality
of these eddies (and to test this we need more field observations, and perhaps some more thought
about the model).

Both models have been tested against the cases present by Signell and Geyer (1991) and both seem
to do a good job of reproducing many of the features seen. Thus the underlying schemes seem to be
correct, at least for the scales of interest in these tests.

Perhaps it's not surprising that these features arise. After all the models in question here are
solving shallow water variants of reality, so that the likely possibility of 3D processes in the
water column influencing the vortex behaviour is absent. For the shallow water the only explicit
damping is via a bottom friction term, and the only implicit damping is through truncation terms
in the advection scheme; these may be missing important physics that allow for a more complete
representation of the vortex behaviour.

So, here show some examples of the unstable vortex behaviour in the River code. This can perhaps
lead to a better understanding of the limitations of the shallow water models, and how far we
should be pushing them to look at the (presumably) complex tidal interactions with coastline
and in-situ structures.

Contents

River Tidal Turbine 2D Problem

A typical 2D run set up with constant bathymetry of 50 metres depth, with
an increased region of bottom friction defined by TT(x,y) in the centre
of the domain. M2U(t) drives the tidal flow at the boundary, anticipating
a maximum input speed of 1 m/s.

The change of relevance here is the choice of advection scheme. The default
(Minmod) produces a stable simulation, with a smooth wake behind the turbine.
Change that to Sweby, and the wake becomes unstable, leading to vortices that
then continue to deepen and amplify.

The question is which is "correct"?

Run out to around t=5000, taking about the same number of cpu seconds on
6 processor elements.

River Tidal Turbine 2D Sample Output

Solutions at 3500 seconds into each run using the default (left column) and
Sweby (right column) advection schemes.

Zonal speed (colour), height (contours).

Minmod

Sweby

Height (colour and contours).

Minmod

Sweby

Vorticity (colour) and height (contours).

Minmod

Sweby

As perhaps expected the default (minmod) advection gives a smoother
wake, with no hint at this time of wake instability and vortex generation.

In contrast with Sweby advection instability is clear and looks (to begin
with) physical. However, as these frames show, there is a fairly 'singular'
vortex formed, with deepening amplitude and associated flow speeds. This
then later generates a whole raft of large amplitude waves over the whole
domain, killing the simulation; this process is clearly unstable.

Note that adaptivity is turned on. Initially the grid is refined to the finest
level in a zone around the turbine, with relatively coarse cells elsewhere.
This region is then allowed to follow the evolution of the wakes through a
vorticity criterion which certainly seems to work as expected. Thus the
evolving vortices are resolved to the finest scale set.

2D incompressible Euler results

Given that the Froude number for this example is only Fr = 1./sqrt(g*H) = 0.045, it is entirely justified to use a rigid-lid approximation. The problem thus becomes depth-independent an can be solved using the incompressible Euler (no viscous terms) solver (GfsSimulation) with the same "bottom friction" parameterisation.

Ocean Simulation Output

A single turbine simulated in the linear free surface solver looks very similar to the 2D NS solution.

It is important to drive the flow through the channel with a pressure gradient rather than a velocity boundary condition. With larger arrays that partially block the channel, the dynamics of the channel change and the turbines extract energy from a lower velocity flow with a strong pressure gradient across the turbine.

When I drove the flow in the channel with a pressure gradient across the boundaries in the 2D NS solver I got large reflections from boundaries. We also decided that depth averaging was a better approximation than a 2D NS for looking at arrays of turbines because the 2D NS solution assumes the domain is the same at all depths which is not true for a 20m turbine in 50m of water.

Here is my single turbine parameter file and output to compare with Euler. I use Umax = 2ms^-1 and speed up the tide so FM2 = 4470 s.

Output at t = 1117 s. Note, I speed up the tide by a factor of 10 to get reasonable run times for large arrays of turbines. At 350 s the wake hasn't developed much. I think the ocean and euler result look fairly similar.

Zonal speed (colour).

Ocean

2D Euler

Height (colour).

Ocean

2D Euler

Vorticity (colour).

Ocean

Euler

Using the GfsOcean simulation we get some similar super vortices generated as the tide reverses back through an array of turbines. The super vortex (red area above the array in figure below) forms to the right of the array at the reversing of the tide and passes near the top right turbine in the array which whips across to its current position. It grows in magnitude as it moves. I don't see this in a simulation of a single turbine.

Summary

This form of instability is not peculiar to the nonlinear free surface code,
but the nonlinearity feeds the effect of the vortex to the wider field, causing
a model crash. The growth of the vortex is similar in the linear free surface
code (might need an example from Tim) but it doesn't generally lead to a model
crash.

I suspect that we're expecting too much from these versions of the model, ie,
shallow water with their own advection scheme variants. It may well be that
a full resolution will have to be in 3D (and indeed Sebastien has tried that
and found how tricky and expensive that is!).

Underlying the problem remains the fundamental issue; what is the eddy generation
potential of tidal flow interacting with coastline? The Gerris models suggest
that there are potentially a lot of eddies out there to be found; however the
fact that the model response is ultimately unstable suggests that these models
might be over-estimating that potential.

This is not a "model-dependent" problem (in the sense "numerical model"). What ultimately controls how many eddies are present is the balance between eddy creation and dissipation. Both are controlled by the model used for the viscous dissipation (in the sense theoretical/physical/mathematical model). At the moment these simulations assume that the only friction is through some parameterisation of bottom friction. This bottom friction is too small outside of the turbine area (or equivalently the spatial resolution is not high enough) and the simulations are thus essentially controlled by the numerical dissipation (hence the sensitivity of the results on the detail of the model used: advection scheme, limiters etc...). When averaging the Saint-Venant equations vertically, dissipation appears in two ways: a first term which is essentially the vertical average of the horizontal components of the viscous terms, which will look like an equivalent 2D viscous dissipation. A second term which is a vertical average of the viscous terms linked to the vertical gradient in horizontal velocity, which will be the "bottom friction" parameterisation. If the flow is really shallow i.e. all horizontal scales are much larger than depth, then the "bottom friction" term largely dominates and the 2D viscous term can be ignored. So, the main issue here is not really that this term is ignored where it shouldn't be but rather than the regime which is simulated is not consistent with the shallow water approximation in the first place. --Popinet 09:38, 20 May 2011 (UTC)