19 #ifndef __basal_resistance_hh
20 #define __basal_resistance_hh
22 #include "pism/util/Units.hh"
39 virtual double drag(
double tauc,
double vx,
double vy)
const;
41 double *
drag,
double *ddrag)
const;
51 virtual double drag(
double tauc,
double vx,
double vy)
const;
53 double *
drag,
double *ddrag)
const;
63 virtual double drag(
double tauc,
double vx,
double vy)
const;
65 double *
drag,
double *ddrag)
const;
A class for storing and accessing PISM configuration flags and parameters.
virtual double drag(double tauc, double vx, double vy) const
Compute the drag coefficient for the basal shear stress.
double m_plastic_regularize
virtual void print_info(const Logger &log, int threshold, units::System::Ptr system) const
IceBasalResistancePlasticLaw(const Config &config)
virtual void drag_with_derivative(double tauc, double vx, double vy, double *drag, double *ddrag) const
Compute the drag coefficient and its derivative with respect to .
virtual ~IceBasalResistancePlasticLaw()=default
Class containing physical constants and the constitutive relation describing till for SSA.
double m_pseudo_u_threshold
IceBasalResistancePseudoPlasticLaw(const Config &config)
virtual double drag(double tauc, double vx, double vy) const
Compute the drag coefficient for the basal shear stress.
virtual ~IceBasalResistancePseudoPlasticLaw()=default
virtual void print_info(const Logger &log, int threshold, units::System::Ptr system) const
double m_sliding_scale_factor_reduces_tauc
virtual void drag_with_derivative(double tauc, double vx, double vy, double *drag, double *ddrag) const
Compute the drag coefficient and its derivative with respect to .
virtual double drag(double tauc, double vx, double vy) const
Compute the drag coefficient for the basal shear stress.
double m_pseudo_u_threshold
virtual void print_info(const Logger &log, int threshold, units::System::Ptr system) const
IceBasalResistanceRegularizedLaw(const Config &config)
virtual void drag_with_derivative(double tauc, double vx, double vy, double *drag, double *ddrag) const
Compute the drag coefficient and its derivative with respect to .
virtual ~IceBasalResistanceRegularizedLaw()=default
double m_sliding_scale_factor_reduces_tauc
std::shared_ptr< System > Ptr