Skip to content

Commit

Permalink
Merge pull request #406 from nens/1D-vegetation
Browse files Browse the repository at this point in the history
1 d vegetation
  • Loading branch information
leendertvanwolfswinkel authored Jun 6, 2024
2 parents 4d54b91 + 294039e commit 7b2a984
Show file tree
Hide file tree
Showing 4 changed files with 50 additions and 9 deletions.
2 changes: 1 addition & 1 deletion source/d_settings_objects.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1005,7 +1005,7 @@ Schema version attributes
Vegetation drag settings
------------------------

The *vegetation drag* table contains the input parameters that are used for 2D flow with vegetation. For an in-depth explanation of how 2D flow with vegetation is calculated by 3Di, see :ref:`2D flow with vegetation<flow_with_vegetation>`. For more information on using vegetation in your 3Di model and choosing the right parameter values, see :ref:`How to model vegetation<a_how_to_vegetation>`.
The *vegetation drag* table contains the input parameters that are used for 2D flow with vegetation. For an in-depth explanation of how 2D flow with vegetation is calculated by 3Di, see :ref:`flow_with_vegetation`. For more information on using vegetation in your 3Di model and choosing the right parameter values, see :ref:`How to model vegetation<a_how_to_vegetation>`.

Vegetation drag can only be used with friction type 'Chezy', because the vegetation formulation (initially introduced by :cite:p:`Baptist2007`) uses Chezy.

Expand Down
34 changes: 32 additions & 2 deletions source/h_onedee_flow.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
- :ref:`cross_section_of_1d_element`
- :ref:`1d_momentum_equation`
- :ref:`1d_friction`
- :ref:`1d_vegetation`
- :ref:`1Dpressurized`
- :ref:`channelflow`
- :ref:`weirs_and_orifices`
Expand Down Expand Up @@ -174,13 +175,42 @@ The conveyance factor considers the depth variations in the different depth sect
Single Section Method vs Compound Section (Conveyance) Method

In 3Di, the conveyance method can be applied with single or variable roughnesses. In case of the single roughness, one roughness value is assigned to the whole cross-section. This can be used with cross-section shapes *Tabulated rectangle* and *Tabulated trapezium*. On the other hand, different roughness values can be assigned to the sub-sections to account for the variable roughness along the cross-section. This can be used with the cross-section shape *YZ*.


.. _1d_vegetation:

Vegetation in the 1D domain
---------------------------

In addition to friction, natural or planted vegetation plays a significant role in the hydrualic resistance of the flow. The overall head loss along a channel can strongly increase with the presence of vegetation. The way 3Di calculates the effect of vegetation on the flow in the 1D domain is very similar to :ref:`flow_with_vegetation`.

The effect of vegetation is modelled as the equivalent shear stress due to vegetation (:cite:t:`Baptist2007`,). The total shear stress is then the superposition of the surface and vegetation-induced shear stresses, which eventually alters the uniform flow velocity. This method uses vegetation characteristics, namely stem diameter, density, height, and drag coefficient, to quantify the vegetation-induced shear stress :math:`\tau_v` as:

.. math::
\tau_v = \frac{1}{2}C_{DV} m D min[H_v, H]u^2 \label{eq:veggie_drag_baptist}
| with:
| :math:`u`, the flow velocity (in flow direction)
| :math:`H`, the water depth
| :math:`H_v`, the relative vegetation height
| :math:`D`, the stem diameter
| :math:`m`, the number of stems per square meter
| :math:`C_{DV}`, The vegetation drag coefficient
3Di allows for defining single vegetation properties for the cross-section shapes *Tabulated rectangle* and *Tabulated trapezium* (see :ref:`cross-section_shape`). For cross-sections with a *YZ* shape, different vegetation parameter values can be set for each segment in the cross-section, to represent the spatial distribution of vegetation across a channel (see the figure below). When generating the model, 3Di analyzes the cross-section and divides it into several sub-sections according to the slope of the segments. The details about 1D vegetation entries can be found in :ref:`cross_section_location`.

.. figure:: image/1dvegetation.png
:figwidth: 1500 px
:alt: 1D_vegetation

User-defined vegetation properties for each segment of a YZ cross-section, and how 3Di interprets it.

.. _1Dpressurized:

Pressurized flow
----------------

In 1D elements with closed cross-sections flow may become pressurized. The way 3Di deals with this is similar to how 3Di deals with the non-lineair relations in 2D cells (e.g. between volume and water level). :ref:`subgridmethod` allows 2D cells to be be dry, wet or *partly wet*, creating a non-lineair volume-water level relation. This was solved with a highly efficient method. However, there are some requirements for such system to be solved. one of these requirements is violated when the surface area decreases for increasing water levels, as in pipes that are more than half full (see the Figure below). Therefore, a new method had to be introduced to solve such a non-linear system of equations. This method is based on the so-called nested Newton method (`cite:t:`Casulli2013`).
In 1D elements with closed cross-sections, flow may become pressurized. The way 3Di deals with this is similar to how 3Di deals with the non-linear relations in 2D cells (e.g. between volume and water level). :ref:`subgridmethod` allows 2D cells to be dry, wet or *partly wet*, creating a non-linear volume-water level relation. This was solved with a highly efficient method. However, there are some requirements for such system to be solved. One of these requirements is violated when the surface area decreases for increasing water levels, as in pipes that are more than half full (see the Figure below). Therefore, a new method had to be introduced to solve such a non-linear system of equations. This method is based on the *nested Newton* method (:cite:t:`Casulli2013`).

.. figure:: image/b1_5.png
:scale: 50%
Expand Down
23 changes: 17 additions & 6 deletions source/h_surfaceflow.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,17 @@
2D Surface flow
===============


The 2D surface flow is based on the 2D depth-averaged shallow water equations. These equations are based on the conservation of momentum. 3Di considers the various processes; inertia, advection, pressure and friction for computing the horizontal flow.

The methods that 3Di uses to deal with the flow in the 2D domain are thoroughly described and published in :cite:t:`Casulli2009`, :cite:t:`Casulli2011`, :cite:t:`Stelling2015`, and :cite:t:`Volp2013`.

.. TODO: Extend
- :ref:`surface_flow_cross_sections`
- :ref:`obstacles`
- :ref:`friction_2d_domain`
- :ref:`water_level_gradients`
- :ref:`sloping_terrain`
- :ref:`flow_with_vegetation`


.. _surface_flow_cross_sections:

Expand Down Expand Up @@ -50,18 +55,24 @@ If the model wishes to include an obstacle that may not be detected by the compu

In sub-figure (A) the flow can freely flow from left to right as the blocking features are not on the cell edges. Sub-figure (B) shows the effect of the obstacle: it affects the exchange level of the nearest cell edge.

Friction
--------
.. _friction_2d_domain:

Friction in the 2D domain
-------------------------

In the 2D domain, the friction is calculated using the flow depth at each :ref:`subgrid <subgridmethod>` pixel in the :ref:`momentum domain<computational_grid_2d_domain>`. The formulations of Chézy or Manning can be used for the calculation of friction.

.. _water_level_gradients:

Water level gradients
---------------------

On flat terrain without steep steps or jumps in elevation, the water level gradient is simply determined by the difference in water level over the x-axis or y-axis distance between the cell centers.

If there are steep steps in the terrain, a :ref:`limiter_gradient` may be used to correctly calculate the water level gradient.

.. _sloping_terrain:

Sloping terrain
---------------

Expand All @@ -70,8 +81,8 @@ Calculating 2D flow on sloping terrain requires some special attention. If the d

.. _flow_with_vegetation:

Vegetation
----------
Vegetation in the 2D domain
---------------------------

Vegetation in a water course strongly affects the flow, as the vegetation exerts a *drag force* on the flowing water. In 3Di, this drag force can be calculated from the characteristics of the vegetation that is present in the water course.

Expand Down
Binary file added source/image/1dvegetation.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 7b2a984

Please sign in to comment.