PISMBedDef Class Reference

PISM bed deformation model (base class). More...

#include <PISMBedDef.hh>

Inheritance diagram for PISMBedDef:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 PISMBedDef (IceGrid &g, const NCConfigVariable &conf)
virtual ~PISMBedDef ()
virtual PetscErrorCode init (PISMVars &vars)
virtual PetscErrorCode update (PetscReal t_years, PetscReal dt_years)=0
 Update a model, if necessary.

Protected Member Functions

PetscErrorCode pismbeddef_allocate ()
PetscErrorCode compute_uplift (PetscScalar dt_beddef)
 Compute bed uplift.

Protected Attributes

PetscReal t_beddef_last
 last bed deformation update year
IceModelVec2S topg_last
 last bed elevation
IceModelVec2Sthk
 pointer to the current ice thickness
IceModelVec2Stopg
 pointer to the current bed elevation
IceModelVec2Suplift
 pointer to the bed uplift rate field

Detailed Description

PISM bed deformation model (base class).

Unlike other PISMComponent derived classes, the update() method of PISMBedDef has side-effects (modifies IceModel data memebers).

Definition at line 30 of file PISMBedDef.hh.


Constructor & Destructor Documentation

PISMBedDef ( IceGrid g,
const NCConfigVariable conf 
)

Definition at line 3 of file PISMBedDef.cc.

References IceGrid.com, PISMComponent.grid, pismbeddef_allocate(), t_beddef_last, thk, topg, and uplift.

virtual ~PISMBedDef (  )  [virtual]

Definition at line 33 of file PISMBedDef.hh.


Member Function Documentation

PetscErrorCode compute_uplift ( PetscScalar  dt_beddef  )  [protected]

Compute bed uplift.

uplift = (topg - topg_last) / dt

Definition at line 47 of file PISMBedDef.cc.

References IceModelVec.add(), IceModelVec.scale(), secpera, topg, topg_last, and uplift.

Referenced by PBPointwiseIsostasy.update(), and PBLingleClark.update().

PetscErrorCode init ( PISMVars vars  )  [virtual]

Implements PISMComponent.

Reimplemented in PBPointwiseIsostasy, and PBLingleClark.

Definition at line 30 of file PISMBedDef.cc.

References PISMVars.get(), PISMComponent.grid, t_beddef_last, thk, topg, uplift, and IceGrid.year.

Referenced by IceModel.model_state_setup().

PetscErrorCode pismbeddef_allocate (  )  [protected]

Definition at line 19 of file PISMBedDef.cc.

References IceModelVec2S.create(), PISMComponent.grid, IceModelVec.set_attrs(), and topg_last.

Referenced by PISMBedDef().

virtual PetscErrorCode update ( PetscReal  ,
PetscReal   
) [pure virtual]

Update a model, if necessary.

Reimplemented from PISMComponent.

Implemented in PBPointwiseIsostasy, and PBLingleClark.

Referenced by IceModel.bed_def_step().


Member Data Documentation

PetscReal t_beddef_last [protected]

last bed deformation update year

Definition at line 39 of file PISMBedDef.hh.

Referenced by init(), PISMBedDef(), PBPointwiseIsostasy.update(), and PBLingleClark.update().

IceModelVec2S* thk [protected]

pointer to the current ice thickness

Definition at line 42 of file PISMBedDef.hh.

Referenced by init(), PBPointwiseIsostasy.init(), PBLingleClark.init(), PISMBedDef(), PBPointwiseIsostasy.update(), and PBLingleClark.update().

IceModelVec2S * topg [protected]

pointer to the current bed elevation

Definition at line 42 of file PISMBedDef.hh.

Referenced by compute_uplift(), init(), PBLingleClark.init(), PISMBedDef(), PBPointwiseIsostasy.update(), and PBLingleClark.update().

IceModelVec2S topg_last [protected]

last bed elevation

Definition at line 41 of file PISMBedDef.hh.

Referenced by compute_uplift(), pismbeddef_allocate(), PBPointwiseIsostasy.update(), and PBLingleClark.update().

IceModelVec2S * uplift [protected]

pointer to the bed uplift rate field

Definition at line 42 of file PISMBedDef.hh.

Referenced by compute_uplift(), init(), PBLingleClark.init(), and PISMBedDef().


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Friends Defines
Generated by  doxygen 1.6.2-20100124