22#include "pism/stressbalance/ShallowStressBalance.hh"
23#include "pism/util/array/CellType.hh"
29namespace stressbalance {
101 SSA(std::shared_ptr<const Grid>
g);
106 virtual void update(
const Inputs &inputs,
bool full_update);
110 virtual std::set<VariableMetadata>
state_impl()
const;
A class for storing and accessing PISM configuration flags and parameters.
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
virtual void write_state_impl(const OutputFile &output) const
The default (empty implementation).
array::Vector m_velocity_global
void extrapolate_velocity(const array::CellType1 &cell_type, array::Vector1 &velocity) const
virtual std::set< VariableMetadata > state_impl() const
SSAStrengthExtension * strength_extension
virtual std::string stdout_report() const
Produce a report string for the standard output.
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).