19 #include "pism/icemodel/IceModel.hh"
21 #include "pism/energy/EnergyModel.hh"
22 #include "pism/stressbalance/ShallowStressBalance.hh"
23 #include "pism/fracturedensity/FractureDensity.hh"
35 bool do_fracground =
m_config->get_flag(
"fracture_density.include_grounded_ice");
36 const bool dirichlet_bc =
m_config->get_flag(
"stress_balance.ssa.dirichlet_bc");
47 for (
auto p =
m_grid->points(); p; p.next()) {
48 const int i = p.i(), j = p.j();
array::CellType2 cell_type
array::Scalar2 ice_thickness
std::shared_ptr< stressbalance::StressBalance > m_stress_balance
const Config::Ptr m_config
Configuration flags and parameters.
std::shared_ptr< FractureDensity > m_fracture
std::vector< std::shared_ptr< array::Scalar2 > > m_work2d
array::Scalar2 m_velocity_bc_mask
mask to determine Dirichlet boundary locations for the sliding velocity
array::Vector2 m_velocity_bc_values
Dirichlet boundary velocities.
virtual void update_fracture_density()
double m_dt
mass continuity time step, s
std::shared_ptr< energy::EnergyModel > m_energy_model
const std::shared_ptr< Grid > m_grid
Computational grid.
Makes sure that we call begin_access() and end_access() for all accessed array::Arrays.
void add(double alpha, const Array2D< T > &x)
bool grounded(int i, int j) const
void averaged_hardness_vec(const FlowLaw &ice, const array::Scalar &thickness, const array::Array3D &enthalpy, array::Scalar &result)