PISM, A Parallel Ice Sheet Model stable 0.4.1779

src/base/stressbalance/PISMStressBalance_diagnostics.hh

Go to the documentation of this file.
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_ */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines