@@ -61,6 +61,12 @@ adding an empty line, make text **bold** or ``monospaced``.
<suggestion> true </suggestion>
</parameter>
<parametername="policy">
<definition> Policy to write the data. </definition>
<suggestion> endOfRichardsStep </suggestion>
<values> endOfRichardsStep, none </values>
</parameter>
<parametername="subsamplingLevel">
<definition> Plot VTK files with virtually refined grids. VTK only
supports bilinear triangulations and displays higher-order solutions
...
...
@@ -107,11 +113,10 @@ adding an empty line, make text **bold** or ``monospaced``.
<categoryname="initial">
<parametername="type">
<definition> The type of data to create the initial condition from.
</definition>
<values> data, linear </values>
<suggestion> linear </suggestion>
<comment> Choose source type: data, linear </comment>
<definition> There are currently two possible initial conditions to choose from: A HDF datafile (``data``), or analytic equations (``analytic``).</definition>
<definition> Plot VTK files with virtually refined grids. VTK only
supports bilinear triangulations and displays higher-order solutions
...
...
@@ -106,11 +112,40 @@ adding an empty line, make text **bold** or ``monospaced``.
</category>
<categoryname="initial">
<parametername="value">
<definition> Initial constant value over the whole domain. </definition>
<values> float </values>
<parametername="type">
<definition> There are currently two possible initial conditions to choose from: A HDF datafile (``data``), or analytic equations (``analytic``).</definition>
Set a fixed matric head [:math:`m`] at the boundary.
.. object:: dirichlet <solute>
Set a fixed solute concentration at the boundary.
Neumann
+++++++
.. object:: neumann <flux>
.. object:: neumann <water_flux>
Set a fixed volumetric water flux [:math:`m/s`] at the boundary. Positive values
imply fluxes out of the domain, negative values imply fluxes into the domain.
.. object:: neumann <solute_flux>
Set a fixed volumetric solute flux [:math:`kg/(s\,m^3)`] at the boundary. Positive values
imply fluxes out of the domain, negative values imply fluxes into the domain.
Outflow
+++++++
Set a fixed volumetric flux [m/s] at the boundary. Positive values imply fluxes out of the domain, negative values imply fluxes into the domain.
.. object:: outflow <solute_outflux>
Set a spatial rate of change of volumetric solute flux
[:math:`kg/(s\,m\,m^3)`] at the boundary. Positive values imply higher rate
of change out of the domain, negative values imply lower rate of change into
the domain. Influx situations are not taken into account. For most of the
cases an outflow of 0. [:math:`kg/(s\,m\,m^3)`] is a reasonable situation.
Datafile Structure
==================
...
...
@@ -83,7 +104,7 @@ These lines follow a simple grammar:
bc_line: time { group }*
time: `float`
group: ( bc_type `float` )
bc_type: "neumann" | "dirichlet"
bc_type: "neumann" | "dirichlet" | "outflow"
The boundary conditions defined here are parsed in the same order as the boundary segments have been specified. In 3D, the rectangular boundary segments are parsed in a tabular fashion, where columns run faster than rows. Columns are defined along the first direction specified in the `Boundary Segmentation`_, and rows are defined along the second direction.
@@ -6,9 +6,9 @@ Depending on the application for what you want to use DORiE, there might be the
Understanding the water flux output
-----------------------------------
Firstly, we have to recall that DORiE solves a Discontinuous Galerking finite element problem with *matric head* as unknown. It means that the solution of the *matric head* (and therefore the *water flux*) is continuous only element-wise, or in other words, it is discontinuous on the intersections between elements. On the other hand, the dG method solves *numerical fluxes* on the intersections between elements composed together with a penalty term that increases with respect to the discontinuity of the *matric head*. This ensures that the local solution is conservative while keeps the discontinuity as low as possible.
Firstly, we have to recall that DORiE solves a Discontinuous Galerking finite element problem with *matric head*/*solute concentration* as unknown. It means that the solution of the *matric head*/*solute concentration* (and therefore the *water flux*/*solute flux*) is continuous only element-wise, or in other words, it is discontinuous on the intersections between elements. On the other hand, the dG method solves *numerical fluxes* on the intersections between elements composed together with a penalty term that increases with respect to the discontinuity of the *matric head*/*solute concentration*. This ensures that the local solution is conservative while keeps the discontinuity as low as possible.
From the description above one can infer that one has to distinguish between *water fluxes* at the interior of each element and at the intersections of all elements (we call these intersections skeleton of the grid). Unfortunately, there is no a standard form to write the skeleton fluxes on formats like VTK and that's the main reason why DORiE only provides the interior fluxes. However, assuming one can write both fluxes into some output format, they are still discontinuous (notice that direct use of discontinuous fluxes are useless for conservative computations since the transported quantities are very likely to get stagnated or over-transported in the nearby of intersections between elements). It means that it is needed some sort of post-processing that ensures that the *water mass* is still locally and globally conserved.
From the description above one can infer that one has to distinguish between * fluxes* at the interior of each element and at the intersections of all elements (we call these intersections skeleton of the grid). Unfortunately, there is no a standard form to write the skeleton fluxes on formats like VTK and that's the main reason why DORiE only provides the interior fluxes. However, assuming one can write both fluxes into some output format, they are still discontinuous (notice that direct use of discontinuous fluxes are useless for conservative computations since the transported quantities are very likely to get stagnated or over-transported in the nearby of intersections between elements). It means that it is needed some sort of post-processing that ensures that the *mass* is still locally and globally conserved.
.. DORiE allow finite volume computations under certain specific conditions. In such case, if generated, the raw flux output generated by DORiE has no meaning. The reason is that finite volumes are computed with finite elements of order 0 where gradients are 0.