19 #ifndef _PISMOPTTILLPHIYIELDSTRESS_H_
20 #define _PISMOPTTILLPHIYIELDSTRESS_H_
22 #include "pism/basalstrength/MohrCoulombYieldStress.hh"
High-level PISM I/O class.
Combines the max. time step with the flag indicating if a restriction is active. Makes is possible to...
PISM's default basal yield stress model which applies the Mohr-Coulomb model of deformable,...
void define_model_state_impl(const File &output) const
MaxTimestep max_timestep_impl(double t) const
void bootstrap_impl(const File &input_file, const YieldStressInputs &inputs)
void init_t_last(const File &input_file)
array::Scalar1 m_usurf_target
void init_impl(const YieldStressInputs &inputs)
double m_update_interval
Update interval in seconds.
array::Scalar1 m_usurf_difference
DiagnosticList diagnostics_impl() const
double m_t_last
time of the last till friction angle update
void update_tillphi(const array::Scalar &ice_surface_elevation, const array::Scalar &bed_topography, const array::CellType &mask)
OptTillphiYieldStress(std::shared_ptr< const Grid > g)
virtual ~OptTillphiYieldStress()=default
void restart_impl(const File &input_file, int record)
std::string m_time_name
Name of the variable used to store the last update time.
double m_t_eps
Temporal resolution to use when checking whether it's time to update.
void write_model_state_impl(const File &output) const
The default (empty implementation).
void update_impl(const YieldStressInputs &inputs, double t, double dt)
void init_usurf_target(const File &input_file)
Iterative optimization of the till friction angle.
"Cell type" mask. Adds convenience methods to array::Scalar.
std::map< std::string, Diagnostic::Ptr > DiagnosticList