From af8d4ea51ea5b87390647fa1949e717979226cd9 Mon Sep 17 00:00:00 2001 From: Wolfgang Bangerth Date: Wed, 20 Jan 2010 20:04:00 +0000 Subject: [PATCH] Update documentation. git-svn-id: https://svn.dealii.org/trunk@20412 0785d39b-7218-0410-832d-ea1e28bc413d --- .../deal.II/include/numerics/mesh_worker.h | 60 ++++--------------- 1 file changed, 10 insertions(+), 50 deletions(-) diff --git a/deal.II/deal.II/include/numerics/mesh_worker.h b/deal.II/deal.II/include/numerics/mesh_worker.h index c0ad600857..8b9121cf6f 100644 --- a/deal.II/deal.II/include/numerics/mesh_worker.h +++ b/deal.II/deal.II/include/numerics/mesh_worker.h @@ -56,58 +56,18 @@ template class MGDoFHandler; * integration_loop() is available, which is a wrapper around loop() * with a simplified interface. * - * This integration_loop() is complemented by a class - * AssemblingIntegrator, which separates local integration from - * assembling. In order to use it, follow this recipe: fist, create a - * class responsible for the local integration: - * - * @code - * template - * class LocalIntegrator - * { - * void cell(typename MeshWorker::IntegrationWorker::CellInfo& info) const; - * void bdry(typename MeshWorker::IntegrationWorker::FaceInfo& info) const; - * void face(typename MeshWorker::IntegrationWorker::FaceInfo& info1, - * typename MeshWorker::IntegrationWorker::FaceInfo& info2) const; - * }; - * @endcode - * The three functions in there must have exactly this signature and - * should do the integration on cells, boundary and interior faces, - * respectively. - * - * Then, create the AssemblingIntegrator object, where the second - * template argument decides on what kind of global data is - * assembled. In the following, we decide to assemble a simple - * SparseMatrix with no block structure: - * - * @code - * MeshWorker::AssemblingIntegrator >> - * integrator(&LocalIntegrator::integrate_cell_term, - * &LocalIntegrator::integrate_boundary_term, - * &LocalIntegrator::integrate_face_term); - * @endcode + * The integration_loop() function loop takes most of the information + * that it needs to pass to loop() from an IntegrationInfoBox + * object. Its use is explained in @ref step_38 "step-38", but in + * short it requires functions that do the local integration on a + * cell, interior or boundary face, and it needs an object (called + * "assembler") that copies these local contributions into the global + * matrix and right hand side objects. * * Before we can run the integration loop, we have to initialize - * several data structures in our AssemblingIntegrator. For instance, - * we have to decide on the quadrature rule or we may need more than - * the default update flags. - * - * @code - * integrator.initialize_gauss_quadrature(2,2,2); - * integrator.add_update_flags(update_values | update_gradients, true, true, true, true); - * integrator.initialize(system_matrix); - * @endcode - * - * Finally, we set up the structures needed by the integration_loop() - * and run it. - * - * @code - * MeshWorker::IntegrationInfoBox info_box(dof_handler); - * info_box.initialize(integrator, fe, mapping); - * - * MeshWorker::integration_loop(dof_handler.begin_active(), dof_handler.end(), - * info_box, integrator); - * @endcode + * several data structures in our IntegrationWorker and assembler + * objects. For instance, we have to decide on the quadrature rule or + * we may need more than the default update flags. * * @ingroup MeshWorker * @author Guido Kanschat, 2009 -- 2.39.5