|
virtual void | init_impl () |
| Initialize a generic regular-grid SSA solver. More...
|
|
virtual DiagnosticList | diagnostics_impl () const |
|
virtual void | pc_setup_bjacobi () |
|
virtual void | pc_setup_asm () |
|
virtual void | solve (const Inputs &inputs) |
| Compute the vertically-averaged horizontal velocity from the shallow shelf approximation. More...
|
|
virtual void | picard_iteration (const Inputs &inputs, double nuH_regularization, double nuH_iter_failure_underrelax) |
|
virtual void | picard_manager (const Inputs &inputs, double nuH_regularization, double nuH_iter_failure_underrelax) |
| Manages the Picard iteration loop. More...
|
|
virtual void | picard_strategy_regularization (const Inputs &inputs) |
| Old SSAFD recovery strategy: increase the SSA regularization parameter. More...
|
|
virtual void | compute_hardav_staggered (const Inputs &inputs) |
| Computes vertically-averaged ice hardness on the staggered grid. More...
|
|
virtual void | compute_nuH_staggered (const array::Scalar1 &ice_thickness, const array::Vector1 &velocity, const array::Staggered &hardness, double nuH_regularization, array::Staggered &result) |
| Compute the product of ice thickness and effective viscosity (on the staggered grid). More...
|
|
virtual void | compute_nuH_staggered_cfbc (const array::Scalar1 &ice_thickness, const array::CellType2 &mask, const array::Vector1 &velocity, const array::Staggered &hardness, double nuH_regularization, array::Staggered &result) |
| Compute the product of ice viscosity and thickness on the staggered grid. Used when CFBC is enabled. More...
|
|
virtual void | compute_nuH_norm (double &norm, double &norm_change) |
| Compute the norm of nu H and the change in nu H. More...
|
|
virtual void | assemble_matrix (const Inputs &inputs, bool include_basal_shear, Mat A) |
| Assemble the left-hand side matrix for the KSP-based, Picard iteration, and finite difference implementation of the SSA equations. More...
|
|
virtual void | assemble_rhs (const Inputs &inputs) |
| Computes the right-hand side ("rhs") of the linear problem for the Picard iteration and finite-difference implementation of the SSA equations. More...
|
|
virtual void | write_system_petsc (const std::string &namepart) |
|
virtual void | update_nuH_viewers () |
| Update the nuH viewer, which shows log10(nu H). More...
|
|
virtual bool | is_marginal (int i, int j, bool ssa_dirichlet_bc) |
| Checks if a cell is near or at the ice front. More...
|
|
virtual void | fracture_induced_softening (const array::Scalar *fracture_density) |
| Correct vertically-averaged hardness using a parameterization of the fracture-induced softening. More...
|
|
virtual void | define_model_state_impl (const File &output) const |
| The default (empty implementation). More...
|
|
virtual void | write_model_state_impl (const File &output) const |
| The default (empty implementation). More...
|
|
virtual void | compute_driving_stress (const array::Scalar &ice_thickness, const array::Scalar1 &surface_elevation, const array::CellType1 &cell_type, const array::Scalar1 *no_model_mask, array::Vector &result) const |
| Compute the gravitational driving stress. More...
|
|
void | extrapolate_velocity (const array::CellType1 &cell_type, array::Vector1 &velocity) const |
|
virtual MaxTimestep | max_timestep_impl (double t) const |
|
virtual TSDiagnosticList | ts_diagnostics_impl () const |
|
void | regrid (const std::string &module_name, array::Array &variable, RegriddingFlag flag=NO_REGRID_WITHOUT_REGRID_VARS) |
|
PISM's SSA solver: the finite difference implementation.
Definition at line 34 of file SSAFD.hh.