BISICLES AMR ice sheet model
0.9
|
Virtual base class for basal friction relations. More...
#include <BasalFrictionRelation.H>
Public Member Functions | |
virtual | ~BasalFrictionRelation () |
virtual void | updateThermodynamics (Vector< LevelData< FArrayBox > * > *a_tillWaterDepth) |
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 =0 |
Computes cell-centered effective basal friction coeffcient ![]() ![]() | |
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 ![]() | |
virtual BasalFrictionRelation * | getNewBasalFrictionRelation () const =0 |
creates a new copy of subclass objects. More... | |
virtual Real | power () const =0 |
Static Public Member Functions | |
static BasalFrictionRelation * | parse (const char *a_prefix, int a_recursion) |
Run-time configuration of BasalFrictionRelation objects. More... | |
Virtual base class for basal friction relations.
Sublclasses must, at least, compute a positive given basal velocity
such that basal traction
.
|
inlinevirtual |
|
pure 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 |
Implemented in PressureLimitedBasalFrictionRelation, and BasalFrictionPowerLaw.
Referenced by computeDissipation(), PressureLimitedBasalFrictionRelation::computeDissipation(), FASIceViscouseTensorOp::computeMu(), PetscIceSolver::computeMu(), IceNonlinearViscousTensor::setState(), updateThermodynamics(), PressureLimitedBasalFrictionRelation::updateThermodynamics(), and BasalFrictionPowerLaw::~BasalFrictionPowerLaw().
|
virtual |
Compute cell-centered dissipation rate .
a_dissipation | dissipation rate based on the local velocity field. |
a_basalVel | Cell-centered basal velocity field. |
a_scale | assume basalVel is scaled by a factor a_scale |
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 |
computes cell-centered based on the cell-centered velocity and a coefficient field beta such that T_b = - (u, C) u_b
a_C | – ![]() |
a_basalVel | – Cell-centered basal velocity field. |
a_scale | – true velocity is a_basalVel/a_scale |
a_box | cell-centered box over which to do this computation |
Reimplemented in PressureLimitedBasalFrictionRelation.
References computeAlpha().
Referenced by AmrIce::updateInternalEnergy(), and updateThermodynamics().
|
pure virtual |
creates a new copy of subclass objects.
Implemented in PressureLimitedBasalFrictionRelation, and BasalFrictionPowerLaw.
Referenced by AmrIce::setBasalFrictionRelation(), and updateThermodynamics().
|
static |
Run-time configuration of BasalFrictionRelation objects.
References PressureLimitedBasalFrictionRelation::Leguy, PressureLimitedBasalFrictionRelation::MAX_MODEL, and PressureLimitedBasalFrictionRelation::Tsai.
Referenced by init_bisicles_instance(), main(), and updateThermodynamics().
|
pure virtual |
Implemented in PressureLimitedBasalFrictionRelation, and BasalFrictionPowerLaw.
Referenced by PressureLimitedBasalFrictionRelation::computeAlpha(), PressureLimitedBasalFrictionRelation::power(), and updateThermodynamics().
|
inlinevirtual |
Reimplemented in PressureLimitedBasalFrictionRelation.
References computeAlpha(), computeDissipation(), getNewBasalFrictionRelation(), parse(), and power().
Referenced by AmrIce::solveVelocityField().