|
BISICLES AMR ice sheet model
0.9
|
implements BasalFrictionRelation to provide a power law More...
#include <BasalFrictionRelation.H>


Public Member Functions | |
| BasalFrictionPowerLaw (Real a_m, Real a_fastSlidingSpeed=-1.0, Real a_highThickness=-1.0, bool a_includeEffectivePressure=false) | |
| virtual | ~BasalFrictionPowerLaw () |
| virtual void | computeAlpha (FArrayBox &a_alpha, const FArrayBox &a_basalVel, const FArrayBox &a_C, const Real &a_scale, const LevelSigmaCS &a_coords, const DataIterator &a_dit, int a_level, const Box &a_box) const |
Computes cell-centered effective basal friction coeffcient such that . More... | |
| BasalFrictionRelation * | getNewBasalFrictionRelation () const |
| creates a new copy of subclass objects. More... | |
| virtual Real | power () const |
Public Member Functions inherited from BasalFrictionRelation | |
| virtual | ~BasalFrictionRelation () |
| virtual void | updateThermodynamics (Vector< LevelData< FArrayBox > * > *a_tillWaterDepth) |
| virtual void | computeDissipation (FArrayBox &a_dissipation, const FArrayBox &a_basalVel, const FArrayBox &a_C, const Real &a_scale, const LevelSigmaCS &a_coords, const DataIterator &a_dit, int a_level, const Box &a_box) const |
Compute cell-centered dissipation rate . More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from BasalFrictionRelation | |
| static BasalFrictionRelation * | parse (const char *a_prefix, int a_recursion) |
| Run-time configuration of BasalFrictionRelation objects. More... | |
implements BasalFrictionRelation to provide a power law

where
is the basal traction,
is a coefficient not dependent on velocity,
is the thickness above flotation,
is the basal velocity, and
are exponents. Typically
.
gives a linear viscous sliding law
is often used (e.g in the MISMIP tests)An optional factor
is available (see Joughin 2019) that lead
as 
An alternate version of the above,
is available
Run-time configuation is carried out in BasalFrictionRelation::parse. If the string A.B.basalFrictionRelation = powerLaw is found, the expected form is
BasalFrictionPowerLaw.m = <float. e,g 0.3333 for m = 1/3>BasalFrictionPowerLaw.includeEffectivePressure = <bool>BasalFrictionPowerLaw.fastSlidingSpeed = <float. e.g 300 for Joughin 2019>BasalFrictionPowerLaw.highThickness = <float. e.g 1e2 for ~100 kPa>if includeEffectivePressure,
so that there is a dependence on the thickness over flotation
. Otherwise,
. Do not use this option!
|
inline |
|
inlinevirtual |
References BasalFrictionRelation::computeAlpha().
|
virtual |
Computes cell-centered effective basal friction coeffcient
such that
.
| a_alpha | effective basal friction coefficient based on the local velocity field. |
| a_basalVel | Cell-centered basal velocity field. |
| a_C | Cell-centered coefficient field |
| a_coords | whole level geometry data |
| a_dit | index needed to retrieve data from a_coords |
| a_box | cell-centered box over which to do this computation |
Implements BasalFrictionRelation.
References LevelSigmaCS::getFloatingMask(), and LevelSigmaCS::getThicknessOverFlotation().
|
inlinevirtual |
creates a new copy of subclass objects.
Implements BasalFrictionRelation.
|
inlinevirtual |
Implements BasalFrictionRelation.
1.8.13