19 #ifndef __BedSmoother_hh
20 #define __BedSmoother_hh
24 #include "pism/util/array/Scalar.hh"
25 #include "pism/util/ConfigInterface.hh"
38 namespace stressbalance {
124 unsigned int Nx_in,
unsigned int Ny_in);
std::shared_ptr< const Config > ConstPtr
std::shared_ptr< petsc::Vec > m_C3p0
virtual ~BedSmoother()=default
BedSmoother(std::shared_ptr< const Grid > g)
void smoothed_thk(const array::Scalar &usurf, const array::Scalar &thk, const array::CellType2 &mask, array::Scalar &thksmooth) const
Computes a smoothed thickness map.
std::shared_ptr< petsc::Vec > m_topgp0
original bed elevation on processor 0
array::Scalar2 m_topgsmooth
smoothed bed elevation; set by calling preprocess_bed()
std::shared_ptr< petsc::Vec > m_maxtlp0
maximum elevation at (i,j) of local topography (nearby patch)
void smooth_the_bed_on_proc0()
Computes the smoothed bed by a simple average over a rectangle of grid points.
const array::Scalar & smoothed_bed() const
void theta(const array::Scalar &usurf, array::Scalar &result) const
void compute_coefficients_on_proc0()
const Config::ConstPtr m_config
std::shared_ptr< petsc::Vec > m_topgsmoothp0
smoothed bed elevation on processor 0
std::shared_ptr< petsc::Vec > m_C4p0
std::shared_ptr< const Grid > m_grid
void preprocess_bed(const array::Scalar &topg)
std::shared_ptr< petsc::Vec > m_C2p0
PISM bed smoother, plus bed roughness parameterization, based on Schoof (2003).