]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Clarify documentation. 288/head
authorWolfgang Bangerth <bangerth@math.tamu.edu>
Mon, 8 Dec 2014 15:27:12 +0000 (09:27 -0600)
committerWolfgang Bangerth <bangerth@math.tamu.edu>
Mon, 8 Dec 2014 15:27:12 +0000 (09:27 -0600)
include/deal.II/numerics/data_out_dof_data.h
include/deal.II/numerics/data_postprocessor.h

index 7921495bba4597b9fcb1c546e672011f9a68f415..e5e7a4ed6b11928f0476d01561da2408c71c7488 100644 (file)
@@ -602,8 +602,9 @@ public:
 
   /**
    * This function is an alternative to the above ones, allowing the output of
-   * derived quantities instead of the given data. This converison has to be
-   * done in a class derived from DataPostprocessor.
+   * derived quantities instead of the given data. This conversion has to be
+   * done in a class derived from DataPostprocessor. This function is used in
+   * step-29. Other uses are shown in step-32 and step-33.
    *
    * The names for these derived quantities are provided by the @p
    * data_postprocessor argument. Likewise, the data_component_interpretation
@@ -617,6 +618,15 @@ public:
    * FEValuesBase::get_function_values() function. In particular, this
    * includes all of the usual vector types, but also IndexSet (see step-41
    * for a use of this).
+   *
+   * @note The DataPostprocessor object (i.e., in reality the object of your derived
+   * class) has to live until the DataOut object is destroyed as the latter keeps
+   * a pointer to the former and will complain if the object pointed to is
+   * destroyed while the latter still has a pointer to it. If both the data
+   * postprocessor and DataOut objects are local variables of a function
+   * (as they are, for example, in step-29), then you can avoid this
+   * error by declaring the data postprocessor variable before the DataOut
+   * variable as objects are destroyed in reverse order of declaration.
    */
   template <class VECTOR>
   void add_data_vector (const VECTOR                           &data,
index 8c1e0b5bcc5084d8aee141b2e0fde9d5f826b2b3..1da010368c65f2a14dba20edbb349cd830af4670 100644 (file)
@@ -46,11 +46,19 @@ DEAL_II_NAMESPACE_OPEN
  * points where we want to generated output, the functions of this class can
  * be overloaded to compute new quantities.
  *
- * A data vector and an object of a derived class can be given to the
- * DataOut::add_data_vector() function, which will write the derived
- * quantities instead of the provided data to the output file. Note, that the
- * DataPostprocessor has to live until DataOut::build_patches has been
- * called. DataOutFaces and DataOutRotation can be used as well.
+ * A data vector and an object of a class derived from the current one can
+ * be given to the DataOut::add_data_vector() function (and similarly for
+ * DataOutRotation and DataOutFaces). This will cause
+ * DataOut::build_patches() to compute the derived quantities instead of using
+ * the data provided by the data vector (typically the solution vector). Note
+ * that the DataPostprocessor object (i.e., in reality the object of your derived
+ * class) has to live until the DataOut object is destroyed as the latter keeps
+ * a pointer to the former and will complain if the object pointed to is
+ * destroyed while the latter still has a pointer to it. If both the data
+ * postprocessor and DataOut objects are local variables of a function
+ * (as they are, for example, in step-29), then you can avoid this
+ * error by declaring the data postprocessor variable before the DataOut
+ * variable as objects are destroyed in reverse order of declaration.
  *
  * In order not to perform needless calculations, DataPostprocessor
  * has to provide information which input data is needed for the

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.