|
PISM, A Parallel Ice Sheet Model stable 0.4.1779
|
Class containing physical constants and the constitutive relation describing till for SSA. More...
#include <basal_resistance.hh>

Public Member Functions | |
| IceBasalResistancePlasticLaw (PetscScalar regularizationConstant, bool pseudoPlastic, PetscScalar pseudoExponent, PetscScalar pseudoUThreshold) | |
| virtual PetscErrorCode | printInfo (int verbthresh, MPI_Comm com) |
| virtual PetscScalar | drag (PetscScalar tauc, PetscScalar vx, PetscScalar vy) |
| Compute the drag coefficient for the basal shear stress. | |
| virtual void | dragWithDerivative (PetscReal tauc, PetscScalar vx, PetscScalar vy, PetscScalar *drag, PetscScalar *ddrag) const |
| virtual | ~IceBasalResistancePlasticLaw () |
Public Attributes | |
| PetscReal | plastic_regularize |
| PetscReal | pseudo_q |
| PetscReal | pseudo_u_threshold |
| bool | pseudo_plastic |
Class containing physical constants and the constitutive relation describing till for SSA.
This pseudo -plastic type can actually describe anything from linearly viscous till to purely plastic till.
Definition at line 29 of file basal_resistance.hh.
| IceBasalResistancePlasticLaw | ( | PetscScalar | regularizationConstant, |
| bool | pseudoPlastic, | ||
| PetscScalar | pseudoExponent, | ||
| PetscScalar | pseudoUThreshold | ||
| ) |
Definition at line 23 of file basal_resistance.cc.
References plastic_regularize, pseudo_plastic, pseudo_q, and pseudo_u_threshold.
| virtual ~IceBasalResistancePlasticLaw | ( | ) | [inline, virtual] |
Definition at line 39 of file basal_resistance.hh.
| PetscScalar drag | ( | PetscScalar | tauc, |
| PetscScalar | vx, | ||
| PetscScalar | vy | ||
| ) | [virtual] |
Compute the drag coefficient for the basal shear stress.
The basal shear stress term
in the SSA stress balance for ice is minus the return value here times (vx,vy). Thus this method computes the basal shear stress as
where
,
,
pseudo_q, and
pseudo_u_threshold. Typical values for the constants are
and
m/a.
The linearly-viscous till case pseudo_q = 1.0 is allowed, in which case
. The purely-plastic till case pseudo_q = 0.0 is also allowed; note that there is still a regularization with data member plastic_regularize.
Reimplemented in MISMIPBasalResistanceLaw.
Definition at line 71 of file basal_resistance.cc.
References plastic_regularize, pseudo_plastic, pseudo_q, and pseudo_u_threshold.
Referenced by SSAFD::assemble_matrix(), SSAFEM_Forward::assemble_T_rhs(), SSAFEM_Forward::assemble_TStarB_rhs(), and SSA::compute_basal_frictional_heating().
| void dragWithDerivative | ( | PetscReal | tauc, |
| PetscScalar | vx, | ||
| PetscScalar | vy, | ||
| PetscScalar * | drag, | ||
| PetscScalar * | ddrag | ||
| ) | const [virtual] |
Definition at line 82 of file basal_resistance.cc.
References plastic_regularize, pseudo_plastic, pseudo_q, and pseudo_u_threshold.
Referenced by SSAFEM::PointwiseNuHAndBeta().
| PetscErrorCode printInfo | ( | int | verbthresh, |
| MPI_Comm | com | ||
| ) | [virtual] |
Reimplemented in MISMIPBasalResistanceLaw.
Definition at line 32 of file basal_resistance.cc.
References plastic_regularize, pseudo_plastic, pseudo_q, pseudo_u_threshold, and secpera.
Referenced by main().
Definition at line 41 of file basal_resistance.hh.
Referenced by drag(), dragWithDerivative(), IceBasalResistancePlasticLaw(), and printInfo().
Definition at line 42 of file basal_resistance.hh.
Referenced by drag(), dragWithDerivative(), IceBasalResistancePlasticLaw(), and printInfo().
Definition at line 41 of file basal_resistance.hh.
Referenced by drag(), dragWithDerivative(), IceBasalResistancePlasticLaw(), and printInfo().
Definition at line 41 of file basal_resistance.hh.
Referenced by drag(), dragWithDerivative(), IceBasalResistancePlasticLaw(), and printInfo().
1.7.3