PISM, A Parallel Ice Sheet Model  stable v0.5
src/eismint/iceEISModel.hh
Go to the documentation of this file.
00001 // Copyright (C) 2004-2011 Jed Brown, Ed Bueler and Constantine Khroulev
00002 //
00003 // This file is part of PISM.
00004 //
00005 // PISM is free software; you can redistribute it and/or modify it under the
00006 // terms of the GNU General Public License as published by the Free Software
00007 // Foundation; either version 2 of the License, or (at your option) any later
00008 // version.
00009 //
00010 // PISM is distributed in the hope that it will be useful, but WITHOUT ANY
00011 // WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
00012 // FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
00013 // details.
00014 //
00015 // You should have received a copy of the GNU General Public License
00016 // along with PISM; if not, write to the Free Software
00017 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
00018 
00019 #ifndef __iceEISModel_hh
00020 #define __iceEISModel_hh
00021 
00022 #include <petscdmda.h>
00023 #include "iceModel.hh"
00024 
00025 
00027 
00032 class IceEISModel : public IceModel {
00033 public:
00034   IceEISModel(IceGrid &g, NCConfigVariable &config, NCConfigVariable &overrides);
00035   virtual PetscErrorCode setFromOptions();
00036   virtual PetscErrorCode createVecs();
00037   virtual PetscErrorCode set_grid_defaults();
00038   virtual PetscErrorCode set_vars_from_options();
00039   virtual PetscErrorCode allocate_flowlaw();
00040   virtual PetscErrorCode allocate_stressbalance();
00041   virtual PetscErrorCode init_couplers();
00042     
00043 protected:
00044   char        expername;
00045   virtual PetscErrorCode set_expername_from_options();
00046 
00047   PetscScalar M_max, R_el, T_min, T_max, S_b, S_T;
00048 
00049   virtual PetscErrorCode generateTroughTopography();  // for experiments I,J
00050   virtual PetscErrorCode generateMoundTopography();   // for experiments K,L
00051 };
00052 
00053 #endif /* __iceEISModel_hh */
00054 
 All Classes Namespaces Files Functions Variables Typedefs Friends Defines