From edb3dfd510031ab9ee4f013cae871617ea8a48ed Mon Sep 17 00:00:00 2001 From: Wolfgang Bangerth Date: Tue, 19 Jul 2022 15:57:45 -0600 Subject: [PATCH] Add a new code gallery program. --- .../CMakeLists.txt | 39 + information_based_mesh_refinement/Readme.md | 71 ++ .../doc/adjoint.png | Bin 0 -> 74037 bytes information_based_mesh_refinement/doc/author | 1 + .../doc/builds-on | 1 + .../doc/dependencies | 1 + .../doc/entry-name | 1 + .../doc/recovered-forward-solution.png | Bin 0 -> 59362 bytes .../doc/recovered-parameter.png | Bin 0 -> 38484 bytes .../doc/synthetic.png | Bin 0 -> 54706 bytes information_based_mesh_refinement/doc/tooltip | 1 + .../mesh_refinement.cc | 889 ++++++++++++++++++ 12 files changed, 1004 insertions(+) create mode 100644 information_based_mesh_refinement/CMakeLists.txt create mode 100644 information_based_mesh_refinement/Readme.md create mode 100644 information_based_mesh_refinement/doc/adjoint.png create mode 100644 information_based_mesh_refinement/doc/author create mode 100644 information_based_mesh_refinement/doc/builds-on create mode 100644 information_based_mesh_refinement/doc/dependencies create mode 100644 information_based_mesh_refinement/doc/entry-name create mode 100644 information_based_mesh_refinement/doc/recovered-forward-solution.png create mode 100644 information_based_mesh_refinement/doc/recovered-parameter.png create mode 100644 information_based_mesh_refinement/doc/synthetic.png create mode 100644 information_based_mesh_refinement/doc/tooltip create mode 100644 information_based_mesh_refinement/mesh_refinement.cc diff --git a/information_based_mesh_refinement/CMakeLists.txt b/information_based_mesh_refinement/CMakeLists.txt new file mode 100644 index 0000000..ca80f3f --- /dev/null +++ b/information_based_mesh_refinement/CMakeLists.txt @@ -0,0 +1,39 @@ +## +# CMake script for the helmholtz tutorial program: +## + +# Set the name of the project and target: +SET(TARGET "mesh_refinement") + +# Declare all source files the target consists of. Here, this is only +# the one step-X.cc file, but as you expand your project you may wish +# to add other source files as well. If your project becomes much larger, +# you may want to either replace the following statement by something like +# FILE(GLOB_RECURSE TARGET_SRC "source/*.cc") +# FILE(GLOB_RECURSE TARGET_INC "include/*.h") +# SET(TARGET_SRC ${TARGET_SRC} ${TARGET_INC}) +# or switch altogether to the large project CMakeLists.txt file discussed +# in the "CMake in user projects" page accessible from the "User info" +# page of the documentation. +SET(TARGET_SRC + ${TARGET}.cc + ) + +# Usually, you will not need to modify anything beyond this point... + +CMAKE_MINIMUM_REQUIRED(VERSION 3.1.0) + +FIND_PACKAGE(deal.II 9.3.0 QUIET + HINTS ${deal.II_DIR} ${DEAL_II_DIR} ../ ../../ $ENV{DEAL_II_DIR} + ) +IF(NOT ${deal.II_FOUND}) + MESSAGE(FATAL_ERROR "\n" + "*** Could not locate a (sufficiently recent) version of deal.II. ***\n\n" + "You may want to either pass a flag -DDEAL_II_DIR=/path/to/deal.II to cmake\n" + "or set an environment variable \"DEAL_II_DIR\" that contains this path." + ) +ENDIF() + +DEAL_II_INITIALIZE_CACHED_VARIABLES() +PROJECT(${TARGET}) +DEAL_II_INVOKE_AUTOPILOT() diff --git a/information_based_mesh_refinement/Readme.md b/information_based_mesh_refinement/Readme.md new file mode 100644 index 0000000..a4c0449 --- /dev/null +++ b/information_based_mesh_refinement/Readme.md @@ -0,0 +1,71 @@ +Readme file for "Information density-based mesh refinement" +=========================================================== + +@note This program implements the ideas and algorithms described in + the paper "Estimating and using information in inverse problems" by + Wolfgang Bangerth, Chris R. Johnson, Dennis K. Njeru, and Bart van + Bloemen Waanders, 2022. See there for more information. + +Motivation +---------- + +Inverse problems are problems where we would like to infer properties +of a system from measurements of the system's state or response to +external stimuli. The specific example this program addresses is that +we want to identify the source term (i.e., right hand side function) +in an advection-diffusion equation from point measurements of the +solution of the equation. A typical application is that we would like +to find out the locations and strengths of pollution sources based on +measuring the concentration of the polluting substance at a number of +points. + +It is clear that in order to solve such problems, one needs to "know" +something about the system's state (here: the pollution concentration) +through measurements. Intuitively, it is also clear that we know +"more" about the pollution sources by (i) measuring at more points, +and (ii) by measuring *downstream* from the sources than we would if +we had measured *upstream*. Intuitive concepts such as this motivate +wondering whether we can define an "information density" function +whose value at a point $\mathbf x$ describes how much we know about potential +sources located at $\mathbf x$. + +The paper which this code accompanies explores the concept of +information in inverse problems. It defines an "information density" +by solving auxiliary problems for each measurement, and then outlines +possible applications for these information densities in three +vignettes: spatially variable regularization; mesh refinement; and +optimal experimental design. It then considers one of these in detail +through numerical experiments, namely mesh refinement. This program +implements the algorithms shown there and produces the numerical +results. + + +To run the code +--------------- + +After running `cmake` and compiling via `make` (or, if you have used +the `-G ...` option of `cmake`, compiling the program via your +favorite integrated development environment), you can run the +executable by either just saying `make run` or using `./mesh_refinement` +on the command line. The default is to compile in "debug mode"; you +can switch to "release mode" by saying `make release` and then +compiling everything again. + +The program contains a switch that decides which mesh refinement +algorithm to use. By default, it refines the mesh based on the +information criterion discussed in the paper; it runs a sequence +of 7 mesh refinement cycles. In debug mode, running the program as +is takes about 50 CPU minutes on a reasonably modern laptop. (The +program takes about five and a half minutes in release mode.) It +parallelizes certain operations, so the actual run time may be shorter +depending on how many cores are available. + +For each cycle, it outputs the solution as a VTU file, along with the +$A$, $B$, $C$, and $M$ matrices discussed in the paper. These matrices +can then be used to compute the eigenvalues of the $H$ matrix defined +by $H = B^T A^{-T} C A^{-1} B + \beta M$ where $\beta$ is the +regularization parameters. + +Some of the pictures shown in the paper are also reproduced as part of +this code gallery program. See the paper for captions and more information. + diff --git a/information_based_mesh_refinement/doc/adjoint.png b/information_based_mesh_refinement/doc/adjoint.png new file mode 100644 index 0000000000000000000000000000000000000000..41e8220ad07f3f2d793ea7e6fb1f9bca86a81a09 GIT binary patch literal 74037 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�mE>l1N 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 PCWtxPpR(iFoV)&ip@aU4 literal 0 HcmV?d00001 diff --git a/information_based_mesh_refinement/doc/author b/information_based_mesh_refinement/doc/author new file mode 100644 index 0000000..a73544d --- /dev/null +++ b/information_based_mesh_refinement/doc/author @@ -0,0 +1 @@ +Wolfgang Bangerth diff --git a/information_based_mesh_refinement/doc/builds-on b/information_based_mesh_refinement/doc/builds-on new file mode 100644 index 0000000..1740273 --- /dev/null +++ b/information_based_mesh_refinement/doc/builds-on @@ -0,0 +1 @@ +step-6 diff --git a/information_based_mesh_refinement/doc/dependencies b/information_based_mesh_refinement/doc/dependencies new file mode 100644 index 0000000..c873efc --- /dev/null +++ b/information_based_mesh_refinement/doc/dependencies @@ -0,0 +1 @@ +UMFPACK diff --git a/information_based_mesh_refinement/doc/entry-name b/information_based_mesh_refinement/doc/entry-name new file mode 100644 index 0000000..eb32993 --- /dev/null +++ b/information_based_mesh_refinement/doc/entry-name @@ -0,0 +1 @@ +Information density-based mesh refinement diff --git a/information_based_mesh_refinement/doc/recovered-forward-solution.png b/information_based_mesh_refinement/doc/recovered-forward-solution.png new file mode 100644 index 0000000000000000000000000000000000000000..189640379fb27f475ad707d9bd4a16cc167c1f97 GIT binary patch literal 59362 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 VHN5xVr2*8y;OXk;vd$@?2>^Hc>AwH~ literal 0 HcmV?d00001 diff --git a/information_based_mesh_refinement/doc/synthetic.png b/information_based_mesh_refinement/doc/synthetic.png new file mode 100644 index 0000000000000000000000000000000000000000..96fd73f9c0e98fe1ff87aa6fa19e76d3473e52e1 GIT binary patch literal 54706 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 JwW`&N{{wovT+jdj literal 0 HcmV?d00001 diff --git a/information_based_mesh_refinement/doc/tooltip b/information_based_mesh_refinement/doc/tooltip new file mode 100644 index 0000000..f421b0a --- /dev/null +++ b/information_based_mesh_refinement/doc/tooltip @@ -0,0 +1 @@ +Implementation of a mesh refinement criterion for an inverse source identification problem based on an "information density". diff --git a/information_based_mesh_refinement/mesh_refinement.cc b/information_based_mesh_refinement/mesh_refinement.cc new file mode 100644 index 0000000..895c4c9 --- /dev/null +++ b/information_based_mesh_refinement/mesh_refinement.cc @@ -0,0 +1,889 @@ +/* --------------------------------------------------------------------- + * + * Copyright (C) 2022 by the deal.II authors and Wolfgang Bangerth. + * + * This file is part of the deal.II library. + * + * The deal.II library is free software; you can use it, redistribute + * it, and/or modify it under the terms of the GNU Lesser General + * Public License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * The full text of the license can be found in the file LICENSE.md at + * the top level directory of deal.II. + * + * --------------------------------------------------------------------- + + * + * Author: Wolfgang Bangerth, Colorado State University, 2022. + */ + + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#include +#include + +using namespace dealii; + + +// The following is the main class. It resembles a variation of the step-6 +// principal class, with the addition of information-specific stuff. It also +// has to deal with solving a vector-valued problem for (c,lambda,f) as +// primal variable, dual variable, and right hand side, as explained +// in the paper. +template +class InformationDensityMeshRefinement +{ +public: + InformationDensityMeshRefinement (); + void run (); + +private: + void compute_synthetic_measurements(); + void bounce_measurement_points_to_cell_centers (); + void setup_system(); + void assemble_system (); + void solve (); + void compute_information_content (); + void output_results (const unsigned int cycle) const; + void refine_grid (); + + const Point source_location; + const double source_radius; + + std::vector> detector_locations; + + const double regularization_parameter; + Tensor<1,dim> velocity; + + Triangulation triangulation; + FESystem fe; + DoFHandler dof_handler; + + AffineConstraints hanging_node_constraints; + + BlockSparsityPattern sparsity_pattern; + BlockSparseMatrix system_matrix; + + BlockVector solution; + BlockVector system_rhs; + + Vector information_content; + + std::vector> detector_locations_on_mesh; + std::vector measurement_values; + std::vector noise_level; +}; + + + + +template +InformationDensityMeshRefinement::InformationDensityMeshRefinement () +: +source_location (Point(-0.25,0)), +source_radius (0.2), +regularization_parameter (10000), +fe (FE_Q(3), 1, // c + FE_Q(3), 1, // lambda + FE_DGQ(0), 1), // f +dof_handler (triangulation) +{ + velocity[0] = 100; + + // We have 50 detector points on an outer ring... + for (unsigned int i=0; i<50; ++i) + { + const Point p (0.6 * std::sin(2*numbers::PI * i/50), + 0.6 * std::cos(2*numbers::PI * i/50)); + detector_locations.push_back (p); + } + + // ...and another 50 detector points on an innner ring: + for (unsigned int i=0; i<50; ++i) + { + const Point p (0.2 * std::sin(2*numbers::PI * i/50), + 0.2 * std::cos(2*numbers::PI * i/50)); + detector_locations.push_back (p); + } + + // Generate the grid we will work on: + GridGenerator::hyper_cube (triangulation, -1, 1); + triangulation.refine_global (4); + + // The detector locations are static, so we can already here + // generate a file that contains their locations. We use the + // particle framework to do this, using detector locations as + // particle locations. + { + Particles::ParticleHandler particle_handler(triangulation, + StaticMappingQ1::mapping); + for (const auto &loc : detector_locations) + { + Particles::Particle new_particle; + new_particle.set_location(loc); + // Insert the particle. It is a lie that the particle is in + // the first cell, but nothing we do actually cares about the + // cell a particle is in. + particle_handler.insert_particle(new_particle, + triangulation.begin_active()); + } + + Particles::DataOut particle_out; + particle_out.build_patches(particle_handler); + std::ofstream output("detector_locations.vtu"); + particle_out.write_vtu(output); + } + + // While we're generating output, also output the source location. Do this + // by outputting many (1000) points that indicate the perimeter of the source + { + Particles::ParticleHandler particle_handler(triangulation, + StaticMappingQ1::mapping); + + const unsigned int n_points = 1000; + for (unsigned int i=0; i loc = source_location; + loc[0] += source_radius * std::cos(2*numbers::PI*i/n_points); + loc[1] += source_radius * std::sin(2*numbers::PI*i/n_points); + + Particles::Particle new_particle; + new_particle.set_location(loc); + particle_handler.insert_particle(new_particle, + triangulation.begin_active()); + } + + Particles::DataOut particle_out; + particle_out.build_patches(particle_handler); + std::ofstream output("source_locations.vtu"); + particle_out.write_vtu(output); + } +} + + + +// The following function solves a forward problem on a twice +// refined mesh to compute "synthetic data". Refining the mesh +// beyond the mesh used for the inverse problem avoids an +// inverse crime. +template +void InformationDensityMeshRefinement::compute_synthetic_measurements () +{ + std::cout << "Computing synthetic data by solving the forward problem..." + << std::flush; + + // Create a triangulation and DoFHandler that corresponds to a + // twice-refined mesh so that we obtain the synthetic data with + // higher accuracy than we do on the regular mesh used for all other + // computations. + Triangulation forward_triangulation; + forward_triangulation.copy_triangulation (triangulation); + forward_triangulation.refine_global (2); + + const FE_Q forward_fe (fe.base_element(0).degree); + DoFHandler forward_dof_handler (forward_triangulation); + forward_dof_handler.distribute_dofs (forward_fe); + + AffineConstraints constraints; + DoFTools::make_hanging_node_constraints(forward_dof_handler, constraints); + constraints.close(); + + SparsityPattern sparsity (forward_dof_handler.n_dofs(), + forward_dof_handler.max_couplings_between_dofs()); + DoFTools::make_sparsity_pattern (forward_dof_handler, sparsity); + constraints.condense (sparsity); + sparsity.compress (); + + SparseMatrix system_matrix (sparsity); + Vector system_rhs (forward_dof_handler.n_dofs()); + + QGauss quadrature_formula(3); + FEValues fe_values (forward_fe, quadrature_formula, + update_values | update_gradients | + update_quadrature_points | update_JxW_values); + + const unsigned int dofs_per_cell = forward_fe.dofs_per_cell; + const unsigned int n_q_points = quadrature_formula.size(); + + // First assemble the system matrix and right hand side for the forward + // problem: + { + FullMatrix cell_matrix (dofs_per_cell, dofs_per_cell); + Vector cell_rhs (dofs_per_cell); + std::vector local_dof_indices (dofs_per_cell); + + for (const auto &cell : forward_dof_handler.active_cell_iterators()) + { + fe_values.reinit (cell); + cell_matrix = 0; + cell_rhs = 0; + + for (unsigned int q_point=0; q_pointget_dof_indices (local_dof_indices); + constraints.distribute_local_to_global (cell_matrix, + cell_rhs, + local_dof_indices, + system_matrix, + system_rhs); + } + + std::map boundary_values; + VectorTools::interpolate_boundary_values (forward_dof_handler, + 0, + Functions::ZeroFunction(), + boundary_values); + Vector tmp (forward_dof_handler.n_dofs()); + MatrixTools::apply_boundary_values (boundary_values, + system_matrix, + tmp, + system_rhs); + } + + // Solve the forward problem and output it into its own VTU file: + SparseDirectUMFPACK A_inverse; + Vector forward_solution (forward_dof_handler.n_dofs()); + forward_solution = system_rhs; + A_inverse.solve(system_matrix, forward_solution); + + const double max_forward_solution = forward_solution.linfty_norm(); + + { + DataOut data_out; + data_out.attach_dof_handler (forward_dof_handler); + data_out.add_data_vector (forward_solution, "c"); + data_out.build_patches (4); + + std::ofstream out ("forward-solution.vtu"); + data_out.write_vtu (out); + } + + // Now evaluate the forward solution at the measurement points: + for (const auto &p : detector_locations) + { + // same 10% noise level for all points + noise_level.push_back (0.1 * max_forward_solution); + + const double z_n = VectorTools::point_value(forward_dof_handler, forward_solution, p); + const double eps_n = Utilities::generate_normal_random_number(0, noise_level.back()); + + measurement_values.push_back (z_n + eps_n); + } + + std::cout << std::endl; +} + + +// It will make our lives easier if we can always assume that detector +// locations are at cell centers, because then we can evaluate the +// solution there using a quadrature formula whose sole quadrature +// point lies at the center of a cell. That's of course not where the +// "real" detector locations are, but it does not introduce a large +// error to do this. +template +void InformationDensityMeshRefinement::bounce_measurement_points_to_cell_centers () +{ + detector_locations_on_mesh = detector_locations; + for (auto &p : detector_locations_on_mesh) + { + for (const auto &cell : triangulation.active_cell_iterators()) + if (cell->point_inside (p)) + { + p = cell->center(); + break; + } + } +} + + +// The following functions are all quite standard by what we have +// shown in step-4, step-6, and step-22 (to name just a few of the +// more typical programs): +template +void InformationDensityMeshRefinement::setup_system () +{ + std::cout << "Setting up the linear system for the inverse problem..." + << std::endl; + + dof_handler.distribute_dofs (fe); + DoFRenumbering::component_wise (dof_handler); + + hanging_node_constraints.clear (); + DoFTools::make_hanging_node_constraints(dof_handler, + hanging_node_constraints); + hanging_node_constraints.close(); + + std::cout << " Number of active cells: " + << triangulation.n_active_cells() + << std::endl; + std::cout << " Number of degrees of freedom: " + << dof_handler.n_dofs() + << std::endl; + + const std::vector dofs_per_component = + DoFTools::count_dofs_per_fe_component(dof_handler); + BlockDynamicSparsityPattern c_sparsity(dofs_per_component,dofs_per_component); + DoFTools::make_sparsity_pattern (dof_handler, c_sparsity); + hanging_node_constraints.condense(c_sparsity); + sparsity_pattern.copy_from(c_sparsity); + + system_matrix.reinit (sparsity_pattern); + + solution.reinit (dofs_per_component); + system_rhs.reinit (dofs_per_component); +} + + + +template +void InformationDensityMeshRefinement::assemble_system () +{ + std::cout << "Assembling the linear system for the inverse problem..." + << std::flush; + + QGauss quadrature_formula(3); + + FEValues fe_values (fe, quadrature_formula, + update_values | update_gradients | + update_quadrature_points | update_JxW_values); + + const unsigned int dofs_per_cell = fe.dofs_per_cell; + const unsigned int n_q_points = quadrature_formula.size(); + + FullMatrix cell_matrix (dofs_per_cell, dofs_per_cell); + Vector cell_rhs (dofs_per_cell); + + std::vector local_dof_indices (dofs_per_cell); + + FEValuesExtractors::Scalar c(0), lambda(1), f(2); + + for (const auto &cell : dof_handler.active_cell_iterators()) + { + fe_values.reinit (cell); + cell_matrix = 0; + cell_rhs = 0; + + for (unsigned int q_point=0; q_point grad_phi_i = fe_values[c].gradient (i,q_point); + const Tensor<1,dim> grad_psi_i = fe_values[lambda].gradient (i,q_point); + + const double phi_i = fe_values[c].value (i,q_point); + const double psi_i = fe_values[lambda].value (i,q_point); + const double chi_i = fe_values[f].value (i,q_point); + + for (unsigned int j=0; j grad_phi_j = fe_values[c].gradient (j,q_point); + const Tensor<1,dim> grad_psi_j = fe_values[lambda].gradient (j,q_point); + + const double phi_j = fe_values[c].value (j,q_point); + const double psi_j= fe_values[lambda].value (j,q_point); + const double chi_j = fe_values[f].value (j,q_point); + + cell_matrix(i,j) += + ((grad_phi_i * grad_phi_j + + + phi_i * (velocity * grad_phi_j) + - + phi_i * chi_j + + + grad_psi_i * grad_psi_j + - + psi_i * (velocity * grad_psi_j) + - + chi_i * psi_j + + + regularization_parameter * chi_i * chi_j + ) * + fe_values.JxW (q_point)); + + for (unsigned int n=0; n< detector_locations_on_mesh.size(); ++n) + if (fe_values.quadrature_point(q_point).distance (detector_locations_on_mesh[n]) < 1e-12) + { + cell_matrix(i,j) += psi_i * phi_j / noise_level[n] / noise_level[n]; + } + } + + for (unsigned int n=0; n< detector_locations_on_mesh.size(); ++n) + if (fe_values.quadrature_point(q_point).distance (detector_locations_on_mesh[n]) < 1e-12) + cell_rhs(i) += psi_i * measurement_values[n] / noise_level[n] / noise_level[n]; + } + + cell->get_dof_indices (local_dof_indices); + for (unsigned int i=0; i boundary_values; + std::vector component_mask (3); + component_mask[0] = component_mask[1] = true; + component_mask[2] = false; + VectorTools::interpolate_boundary_values (dof_handler, + 0, + Functions::ZeroFunction(3), + boundary_values, + component_mask); + MatrixTools::apply_boundary_values (boundary_values, + system_matrix, + solution, + system_rhs); + + std::cout << std::endl; +} + + + +template +void InformationDensityMeshRefinement::solve () +{ + std::cout << "Solving the linear system for the inverse problem..." + << std::flush; + + SparseDirectUMFPACK A_direct; + solution = system_rhs; + A_direct.solve(system_matrix, solution); + + hanging_node_constraints.distribute (solution); + + std::cout << std::endl; +} + + + +// This is really the only interesting function of this program. It +// computes the functions $h_K = A^{-1} s_K$ for each source function +// (corresponding to each cell of the mesh). To do so, it first +// computes the forward matrix $A$ and uses the SparseDirectUMFPACK +// class to build an LU decomposition for this matrix. Then it loops +// over all cells $K$ and computes the corresponding $h_K$ by applying +// the LU decomposition to a right hand side vector for each $s_K$. +// +// The actual information content is then computed by evaluating these +// functions $h_K$ at measurement locations. +template +void InformationDensityMeshRefinement::compute_information_content () +{ + std::cout << "Computing the information content..." + << std::flush; + + information_content.reinit (triangulation.n_active_cells()); + + const FE_Q information_fe (fe.base_element(0).degree); + DoFHandler information_dof_handler (triangulation); + information_dof_handler.distribute_dofs (information_fe); + + AffineConstraints constraints; + DoFTools::make_hanging_node_constraints(information_dof_handler, constraints); + constraints.close(); + + SparsityPattern sparsity (information_dof_handler.n_dofs(), + information_dof_handler.max_couplings_between_dofs()); + DoFTools::make_sparsity_pattern (information_dof_handler, sparsity); + constraints.condense (sparsity); + sparsity.compress (); + + SparseMatrix system_matrix (sparsity); + + QGauss quadrature_formula(3); + + const unsigned int dofs_per_cell = information_fe.dofs_per_cell; + const unsigned int n_q_points = quadrature_formula.size(); + + // First build the forward operator + { + FEValues fe_values (information_fe, quadrature_formula, + update_values | update_gradients | + update_quadrature_points | update_JxW_values); + + FullMatrix cell_matrix (dofs_per_cell, dofs_per_cell); + std::vector local_dof_indices (dofs_per_cell); + + for (const auto &cell : information_dof_handler.active_cell_iterators()) + { + fe_values.reinit (cell); + cell_matrix = 0; + + for (unsigned int q_point=0; q_pointdistribute_local_to_global (cell_matrix, + system_matrix); + } + + constraints.condense (system_matrix); + + std::map boundary_values; + VectorTools::interpolate_boundary_values (information_dof_handler, + 0, + Functions::ZeroFunction(), + boundary_values); + Vector tmp (information_dof_handler.n_dofs()); + MatrixTools::apply_boundary_values (boundary_values, + system_matrix, + tmp, + tmp); + } + + // Then factorize + SparseDirectUMFPACK A_inverse; + A_inverse.factorize(system_matrix); + + // Now compute the solutions corresponding to the possible + // sources. Each source is active on exactly one cell. + // + // As mentioned in the paper, this is a trivially parallel job, so + // we send the computations for each of these cells onto a separate + // task and let the OS schedule them onto individual processor + // cores. + Threads::TaskGroup tasks; + for (unsigned int K=0; K rhs (information_dof_handler.n_dofs()); + Vector cell_rhs (dofs_per_cell); + std::vector local_dof_indices (dofs_per_cell); + + typename DoFHandler::active_cell_iterator + cell = information_dof_handler.begin_active(); + std::advance (cell, K); + + FEValues fe_values (information_fe, quadrature_formula, + update_values | + update_quadrature_points | update_JxW_values); + + fe_values.reinit (cell); + cell_rhs = 0; + + for (unsigned int q_point=0; q_pointdistribute_local_to_global (cell_rhs, + rhs); + + constraints.condense (rhs); + + A_inverse.solve(rhs); + + constraints.distribute (rhs); + + // Having computed the forward solutions + // corresponding to this source term, evaluate its + // contribution to the information content on all + // cells of the mesh by taking into account the + // detector locations. We add these into global + // objects, so we have to guard access to the + // global object: + static std::mutex m; + std::lock_guard g(m); + + + information_content(K) = regularization_parameter * cell->measure() * cell->measure(); + std::vector local_h_K_values (n_q_points); + for (const auto &cell : information_dof_handler.active_cell_iterators()) + { + fe_values.reinit (cell); + fe_values.get_function_values (rhs, local_h_K_values); + + for (unsigned int q_point=0; q_point +void InformationDensityMeshRefinement::output_results (const unsigned int cycle) const +{ + std::cout << "Outputting solutions..." << std::flush; + + DataOut data_out; + + std::vector names; + names.push_back ("forward_solution"); + names.push_back ("adjoint_solution"); + names.push_back ("recovered_parameter"); + + data_out.attach_dof_handler (dof_handler); + data_out.add_data_vector (solution, names); + data_out.add_data_vector (information_content, "information_content"); + + Vector information_density (triangulation.n_active_cells()); + for (const auto &cell : triangulation.active_cell_iterators()) + information_density(cell->active_cell_index()) + = std::sqrt(information_content(cell->active_cell_index())) / cell->measure(); + data_out.add_data_vector (information_density, "information_density"); + + data_out.build_patches (); + + std::string filename = "solution-"; + filename += ('0'+cycle); + filename += ".vtu"; + + std::ofstream output (filename.c_str()); + data_out.write_vtu (output); + + + // Now output the individual blocks of the matrix into files. + auto write_block = [&](const unsigned int block_i, + const unsigned int block_j, + const std::string &filename) + { + std::ofstream o(filename); + system_matrix.block(block_i,block_j).print (o); + }; + write_block(0,0, "matrix-" + std::to_string(cycle) + "-A.txt"); + write_block(0,2, "matrix-" + std::to_string(cycle) + "-B.txt"); + write_block(1,0, "matrix-" + std::to_string(cycle) + "-C.txt"); + write_block(2,2, "matrix-" + std::to_string(cycle) + "-M.txt"); + + std::cout << std::endl; +} + + + +// The following is then a function that refines the mesh based on the +// refinement criteria described in the paper. Which criterion to use +// is determined by which value the `refinement_criterion` variable +// is set to. +template +void InformationDensityMeshRefinement::refine_grid () +{ + std::cout << "Refining the mesh..." << std::endl; + + enum RefinementCriterion + { + global, + information_content, + indicator, + smoothness + }; + const RefinementCriterion refinement_criterion = information_content; + + switch (refinement_criterion) + { + case global: + { + triangulation.refine_global(); + break; + } + + case information_content: + { + GridRefinement::refine_and_coarsen_fixed_number(triangulation, + this->information_content, + 0.2, 0.05); + triangulation.execute_coarsening_and_refinement (); + break; + } + + case indicator: + { + Vector refinement_indicators (triangulation.n_active_cells()); + + QGauss quadrature(3); + FEValues fe_values (fe, quadrature, update_values | update_JxW_values); + + FEValuesExtractors::Scalar lambda(1), f(2); + + std::vector lambda_values (quadrature.size()); + std::vector f_values (quadrature.size()); + + for (const auto &cell : dof_handler.active_cell_iterators()) + { + fe_values.reinit (cell); + fe_values[lambda].get_function_values (solution, lambda_values); + fe_values[f].get_function_values (solution, f_values); + + for (unsigned int q=0; qactive_cell_index()) + += (std::fabs (regularization_parameter * f_values[q] + - + lambda_values[q]) + * fe_values.JxW(q)); + } + + GridRefinement::refine_and_coarsen_fixed_number(triangulation, + refinement_indicators, + 0.2, 0.05); + triangulation.execute_coarsening_and_refinement (); + break; + } + + + case smoothness: + { + Vector refinement_indicators (triangulation.n_active_cells()); + + DerivativeApproximation::approximate_gradient(dof_handler, + solution, + refinement_indicators, + /*component=*/2); + // and scale it to obtain an error indicator. + for (const auto &cell : triangulation.active_cell_iterators()) + refinement_indicators[cell->active_cell_index()] *= + std::pow(cell->diameter(), 1 + 1.0 * dim / 2); + + + GridRefinement::refine_and_coarsen_fixed_number(triangulation, + refinement_indicators, + 0.2, 0.05); + triangulation.execute_coarsening_and_refinement (); + break; + } + + default: + Assert (false, ExcInternalError()); + } + + bounce_measurement_points_to_cell_centers (); + + + std::cout << std::endl; +} + + + + +template +void InformationDensityMeshRefinement::run () +{ + std::cout << "Solving problem in " << dim << " space dimensions." << std::endl; + + compute_synthetic_measurements (); + bounce_measurement_points_to_cell_centers (); + + for (unsigned int cycle=0; cycle<7; ++cycle) + { + std::cout << "---------- Cycle " << cycle << " ------------" << std::endl; + + setup_system (); + assemble_system (); + solve (); + compute_information_content (); + output_results (cycle); + refine_grid (); + } +} + + + +int main () +{ + try + { + deallog.depth_console (0); + + InformationDensityMeshRefinement<2> information_density_mesh_refinement; + information_density_mesh_refinement.run (); + } + catch (std::exception &exc) + { + std::cerr << std::endl << std::endl + << "----------------------------------------------------" + << std::endl; + std::cerr << "Exception on processing: " << std::endl + << exc.what() << std::endl + << "Aborting!" << std::endl + << "----------------------------------------------------" + << std::endl; + + return 1; + } + catch (...) + { + std::cerr << std::endl << std::endl + << "----------------------------------------------------" + << std::endl; + std::cerr << "Unknown exception!" << std::endl + << "Aborting!" << std::endl + << "----------------------------------------------------" + << std::endl; + return 1; + } + + return 0; +} -- 2.39.5