tBTU_Minimal.cc - pism - [fork] customized build of PISM, the parallel ice sheet model (tillflux branch)
HTML git clone git://src.adamsgaard.dk/pism
DIR Log
DIR Files
DIR Refs
DIR LICENSE
---
tBTU_Minimal.cc (1951B)
---
1 /* Copyright (C) 2016, 2017 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 "BTU_Minimal.hh"
21 #include "pism/util/MaxTimestep.hh"
22
23 namespace pism {
24 namespace energy {
25
26 BTU_Minimal::BTU_Minimal(IceGrid::ConstPtr g)
27 : BedThermalUnit(g) {
28 // empty
29 }
30
31 void BTU_Minimal::init_impl(const InputOptions &opts) {
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
36 BedThermalUnit::init_impl(opts);
37
38 // The flux through the top surface is the same as the flux through the bottom surface.
39 m_top_surface_flux.copy_from(m_bottom_surface_flux);
40 }
41
42 double BTU_Minimal::vertical_spacing_impl() const {
43 return 0.0;
44 }
45
46 double BTU_Minimal::depth_impl() const {
47 return 0.0;
48 }
49
50 unsigned int BTU_Minimal::Mz_impl() const {
51 return 0;
52 }
53
54 MaxTimestep BTU_Minimal::max_timestep_impl(double t) const {
55 (void) t;
56 // no time step restriction
57 return MaxTimestep("minimal thermal bedrock layer");
58 }
59
60 void BTU_Minimal::update_impl(const IceModelVec2S &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