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 .
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.