BISICLES AMR ice sheet model
0.9
|
Abstract subclass of IceVelocitySolver that supports inverse velocity problems. More...
#include <InverseVerticallyIntegratedVelocitySolver.H>
Public Member Functions | |
virtual void | setPreviousTime (Real a_time)=0 |
virtual BasalFriction * | basalFriction ()=0 |
Create a BasalFriction object containing the solution ![]() | |
virtual MuCoefficient * | muCoefficient ()=0 |
is the basal friction an improvement on the initial guess? More... | |
![]() | |
IceVelocitySolver () | |
virtual | ~IceVelocitySolver () |
virtual void | define (const ProblemDomain &a_coarseDomain, ConstitutiveRelation *a_constRel, BasalFrictionRelation *a_FrictionRel, const Vector< DisjointBoxLayout > &a_vectGrids, const Vector< int > &a_vectRefRatio, const RealVect &a_dxCrse, IceThicknessIBC *a_bc, int a_numLevels)=0 |
(Re-)define IceVelocitySolver object for a given mesh and set of physics rules More... | |
virtual int | solve (Vector< LevelData< FArrayBox > * > &a_horizontalVel, Vector< LevelData< FArrayBox > * > &a_calvedIce, Vector< LevelData< FArrayBox > * > &a_addedIce, Vector< LevelData< FArrayBox > * > &a_removedIce, Real &a_initialResidualNorm, Real &a_finalResidualNorm, const Real a_convergenceMetric, const Vector< LevelData< FArrayBox > * > &a_rhs, const Vector< LevelData< FArrayBox > * > &a_C, const Vector< LevelData< FArrayBox > * > &a_C0, const Vector< LevelData< FArrayBox > * > &a_A, const Vector< LevelData< FArrayBox > * > &a_muCoef, Vector< RefCountedPtr< LevelSigmaCS > > &a_coordSys, Real a_time, int a_lbase, int a_maxLevel)=0 |
Compute the horizontal, cell centered ice velocity ( u(x,y), v(x,y) ) [VERTICALLY INTEGRATED MODELS!]. More... | |
virtual void | setVerbosity (int a_verbosity) |
virtual void | setMaxIterations (int a_max_iter) |
if relevant, set max number of solver iterations More... | |
virtual void | setTolerance (Real a_tolerance) |
if relevant, set solver tolerance More... | |
virtual bool | isDefined () |
Static Public Member Functions | |
static BasalFriction * | basalFriction (const Vector< LevelData< FArrayBox > *> &a_C, const Vector< int > &a_ratio, const RealVect &a_dxCrse) |
static MuCoefficient * | muCoefficient (const Vector< LevelData< FArrayBox > *> &a_mu, const Vector< int > &a_ratio, const RealVect &a_dxCrse) |
Additional Inherited Members | |
![]() | |
bool | m_isDefined |
int | m_verbosity |
Abstract subclass of IceVelocitySolver that supports inverse velocity problems.
In this context, inverse velocity problems compute basal friction ( ) and stiffness (
) parameters for a stress balance problem such that its solution (
) is a fit to the a known (observed) velocity (
). Just as any IceVelocitySolver, they must compute a velocity given geometry etc, but must also expose BasalFriction and MuCoefficient data to any user that understands the idea of the inverse velocity problem
Includes static members that could be useful to both implementors and users
|
inlinestatic |
Create a BasalFriction object given an AMR hierarchy of data
a_C | AMR hierarchy of friction coefficient ![]() |
a_ratio | refinement ratios |
a_dxCrse | mesh spacing in coarsest level |
References muCoefficient().
Referenced by AmrIce::solveVelocityField().
|
pure virtual |
Create a BasalFriction object containing the solution .
Implemented in InverseVerticallyIntegratedVelocitySolver.
Referenced by InverseVerticallyIntegratedVelocitySolver::basalFriction(), muCoefficient(), and AmrIce::readCheckpointFile().
|
inlinestatic |
Create a MuCoefficient object given an AMR hierarchy of data
a_mu | AMR hierarchy of stiffness coefficient ![]() |
a_ratio | refinement ratios |
a_dxCrse | mesh spacing in coarsest level |
References basalFriction(), and muCoefficient().
Referenced by AmrIce::solveVelocityField().
|
pure virtual |
is the basal friction an improvement on the initial guess?
Create a MuCoefficient object containing the solution
Implemented in InverseVerticallyIntegratedVelocitySolver.
Referenced by basalFriction(), muCoefficient(), InverseVerticallyIntegratedVelocitySolver::muCoefficient(), and AmrIce::readCheckpointFile().
|
pure virtual |
Implemented in InverseVerticallyIntegratedVelocitySolver.
Referenced by AmrIce::restart().