PISM, A Parallel Ice Sheet Model  stable v2.1-1-g6902d5502 committed by Ed Bueler on 2023-12-20 08:38:27 -0800
IceEISModel.hh
Go to the documentation of this file.
1 // Copyright (C) 2004-2017, 2021, 2023 Jed Brown, Ed Bueler and Constantine Khroulev
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 #ifndef PISM_EISMINTII
20 #define PISM_EISMINTII
21 
22 #include "pism/icemodel/IceModel.hh"
23 
24 namespace pism {
25 
26 //! Derived class for doing EISMINT II simplified geometry experiments.
27 /*!
28  These experiments use the thermomechanically-coupled, non-polythermal shallow
29  ice approximation. See @ref EISMINT00 and Appendix B of @ref BBssasliding.
30 */
31 class IceEISModel : public IceModel {
32 public:
33  IceEISModel(std::shared_ptr<Grid> g, std::shared_ptr<Context> ctx, char experiment);
34 
35 protected:
36  void initialize_2d();
37  void bootstrap_2d(const File &input_file);
38 
39  void allocate_couplers();
40 
42 };
43 
44 void generate_trough_topography(array::Scalar &result); // for experiments I,J
45 void generate_mound_topography(array::Scalar &result); // for experiments K,L
46 
47 } // end of namespace pism
48 
49 #endif /* PISM_EISMINTII */
High-level PISM I/O class.
Definition: File.hh:56
void bootstrap_2d(const File &input_file)
Definition: IceEISModel.cc:146
void allocate_couplers()
Definition: IceEISModel.cc:45
IceEISModel(std::shared_ptr< Grid > g, std::shared_ptr< Context > ctx, char experiment)
Definition: IceEISModel.cc:39
Derived class for doing EISMINT II simplified geometry experiments.
Definition: IceEISModel.hh:31
std::shared_ptr< Context > ctx() const
Return the context this model is running in.
Definition: utilities.cc:127
void generate_trough_topography(array::Scalar &result)
Definition: IceEISModel.cc:67
static const double g
Definition: exactTestP.cc:36
void generate_mound_topography(array::Scalar &result)
Definition: IceEISModel.cc:94