22 #include "pism/rheology/PatersonBuddCold.hh"
31 m_name =
"Paterson-Budd (cold case)";
45 double ,
double)
const {
53 static const struct {
double s, E, p, gs;} v[] = {
54 {1e3, 223, 1e6, 1e-3}, {450000, 475000, 500000, 525000}, {5e4, 268, 5e6, 3e-3}, {1e5, 273, 8e6, 5e-3}};
56 for (
int i=0; i<4; i++) {
57 const double left = flow_law.
flow(v[i].s, v[i].E, v[i].p, v[i].gs),
58 right = cpb.
flow(v[i].s, v[i].E, v[i].p, v[i].gs);
59 if (fabs((left - right)/left)>1.0e-15) {
A class for storing and accessing PISM configuration flags and parameters.
std::shared_ptr< EnthalpyConverter > Ptr
double m_A_cold
Paterson-Budd softness, cold case.
double m_Q_cold
Activation energy, cold case.
double flow(double stress, double enthalpy, double pressure, double grain_size) const
The flow law itself.
double m_ideal_gas_constant
ideal gas constant
double m_n
power law exponent
double softness_from_temp(double T_pa) const
double tempFromSoftness(double A) const
Return the temperature T corresponding to a given value A=A(T).
PatersonBuddCold(const std::string &prefix, const Config &config, EnthalpyConverter::Ptr EC)
double flow_from_temp(double stress, double temp, double, double) const
The flow law (temperature-dependent version).
Cold case of Paterson-Budd.
Derived class of FlowLaw for Paterson-Budd (1982)-Glen ice.
bool FlowLawIsPatersonBuddCold(const FlowLaw &flow_law, const Config &config, EnthalpyConverter::Ptr EC)