BISICLES AMR ice sheet model
0.9
|
#include <FASIceSolver.H>
Public Member Functions | |
FASIceSolver () | |
virtual | ~FASIceSolver () |
virtual void | define (const ProblemDomain &a_coarseDomain, ConstitutiveRelation *a_constRel, BasalFrictionRelation *a_basalFrictionRel, const Vector< DisjointBoxLayout > &a_vectGrids, const Vector< int > &a_vectRefRatio, const RealVect &a_dxCrse, IceThicknessIBC *a_bc, int a_numLevels) |
virtual void | setTolerance (Real a_tolerance) |
if relevant, set solver tolerance More... | |
virtual void | setMaxIterations (int a_max_iter) |
set "absolute tolerance" More... | |
virtual void | setVerbosity (int a_verbosity) |
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< FluxBox > * > &a_muCoef, Vector< RefCountedPtr< LevelSigmaCS > > &a_coordSys, Real a_time, int a_lbase, int a_maxLevel) |
full solve for non-isothermal ice More... | |
![]() | |
IceVelocitySolver () | |
virtual | ~IceVelocitySolver () |
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 bool | isDefined () |
Protected Attributes | |
RefCountedPtr< FASIceViscouseTensorOpFactory > | m_opFactoryPtr |
bool | m_writeResidToPlotFile |
![]() | |
bool | m_isDefined |
int | m_verbosity |
virtual class to manage the nonlinear solve for the ice-sheet momentum
|
inline |
|
inlinevirtual |
References FASIceViscouseTensorOpFactory::define().
|
virtual |
FASIceSolver (Ice) class
Implements IceVelocitySolver.
References FASIceViscouseTensorOp::FASIceViscouseTensorOpFactory.
Referenced by AmrIce::defineSolver().
|
inlinevirtual |
set "absolute tolerance"
If norm(residual) drops below the absolute tolerance (regardless of the initial residual), we declare ourselves "done" – this is a simple way to avoid solver hangs.sets maximum number of FAS iterations
Reimplemented from IceVelocitySolver.
Referenced by AmrIce::defineSolver().
|
inlinevirtual |
if relevant, set solver tolerance
default implementation does nothing – it's assumed that derived classes will implement this in a meaningful way
Reimplemented from IceVelocitySolver.
Referenced by AmrIce::defineSolver().
|
inlinevirtual |
Reimplemented from IceVelocitySolver.
References IceVelocitySolver::m_verbosity.
|
virtual |
full solve for non-isothermal ice
solve for isothermal ice
beta scales sliding coefficient C == acoef in terms of the ViscousTensorOp
|
protected |
|
protected |