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
Given.hh
Go to the documentation of this file.
1/* Copyright (C) 2020, 2021, 2022, 2023, 2024 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#ifndef PISM_BEDDEF_GIVEN
21#define PISM_BEDDEF_GIVEN
22
23#include "pism/earth/BedDef.hh"
24
25namespace pism {
26namespace bed {
27
28/*!
29 * Read given bed deformation history from input files.
30 */
31class Given : public BedDef {
32public:
33 Given(std::shared_ptr<const Grid> grid);
34 virtual ~Given() = default;
35protected:
36 void init_impl(const InputOptions &opts, const array::Scalar &ice_thickness,
37 const array::Scalar &sea_level_elevation);
38
40 const array::Scalar &bed_uplift,
41 const array::Scalar &ice_thickness,
42 const array::Scalar &sea_level_elevation);
43
44 void update_impl(const array::Scalar &load, double t, double dt);
45
47
48 std::shared_ptr<array::Forcing> m_topg_delta;
49};
50
51} // end of namespace bed
52} // end of namespace pism
53
54#endif /* PISM_BEDDEF_GIVEN */
std::shared_ptr< const Grid > grid() const
Definition Component.cc:105
const array::Scalar & bed_elevation() const
Definition BedDef.cc:71
PISM bed deformation model (base class).
Definition BedDef.hh:37
void bootstrap_impl(const array::Scalar &bed_elevation, const array::Scalar &bed_uplift, const array::Scalar &ice_thickness, const array::Scalar &sea_level_elevation)
Definition Given.cc:68
array::Scalar m_topg_reference
Definition Given.hh:46
void update_impl(const array::Scalar &load, double t, double dt)
Definition Given.cc:75
std::shared_ptr< array::Forcing > m_topg_delta
Definition Given.hh:48
virtual ~Given()=default
void init_impl(const InputOptions &opts, const array::Scalar &ice_thickness, const array::Scalar &sea_level_elevation)
Definition Given.cc:54