22#ifndef EXADG_SOLVERS_AND_PRECONDITIONERS_UTILITIES_INVERT_DIAGONAL_H_
23#define EXADG_SOLVERS_AND_PRECONDITIONERS_UTILITIES_INVERT_DIAGONAL_H_
26#include <deal.II/lac/la_parallel_vector.h>
35template<
typename Number>
37invert_diagonal(dealii::LinearAlgebra::distributed::Vector<Number> & diagonal)
39 for(
unsigned int i = 0; i < diagonal.locally_owned_size(); ++i)
41 if(std::abs(diagonal.local_element(i)) > 1.0e-10)
42 diagonal.local_element(i) = 1.0 / diagonal.local_element(i);
44 diagonal.local_element(i) = 1.0;