20 #include "pism/util/Logger.hh"
21 #include "pism/util/array/Scalar.hh"
22 #include "pism/util/petscwrappers/KSP.hh"
23 #include "pism/util/petscwrappers/Mat.hh"
31 Poisson(std::shared_ptr<const Grid> grid);
34 bool reuse_matrix =
false);
46 std::shared_ptr<petsc::DM>
m_da;
std::shared_ptr< const Logger > ConstPtr
int solve(const array::Scalar &mask, const array::Scalar &bc, double rhs, bool reuse_matrix=false)
void assemble_matrix(const array::Scalar1 &mask, Mat A)
std::shared_ptr< const Grid > m_grid
const array::Scalar & solution() const
std::shared_ptr< petsc::DM > m_da
void assemble_rhs(double rhs, const array::Scalar &mask, const array::Scalar &bc, array::Scalar &b)
Poisson(std::shared_ptr< const Grid > grid)