PISM, A Parallel Ice Sheet Model  stable v2.1-1-g6902d5502 committed by Ed Bueler on 2023-12-20 08:38:27 -0800
GPBLD.hh
Go to the documentation of this file.
1 /* Copyright (C) 2015, 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 #ifndef _GPBLD_H_
21 #define _GPBLD_H_
22 
23 #include "pism/rheology/FlowLaw.hh"
24 
25 namespace pism {
26 namespace rheology {
27 
28 //! Glen (1955) and Paterson-Budd (1982) flow law with additional water fraction factor from Lliboutry & Duval (1985).
29 /*!
30  See [\ref AschwandenBlatter]. The basic references are [\ref Glen] and [\ref
31  PatersonBudd] and [\ref LliboutryDuval1985].
32 */
33 class GPBLD : public FlowLaw {
34 public:
35  GPBLD(const std::string &prefix, const Config &config, EnthalpyConverter::Ptr EC);
36 protected:
37  double softness_impl(double enthalpy, double pressure) const;
38  void flow_n_impl(const double *stress, const double *enthalpy,
39  const double *pressure, const double *grainsize,
40  unsigned int n, double *result) const;
42 };
43 
44 } // end of namespace rheology
45 } // end of namespace pism
46 
47 
48 #endif /* _GPBLD_H_ */
A class for storing and accessing PISM configuration flags and parameters.
std::shared_ptr< EnthalpyConverter > Ptr
EnthalpyConverter::Ptr EC() const
Definition: FlowLaw.cc:70
double m_water_frac_observed_limit
Definition: GPBLD.hh:41
double softness_impl(double enthalpy, double pressure) const
The softness factor in the Glen-Paterson-Budd-Lliboutry-Duval flow law. For constitutive law form.
Definition: GPBLD.cc:49
void flow_n_impl(const double *stress, const double *enthalpy, const double *pressure, const double *grainsize, unsigned int n, double *result) const
Definition: GPBLD.cc:63
double m_water_frac_coeff
Definition: GPBLD.hh:41
GPBLD(const std::string &prefix, const Config &config, EnthalpyConverter::Ptr EC)
Definition: GPBLD.cc:30
Glen (1955) and Paterson-Budd (1982) flow law with additional water fraction factor from Lliboutry & ...
Definition: GPBLD.hh:33
#define n
Definition: exactTestM.c:37