23 #include "pism/energy/BedThermalUnit.hh"
24 #include "pism/util/Context.hh"
99 virtual unsigned int Mz_impl()
const;
105 double t,
double dt);
High-level PISM I/O class.
Combines the max. time step with the flag indicating if a restriction is active. Makes is possible to...
A virtual class collecting methods common to ice and bedrock 3D fields.
virtual MaxTimestep max_timestep_impl(double my_t) const
const array::Array3D & temperature() const
Bedrock thermal layer temperature field.
unsigned int m_Mbz
number of vertical levels within the bedrock
void update_flux_through_top_surface()
std::shared_ptr< array::Array3D > m_temp
virtual unsigned int Mz_impl() const
double m_Lbz
thickness of the bedrock layer, in meters
virtual void write_model_state_impl(const File &output) const
The default (empty implementation).
virtual ~BTU_Full()=default
std::shared_ptr< BedrockColumn > m_column
bool m_bootstrapping_needed
true if the model needs to "bootstrap" the temperature field during the first time step
virtual double depth_impl() const
virtual void define_model_state_impl(const File &output) const
The default (empty implementation).
virtual double vertical_spacing_impl() const
virtual void bootstrap(const array::Scalar &bedrock_top_temperature)
BTU_Full(std::shared_ptr< const Grid > g, const BTUGrid &vertical_grid)
virtual void update_impl(const array::Scalar &bedrock_top_temperature, double t, double dt)=0
double m_D
diffusivity of the heat flow within the bedrock layer
virtual void init_impl(const InputOptions &opts)
Initialize the bedrock thermal unit.
double m_k
bedrock thermal conductivity
Given the temperature of the top of the bedrock, for the duration of one time-step,...
virtual void update_impl(const array::Scalar &bedrock_top_temperature, double t, double dt)=0
Given the temperature of the top of the bedrock, for the duration of one time-step,...