PISM, A Parallel Ice Sheet Model  stable v2.0.4 committed by Constantine Khrulev on 2022-05-25 12:02:27 -0800
Public Types | Public Member Functions | List of all members
pism::IceModelVec2Int Class Reference

A simple class "hiding" the fact that the mask is stored as floating-point scalars (instead of integers). More...

#include <iceModelVec.hh>

+ Inheritance diagram for pism::IceModelVec2Int:

Public Types

typedef std::shared_ptr< IceModelVec2IntPtr
 
typedef std::shared_ptr< const IceModelVec2IntConstPtr
 
- Public Types inherited from pism::IceModelVec2S
typedef std::shared_ptr< IceModelVec2SPtr
 
typedef std::shared_ptr< const IceModelVec2SConstPtr
 
- Public Types inherited from pism::IceModelVec
typedef std::shared_ptr< IceModelVecPtr
 
typedef std::shared_ptr< const IceModelVecConstPtr
 
typedef pism::AccessList AccessList
 

Public Member Functions

 IceModelVec2Int (IceGrid::ConstPtr grid, const std::string &name, IceModelVecKind ghostedp, int width=1)
 
int as_int (int i, int j) const
 
stencils::Star< int > star (int i, int j) const
 
stencils::Box< int > box (int i, int j) const
 
- Public Member Functions inherited from pism::IceModelVec2S
 IceModelVec2S (IceGrid::ConstPtr grid, const std::string &name, IceModelVecKind ghostedp, int width=1)
 
void copy_from (const IceModelVec2S &source)
 
double ** array ()
 
double const *const * array () const
 
void add (double alpha, const IceModelVec2S &x)
 
void add (double alpha, const IceModelVec2S &x, IceModelVec2S &result) const
 
double & operator() (int i, int j)
 Provides access (both read and write) to the internal double array. More...
 
const double & operator() (int i, int j) const
 
stencils::Star< double > star (int i, int j) const
 
stencils::Box< double > box (int i, int j) const
 
- Public Member Functions inherited from pism::IceModelVec
virtual ~IceModelVec ()
 
IceGrid::ConstPtr grid () const
 
unsigned int ndims () const
 Returns the number of spatial dimensions. More...
 
std::vector< int > shape () const
 
unsigned int ndof () const
 Returns the number of degrees of freedom per grid point. More...
 
unsigned int stencil_width () const
 Get the stencil width of the current IceModelVec. Returns 0 if ghosts are not available. More...
 
std::vector< double > levels () const
 
std::array< double, 2 > range () const
 Result: min <- min(v[j]), max <- max(v[j]). More...
 
std::vector< double > norm (int n) const
 Computes the norm of all the components of an IceModelVec. More...
 
void add (double alpha, const IceModelVec &x)
 Result: v <- v + alpha * x. Calls VecAXPY. More...
 
void shift (double alpha)
 Result: v[j] <- v[j] + alpha for all j. Calls VecShift. More...
 
void scale (double alpha)
 Result: v <- v * alpha. Calls VecScale. More...
 
petsc::Vecvec () const
 
std::shared_ptr< petsc::DMdm () const
 
void set_name (const std::string &name)
 Sets the variable name to name. More...
 
const std::string & get_name () const
 Get the name of an IceModelVec object. More...
 
void set_attrs (const std::string &pism_intent, const std::string &long_name, const std::string &units, const std::string &glaciological_units, const std::string &standard_name, unsigned int component)
 Sets NetCDF attributes of an IceModelVec object. More...
 
void define (const File &file, IO_Type default_type=PISM_DOUBLE) const
 Define variables corresponding to an IceModelVec in a file opened using file. More...
 
void read (const std::string &filename, unsigned int time)
 
void read (const File &file, unsigned int time)
 
void write (const std::string &filename) const
 
void write (const File &file) const
 
void regrid (const std::string &filename, RegriddingFlag flag, double default_value=0.0)
 
void regrid (const File &file, RegriddingFlag flag, double default_value=0.0)
 
virtual void begin_access () const
 Checks if an IceModelVec is allocated and calls DAVecGetArray. More...
 
virtual void end_access () const
 Checks if an IceModelVec is allocated and calls DAVecRestoreArray. More...
 
void update_ghosts ()
 Updates ghost points. More...
 
std::shared_ptr< petsc::Vecallocate_proc0_copy () const
 
void put_on_proc0 (petsc::Vec &onp0) const
 Puts a local IceModelVec2S on processor 0. More...
 
void get_from_proc0 (petsc::Vec &onp0)
 Gets a local IceModelVec2 from processor 0. More...
 
void set (double c)
 Result: v[j] <- c for all j. More...
 
SpatialVariableMetadatametadata (unsigned int N=0)
 Returns a reference to the SpatialVariableMetadata object containing metadata for the compoment N. More...
 
const SpatialVariableMetadatametadata (unsigned int N=0) const
 
int state_counter () const
 Get the object state counter. More...
 
void inc_state_counter ()
 Increment the object state counter. More...
 
void set_time_independent (bool flag)
 Set the time independent flag for all variables corresponding to this IceModelVec instance. More...
 
void view (std::vector< std::shared_ptr< petsc::Viewer > > viewers) const
 View a 2D vector field using existing PETSc viewers. More...
 
void dump (const char filename[]) const
 Dumps a variable to a file, overwriting this file's contents (for debugging). More...
 
uint64_t fletcher64_serial () const
 
uint64_t fletcher64 () const
 
std::string checksum (bool serial) const
 
void print_checksum (const char *prefix="", bool serial=false) const
 
- Public Member Functions inherited from pism::PetscAccessible
virtual ~PetscAccessible ()=default
 

Additional Inherited Members

- Static Public Member Functions inherited from pism::IceModelVec
template<class T >
static T::Ptr cast (IceModelVec::Ptr input)
 dynamic_pointer_cast wrapper that checks if the cast succeeded. More...
 
- Protected Member Functions inherited from pism::IceModelVec
 IceModelVec (IceGrid::ConstPtr grid, const std::string &name, IceModelVecKind ghostedp, size_t dof, size_t stencil_width, const std::vector< double > &zlevels)
 
void set_begin_access_use_dof (bool flag)
 
void read_impl (const File &file, unsigned int time)
 Reads appropriate NetCDF variable(s) into an IceModelVec. More...
 
void regrid_impl (const File &file, RegriddingFlag flag, double default_value=0.0)
 Gets an IceModelVec from a file file, interpolating onto the current grid. More...
 
void write_impl (const File &file) const
 Writes an IceModelVec to a NetCDF file. More...
 
void checkCompatibility (const char *function, const IceModelVec &other) const
 Checks if two IceModelVecs have compatible sizes, dimensions and numbers of degrees of freedom. More...
 
void check_array_indices (int i, int j, unsigned int k) const
 Check array indices and warn if they are out of range. More...
 
void copy_to_vec (std::shared_ptr< petsc::DM > destination_da, petsc::Vec &destination) const
 Copies v to a global vector 'destination'. Ghost points are discarded. More...
 
void get_dof (std::shared_ptr< petsc::DM > da_result, petsc::Vec &result, unsigned int start, unsigned int count=1) const
 
void set_dof (std::shared_ptr< petsc::DM > da_source, petsc::Vec &source, unsigned int start, unsigned int count=1)
 
void put_on_proc0 (petsc::Vec &parallel, petsc::Vec &onp0) const
 
void get_from_proc0 (petsc::Vec &onp0, petsc::Vec &parallel) const
 
- Protected Attributes inherited from pism::IceModelVec
Implm_impl
 
void * m_array
 

Detailed Description

A simple class "hiding" the fact that the mask is stored as floating-point scalars (instead of integers).

Definition at line 389 of file iceModelVec.hh.


The documentation for this class was generated from the following files: