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
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.
virtual double drag(double tauc, double vx, double vy) const
Compute the drag coefficient for the basal shear stress.
virtual ~IceBasalResistancePseudoPlasticLaw()=default
double m_u_threshold_factor
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.
virtual void print_info(const Logger &log, int threshold, units::System::Ptr system) const
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