PISM, A Parallel Ice Sheet Model 2.3.0-79cae578d committed by Constantine Khrulev on 2026-03-22
Loading...
Searching...
No Matches
BTU_Minimal.cc
Go to the documentation of this file.
1/* Copyright (C) 2016, 2017, 2023, 2025 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#include "pism/util/Logger.hh"
23
24namespace pism {
25namespace energy {
26
27BTU_Minimal::BTU_Minimal(std::shared_ptr<const Grid> g)
28 : BedThermalUnit(g) {
29 // empty
30}
31
33 m_log->message(2,
34 "* Initializing the minimal model for lithosphere:\n"
35 " stored time-independent geothermal flux applied to ice base...\n");
36
38
39 // The flux through the top surface is the same as the flux through the bottom surface.
41}
42
44 return 0.0;
45}
46
48 return 0.0;
49}
50
51unsigned int BTU_Minimal::Mz_impl() const {
52 return 0;
53}
54
56 (void) t;
57 // no time step restriction
58 return MaxTimestep("minimal thermal bedrock layer");
59}
60
61void BTU_Minimal::update_impl(const array::Scalar &bedrock_top_temperature, double t, double dt) {
62 (void) bedrock_top_temperature;
63 (void) t;
64 (void) dt;
65 // empty
66}
67
68} // end of namespace energy
69} // end of namespace pism
std::shared_ptr< const Logger > m_log
logger (for easy access)
Definition Component.hh:164
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:101
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