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 ![]() ![]() | |
BasalFrictionRelation * | getNewBasalFrictionRelation () const |
creates a new copy of subclass objects. More... | |
virtual Real | power () const |
![]() | |
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 ![]() | |
Additional Inherited Members | |
![]() | |
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.