22#include "pism/stressbalance/ShallowStressBalance.hh"
23#include "pism/util/array/CellType.hh"
29namespace stressbalance {
77typedef SSA * (*SSAFactory)(std::shared_ptr<const Grid>);
112 SSA(std::shared_ptr<const Grid>
g);
117 virtual void update(
const Inputs &inputs,
bool full_update);
A class for storing and accessing PISM configuration flags and parameters.
High-level PISM I/O class.
double get_notional_strength() const
Returns strength = (viscosity times thickness).
void set_min_thickness(double my_min_thickness)
Set minimum thickness to trigger use of extension.
double get_min_thickness() const
Returns minimum thickness to trigger use of extension.
void set_notional_strength(double my_nuH)
Set strength = (viscosity times thickness).
Gives an extension coefficient to maintain ellipticity of SSA where ice is thin.
virtual void update(const Inputs &inputs, bool full_update)
Update the SSA solution.
virtual void solve(const Inputs &inputs)=0
array::Vector m_velocity_global
void extrapolate_velocity(const array::CellType1 &cell_type, array::Vector1 &velocity) const
virtual void define_model_state_impl(const File &output) const
The default (empty implementation).
SSAStrengthExtension * strength_extension
virtual std::string stdout_report() const
Produce a report string for the standard output.
virtual void write_model_state_impl(const File &output) const
The default (empty implementation).
virtual void init_impl()
Initialize a generic regular-grid SSA solver.
const array::Vector1 & velocity() const
Get the thickness-advective 2D velocity.
Shallow stress balance (such as the SSA).