19 #ifndef _PISMOPTTILLPHIYIELDSTRESS_H_
20 #define _PISMOPTTILLPHIYIELDSTRESS_H_
24 #include "pism/util/iceModelVec.hh"
28 class IceModelVec2CellType;
High-level PISM I/O class.
std::shared_ptr< const IceGrid > ConstPtr
"Cell type" mask. Adds convenience methods to IceModelVec2Int.
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)
void init_impl(const YieldStressInputs &inputs)
OptTillphiYieldStress(IceGrid::ConstPtr g)
double m_update_interval
Update interval in seconds.
DiagnosticList diagnostics_impl() const
double m_t_last
time of the last till friction angle update
IceModelVec2S m_usurf_target
void update_tillphi(const IceModelVec2S &ice_surface_elevation, const IceModelVec2S &bed_topography, const IceModelVec2CellType &mask)
IceModelVec2S m_usurf_difference
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.
std::map< std::string, Diagnostic::Ptr > DiagnosticList