|
PISM, A Parallel Ice Sheet Model
stable v0.5
|
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
1.7.5.1