Hooke.hh (1334B)
1 /* Copyright (C) 2015 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 _HOOKE_H_ 21 #define _HOOKE_H_ 22 23 #include "PatersonBudd.hh" 24 25 namespace pism { 26 namespace rheology { 27 28 //! The Hooke flow law. 29 class Hooke : public PatersonBudd { 30 public: 31 Hooke(const std::string &prefix, const Config &config, EnthalpyConverter::Ptr EC); 32 virtual ~Hooke(); 33 protected: 34 virtual double softness_from_temp(double T_pa) const; 35 36 double m_A_Hooke, m_Q_Hooke, m_C_Hooke, m_K_Hooke, m_Tr_Hooke; // constants from Hooke (1981) 37 // R_Hooke is the ideal_gas_constant. 38 }; 39 40 } // end of namespace rheology 41 } // end of namespace pism 42 43 44 #endif /* _HOOKE_H_ */