|
PISM, A Parallel Ice Sheet Model stable 0.4.1779
|
00001 // Copyright (C) 2010 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 _PISMSTRESSBALANCE_DIAGNOSTICS_H_ 00020 #define _PISMSTRESSBALANCE_DIAGNOSTICS_H_ 00021 00022 #include "PISMStressBalance.hh" 00023 00025 class PSB_velbar : public PISMDiag<PISMStressBalance> 00026 { 00027 public: 00028 PSB_velbar(PISMStressBalance *m, IceGrid &g, PISMVars &my_vars); 00029 PetscErrorCode compute(IceModelVec* &result); 00030 }; 00031 00034 class PSB_cbar : public PISMDiag<PISMStressBalance> 00035 { 00036 public: 00037 PSB_cbar(PISMStressBalance *m, IceGrid &g, PISMVars &my_vars); 00038 PetscErrorCode compute(IceModelVec* &result); 00039 }; 00040 00043 class PSB_cflx : public PISMDiag<PISMStressBalance> 00044 { 00045 public: 00046 PSB_cflx(PISMStressBalance *m, IceGrid &g, PISMVars &my_vars); 00047 PetscErrorCode compute(IceModelVec* &result); 00048 }; 00049 00052 class PSB_cbase : public PISMDiag<PISMStressBalance> 00053 { 00054 public: 00055 PSB_cbase(PISMStressBalance *m, IceGrid &g, PISMVars &my_vars); 00056 PetscErrorCode compute(IceModelVec* &result); 00057 }; 00058 00061 class PSB_csurf : public PISMDiag<PISMStressBalance> 00062 { 00063 public: 00064 PSB_csurf(PISMStressBalance *m, IceGrid &g, PISMVars &my_vars); 00065 PetscErrorCode compute(IceModelVec* &result); 00066 }; 00067 00069 class PSB_velsurf : public PISMDiag<PISMStressBalance> 00070 { 00071 public: 00072 PSB_velsurf(PISMStressBalance *m, IceGrid &g, PISMVars &my_vars); 00073 PetscErrorCode compute(IceModelVec* &result); 00074 }; 00075 00077 00082 class PSB_wvel : public PISMDiag<PISMStressBalance> 00083 { 00084 public: 00085 PSB_wvel(PISMStressBalance *m, IceGrid &g, PISMVars &my_vars); 00086 PetscErrorCode compute(IceModelVec* &result); 00087 }; 00088 00090 class PSB_wvelsurf : public PISMDiag<PISMStressBalance> 00091 { 00092 public: 00093 PSB_wvelsurf(PISMStressBalance *m, IceGrid &g, PISMVars &my_vars); 00094 PetscErrorCode compute(IceModelVec* &result); 00095 }; 00096 00098 class PSB_wvelbase : public PISMDiag<PISMStressBalance> 00099 { 00100 public: 00101 PSB_wvelbase(PISMStressBalance *m, IceGrid &g, PISMVars &my_vars); 00102 PetscErrorCode compute(IceModelVec* &result); 00103 }; 00104 00106 class PSB_velbase : public PISMDiag<PISMStressBalance> 00107 { 00108 public: 00109 PSB_velbase(PISMStressBalance *m, IceGrid &g, PISMVars &my_vars); 00110 virtual PetscErrorCode compute(IceModelVec* &result); 00111 }; 00112 00114 class PSB_bueler_brown_f : public PISMDiag<PISMStressBalance> 00115 { 00116 public: 00117 PSB_bueler_brown_f(PISMStressBalance *m, IceGrid &g, PISMVars &my_vars); 00118 virtual PetscErrorCode compute(IceModelVec* &result); 00119 }; 00120 00122 class PSB_bfrict : public PISMDiag<PISMStressBalance> 00123 { 00124 public: 00125 PSB_bfrict(PISMStressBalance *m, IceGrid &g, PISMVars &my_vars); 00126 virtual PetscErrorCode compute(IceModelVec* &result); 00127 }; 00128 00130 class PSB_uvel : public PISMDiag<PISMStressBalance> 00131 { 00132 public: 00133 PSB_uvel(PISMStressBalance *m, IceGrid &g, PISMVars &my_vars); 00134 virtual PetscErrorCode compute(IceModelVec* &result); 00135 }; 00136 00138 class PSB_vvel : public PISMDiag<PISMStressBalance> 00139 { 00140 public: 00141 PSB_vvel(PISMStressBalance *m, IceGrid &g, PISMVars &my_vars); 00142 virtual PetscErrorCode compute(IceModelVec* &result); 00143 }; 00144 00147 class PSB_wvel_rel : public PISMDiag<PISMStressBalance> 00148 { 00149 public: 00150 PSB_wvel_rel(PISMStressBalance *m, IceGrid &g, PISMVars &my_vars); 00151 virtual PetscErrorCode compute(IceModelVec* &result); 00152 }; 00153 00156 class PSB_taud_mag : public PISMDiag<PISMStressBalance> 00157 { 00158 public: 00159 PSB_taud_mag(PISMStressBalance *m, IceGrid &g, PISMVars &my_vars); 00160 virtual PetscErrorCode compute(IceModelVec* &result); 00161 }; 00162 00163 #endif /* _PISMSTRESSBALANCE_DIAGNOSTICS_H_ */
1.7.3