PISM, A Parallel Ice Sheet Model
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
pism::rheology::GoldsbyKohlstedt Class Reference

A hybrid of Goldsby-Kohlstedt (2001) ice (constitutive form) and Paterson-Budd (1982)-Glen (viscosity form). More...

#include <GoldsbyKohlstedt.hh>

+ Inheritance diagram for pism::rheology::GoldsbyKohlstedt:

Public Member Functions

 GoldsbyKohlstedt (const std::string &prefix, const Config &config, EnthalpyConverter::Ptr EC)
 
- Public Member Functions inherited from pism::rheology::FlowLaw
 FlowLaw (const std::string &prefix, const Config &config, EnthalpyConverter::Ptr EC)
 
virtual ~FlowLaw ()=default
 
void effective_viscosity (double hardness, double gamma, double *nu, double *dnu) const
 Computes the regularized effective viscosity and its derivative with respect to the second invariant \( \gamma \). More...
 
void effective_viscosity (double hardness, double gamma, double eps, double *nu, double *dnu) const
 
std::string name () const
 
double exponent () const
 
EnthalpyConverter::Ptr EC () const
 
double hardness (double E, double p) const
 
void hardness_n (const double *enthalpy, const double *pressure, unsigned int n, double *result) const
 
double softness (double E, double p) const
 
double flow (double stress, double E, double pressure, double grainsize) const
 The flow law itself. More...
 
void flow_n (const double *stress, const double *E, const double *pressure, const double *grainsize, unsigned int n, double *result) const
 

Protected Member Functions

virtual double flow_impl (double stress, double E, double pressure, double grainsize) const
 
double softness_impl (double E, double p) const __attribute__((noreturn))
 
double hardness_impl (double E, double p) const
 
virtual double flow_from_temp (double stress, double temp, double pressure, double gs) const
 
GKparts flowParts (double stress, double temp, double pressure) const
 
- Protected Member Functions inherited from pism::rheology::FlowLaw
virtual void flow_n_impl (const double *stress, const double *E, const double *pressure, const double *grainsize, unsigned int n, double *result) const
 
virtual void hardness_n_impl (const double *enthalpy, const double *pressure, unsigned int n, double *result) const
 
double softness_paterson_budd (double T_pa) const
 Return the softness parameter A(T) for a given temperature T. More...
 

Protected Attributes

double m_V_act_vol
 
double m_d_grain_size
 
double m_diff_crit_temp
 
double m_diff_V_m
 
double m_diff_D_0v
 
double m_diff_Q_v
 
double m_diff_D_0b
 
double m_diff_Q_b
 
double m_diff_delta
 
double m_disl_crit_temp
 
double m_disl_A_cold
 
double m_disl_A_warm
 
double m_disl_n
 
double m_disl_Q_cold
 
double m_disl_Q_warm
 
double m_basal_A
 
double m_basal_n
 
double m_basal_Q
 
double m_gbs_crit_temp
 
double m_gbs_A_cold
 
double m_gbs_A_warm
 
double m_gbs_n
 
double m_gbs_Q_cold
 
double m_p_grain_sz_exp
 
double m_gbs_Q_warm
 
- Protected Attributes inherited from pism::rheology::FlowLaw
std::string m_name
 
double m_rho
 ice density More...
 
double m_beta_CC_grad
 Clausius-Clapeyron gradient. More...
 
double m_melting_point_temp
 melting point temperature (for water, 273.15 K) More...
 
EnthalpyConverter::Ptr m_EC
 
double m_schoofReg
 regularization parameter for \( \gamma \) More...
 
double m_viscosity_power
 \( (1 - n) / (2n) \); used to compute viscosity More...
 
double m_hardness_power
 \( - 1 / n \); used to compute hardness More...
 
double m_A_cold
 Paterson-Budd softness, cold case. More...
 
double m_A_warm
 Paterson-Budd softness, warm case. More...
 
double m_Q_cold
 Activation energy, cold case. More...
 
double m_Q_warm
 Activation energy, warm case. More...
 
double m_crit_temp
 critical temperature (cold – warm transition) More...
 
double m_standard_gravity
 acceleration due to gravity More...
 
double m_ideal_gas_constant
 ideal gas constant More...
 
double m_n
 power law exponent More...
 

Detailed Description

A hybrid of Goldsby-Kohlstedt (2001) ice (constitutive form) and Paterson-Budd (1982)-Glen (viscosity form).

Each FlowLaw has both a forward flow law in "constitutive law" form ("flow_from_temp()") and an inverted-and-vertically-integrated flow law ("effective_viscosity()"). Only the former form of the flow law is known for Goldsby-Kohlstedt. If one can invert-and-vertically-integrate the G-K law then one can build a "trueGKIce" derived class.

Definition at line 42 of file GoldsbyKohlstedt.hh.


The documentation for this class was generated from the following files: