]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Minor updates to DataOutFilter. 13583/head
authorWolfgang Bangerth <bangerth@colostate.edu>
Wed, 30 Mar 2022 20:02:34 +0000 (14:02 -0600)
committerWolfgang Bangerth <bangerth@colostate.edu>
Mon, 4 Apr 2022 20:16:38 +0000 (14:16 -0600)
include/deal.II/base/data_out_base.h

index c5179555816fa4fa2f6d54725706749d46ed37b1..fc3ef8f44e81a2070b47f01b4dfce3ce37fa672d 100644 (file)
@@ -1283,14 +1283,15 @@ namespace DataOutBase
   };
 
   /**
-   * Flags controlling the DataOutFilter.
+   * Flags controlling the behavior of the DataOutFilter class.
    *
    * @ingroup output
    */
   struct DataOutFilterFlags
   {
     /**
-     * Filter duplicate vertices and associated values. This will drastically
+     * Whether or not to filter out duplicate vertices and associated values.
+     * Setting this value to `true` will drastically
      * reduce the output data size but will result in an output file that
      * does not faithfully represent the actual data if the data corresponds
      * to discontinuous fields. In particular, along subdomain boundaries
@@ -1338,23 +1339,33 @@ namespace DataOutBase
   /**
    * DataOutFilter provides a way to remove redundant vertices and values
    * generated by the deal.II output. By default, DataOutBase and the classes
-   * that build on it output data at each corner of each cell. This means that
-   * data is output multiple times for each vertex of the mesh. The purpose of
+   * that build on it output data at each vertex of each cell. This means that
+   * data is output multiple times for each vertex of the mesh, once for each
+   * cell adjacent to the vertex. The purpose of
    * this scheme is to support output of discontinuous quantities, either
    * because the finite element space is discontinuous or because the quantity
    * that is output is computed from a solution field and is discontinuous
-   * across faces.
+   * across faces (for example for quantities computed via DataPostprocessor;
+   * typical cases where output quantities are discontinuous are when a
+   * postprocessor computes a quantity using the *gradient* of the solution,
+   * which is generally discontinuous even if the element itself is
+   * continuous). Other cases where the output is discontinuous are if the
+   * data to be output is not a finite element field but, for example,
+   * results from a class such as MatrixOut.
    *
    * This class is an attempt to rein in the amount of data that is written.
    * If the fields that are written to files are indeed discontinuous, the
    * only way to faithfully represent them is indeed to write multiple values
-   * for each vertex (this is typically done by writing multiple node
-   * locations for the same vertex and defining data at these nodes). However,
+   * for each vertex (this is typically done by creating multiple logical nodes
+   * in the output file, all of which have the same physical location; data is
+   * then associated to nodes, allowing to have multiple values associated
+   * with the same location). However,
    * for fine meshes, one may not necessarily be interested in an exact
    * representation of output fields that will likely only have small
    * discontinuities. Rather, it may be sufficient to just output one value
    * per vertex, which may be chosen arbitrarily from among those that are
-   * defined at this vertex from any of the adjacent cells.
+   * defined at this vertex, i.e., chosen arbitrarily from any of the
+   * adjacent cells.
    */
   class DataOutFilter
   {
@@ -1365,7 +1376,7 @@ namespace DataOutBase
     DataOutFilter();
 
     /**
-     * Destructor with a given set of flags. See DataOutFilterFlags for
+     * Constructor with a given set of flags. See DataOutFilterFlags for
      * possible flags.
      */
     DataOutFilter(const DataOutBase::DataOutFilterFlags &flags);

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.