Loading [MathJax]/extensions/tex2jax.js
PISM, A Parallel Ice Sheet Model 2.2.2-d6b3a29ca committed by Constantine Khrulev on 2025-03-28
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
BTU_Minimal.cc
Go to the documentation of this file.
1/* Copyright (C) 2016, 2017, 2023 PISM Authors
2 *
3 * This file is part of PISM.
4 *
5 * PISM is free software; you can redistribute it and/or modify it under the
6 * terms of the GNU General Public License as published by the Free Software
7 * Foundation; either version 3 of the License, or (at your option) any later
8 * version.
9 *
10 * PISM is distributed in the hope that it will be useful, but WITHOUT ANY
11 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
12 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
13 * details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with PISM; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18 */
19
20#include "pism/energy/BTU_Minimal.hh"
21#include "pism/util/MaxTimestep.hh"
22
23namespace pism {
24namespace energy {
25
26BTU_Minimal::BTU_Minimal(std::shared_ptr<const Grid> g)
27 : BedThermalUnit(g) {
28 // empty
29}
30
32 m_log->message(2,
33 "* Initializing the minimal model for lithosphere:\n"
34 " stored time-independent geothermal flux applied to ice base...\n");
35
37
38 // The flux through the top surface is the same as the flux through the bottom surface.
40}
41
43 return 0.0;
44}
45
47 return 0.0;
48}
49
50unsigned int BTU_Minimal::Mz_impl() const {
51 return 0;
52}
53
55 (void) t;
56 // no time step restriction
57 return MaxTimestep("minimal thermal bedrock layer");
58}
59
60void BTU_Minimal::update_impl(const array::Scalar &bedrock_top_temperature, double t, double dt) {
61 (void) bedrock_top_temperature;
62 (void) t;
63 (void) dt;
64 // empty
65}
66
67} // end of namespace energy
68} // end of namespace pism
const Logger::ConstPtr m_log
logger (for easy access)
Definition Component.hh:162
Combines the max. time step with the flag indicating if a restriction is active. Makes is possible to...
void copy_from(const Array2D< T > &source)
Definition Array2D.hh:73
void init_impl(const InputOptions &opts)
Initialize the bedrock thermal unit.
double vertical_spacing_impl() const
unsigned int Mz_impl() const
double depth_impl() const
void update_impl(const array::Scalar &bedrock_top_temperature, double t, double dt)
MaxTimestep max_timestep_impl(double t) const
BTU_Minimal(std::shared_ptr< const Grid > g)
array::Scalar m_bottom_surface_flux
upward heat flux through the bottom surface of the bed thermal layer
virtual void init_impl(const InputOptions &opts)
Initialize the bedrock thermal unit.
array::Scalar m_top_surface_flux
upward heat flux through the top surface of the bed thermal layer
Given the temperature of the top of the bedrock, for the duration of one time-step,...
static const double g
Definition exactTestP.cc:36