]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Re-add LinearAlgebra::set_zero_mean_value(). 15715/head
authorWolfgang Bangerth <bangerth@colostate.edu>
Tue, 11 Jul 2023 05:16:18 +0000 (23:16 -0600)
committerWolfgang Bangerth <bangerth@colostate.edu>
Tue, 11 Jul 2023 05:16:18 +0000 (23:16 -0600)
include/deal.II/lac/vector_space_vector.h [new file with mode: 0644]

diff --git a/include/deal.II/lac/vector_space_vector.h b/include/deal.II/lac/vector_space_vector.h
new file mode 100644 (file)
index 0000000..578251f
--- /dev/null
@@ -0,0 +1,44 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2015 - 2023 by the deal.II authors
+//
+// 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.
+//
+// ---------------------------------------------------------------------
+
+#ifndef dealii_vector_space_vector_h
+#define dealii_vector_space_vector_h
+
+#include <deal.II/base/config.h>
+
+#include <memory>
+
+
+DEAL_II_NAMESPACE_OPEN
+
+// ---------------------------- Free functions --------------------------
+
+namespace LinearAlgebra
+{
+  /**
+   * Shift all entries of the vector by a constant factor so that the mean
+   * value of the vector becomes zero.
+   */
+  template <typename VectorType>
+  void
+  set_zero_mean_value(VectorType &vector)
+  {
+    vector.add(-vector.mean_value());
+  }
+} // namespace LinearAlgebra
+
+DEAL_II_NAMESPACE_CLOSE
+
+#endif

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.