[cig-commits] [commit] master: add documentation (mesh refinement plugins) (5ed75f2)

cig_noreply at geodynamics.org cig_noreply at geodynamics.org
Thu May 22 16:35:51 PDT 2014


Repository : https://github.com/geodynamics/aspect

On branch  : master
Link       : https://github.com/geodynamics/aspect/compare/ca95ee8d4de5ce6abeb6347281eb00a1d930b799...5ed75f2b515b2b212465be2165328a2c0f78c291

>---------------------------------------------------------------

commit 5ed75f2b515b2b212465be2165328a2c0f78c291
Author: Timo Heister <timo.heister at gmail.com>
Date:   Thu May 22 19:35:44 2014 -0400

    add documentation (mesh refinement plugins)


>---------------------------------------------------------------

5ed75f2b515b2b212465be2165328a2c0f78c291
 include/aspect/mesh_refinement/interface.h | 19 ++++++++++++++++---
 1 file changed, 16 insertions(+), 3 deletions(-)

diff --git a/include/aspect/mesh_refinement/interface.h b/include/aspect/mesh_refinement/interface.h
index 4dfb618..4545d23 100644
--- a/include/aspect/mesh_refinement/interface.h
+++ b/include/aspect/mesh_refinement/interface.h
@@ -49,9 +49,17 @@ namespace aspect
 
     /**
      * This class declares the public interface of mesh refinement plugins.
-     * These plugins must implement a function that can be called between time
-     * steps to refine the mesh based on the solution and/or the location of a
-     * cell.
+     * Plugins have two different ways to influence adaptive refinement (and
+     * can make use of either or both):
+     *
+     * First, execute() allows the plugin to specify weights for individual
+     * cells that are then used to coarsen and refine (where larger numbers
+     * indicate a larger error).
+     *
+     * Second, after cells get flagged for coarsening and refinement (using
+     * the first approach), tag_additional_cells() is executed for each plugin.
+     * Here the plugin is free to set or clear coarsen and refine flags on
+     * any cell.
      *
      * Access to the data of the simulator is granted by the @p protected
      * member functions of the SimulatorAccess class, i.e., classes
@@ -88,6 +96,11 @@ namespace aspect
          * After cells have been marked for coarsening/refinement, apply
          * additional criteria independent of the error estimate. The
          * default implementation does nothing.
+         *
+         * This function is also called during the initial global refinement
+         * cycle. At this point you do not have access to solutions, DoFHandlers,
+         * or finite element spaces. You can check if this is the case by
+         * querying this->get_dof_handler().n_dofs() == 0.
          */
         virtual
         void



More information about the CIG-COMMITS mailing list