From 71849b67857e1389d0a19bcc54e3af3898ece861 Mon Sep 17 00:00:00 2001 From: Wolfgang Bangerth Date: Mon, 10 Jul 2023 23:16:18 -0600 Subject: [PATCH] Re-add LinearAlgebra::set_zero_mean_value(). --- include/deal.II/lac/vector_space_vector.h | 44 +++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 include/deal.II/lac/vector_space_vector.h diff --git a/include/deal.II/lac/vector_space_vector.h b/include/deal.II/lac/vector_space_vector.h new file mode 100644 index 0000000000..578251fefb --- /dev/null +++ b/include/deal.II/lac/vector_space_vector.h @@ -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 + +#include + + +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 + void + set_zero_mean_value(VectorType &vector) + { + vector.add(-vector.mean_value()); + } +} // namespace LinearAlgebra + +DEAL_II_NAMESPACE_CLOSE + +#endif -- 2.39.5