PISM, A Parallel Ice Sheet Model  stable v2.1-1-g6902d5502 committed by Ed Bueler on 2023-12-20 08:38:27 -0800
Public Member Functions | Protected Member Functions | List of all members
pism::array::CellType Class Reference

"Cell type" mask. Adds convenience methods to array::Scalar. More...

#include <CellType.hh>

+ Inheritance diagram for pism::array::CellType:

Public Member Functions

 CellType (std::shared_ptr< const Grid > grid, const std::string &name)
 
bool ocean (int i, int j) const
 
bool grounded (int i, int j) const
 
bool icy (int i, int j) const
 
bool grounded_ice (int i, int j) const
 
bool floating_ice (int i, int j) const
 
bool ice_free (int i, int j) const
 
bool ice_free_ocean (int i, int j) const
 
bool ice_free_land (int i, int j) const
 
- Public Member Functions inherited from pism::array::Scalar
 Scalar (std::shared_ptr< const Grid > grid, const std::string &name)
 
std::shared_ptr< Scalarduplicate () const
 
int as_int (int i, int j) const
 
- Public Member Functions inherited from pism::array::Array2D< double >
 Array2D (std::shared_ptr< const Grid > grid, const std::string &short_name, Kind ghostedp, unsigned int stencil_width=1)
 
double ** array ()
 
double const *const * array () const
 
double & operator() (int i, int j)
 
const double & operator() (int i, int j) const
 
void add (double alpha, const Array2D< double > &x)
 
void add (double alpha, const Array2D< double > &x, Array2D< double > &result) const
 
void copy_from (const Array2D< double > &source)
 
- Public Member Functions inherited from pism::array::Array
virtual ~Array ()
 
std::shared_ptr< const Gridgrid () 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 Array. Returns 0 if ghosts are not available. More...
 
const 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 Array. More...
 
void add (double alpha, const Array &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 Array object. More...
 
void define (const File &file, io::Type default_type) const
 Define variables corresponding to an Array 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, io::Default default_value)
 
void regrid (const File &file, io::Default default_value)
 
virtual void begin_access () const
 Checks if an Array is allocated and calls DAVecGetArray. More...
 
virtual void end_access () const
 Checks if an Array 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 array::Scalar on processor 0. More...
 
void get_from_proc0 (petsc::Vec &onp0)
 Gets a local Array2 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_interpolation_type (InterpolationType type)
 
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
 

Protected Member Functions

 CellType (std::shared_ptr< const Grid > grid, const std::string &name, int w)
 
- Protected Member Functions inherited from pism::array::Scalar
stencils::Star< int > star_int (int i, int j) const
 
stencils::Box< int > box_int (int i, int j) const
 
 Scalar (std::shared_ptr< const Grid > grid, const std::string &name, int width)
 
- Protected Member Functions inherited from pism::array::Array2D< double >
stencils::Star< double > star (int i, int j) const
 
stencils::Box< double > box (int i, int j) const
 
- Protected Member Functions inherited from pism::array::Array
 Array (std::shared_ptr< const Grid > grid, const std::string &name, Kind 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 Array. More...
 
virtual void regrid_impl (const File &file, io::Default default_value)
 Gets an Array from a file file, interpolating onto the current grid. More...
 
void write_impl (const File &file) const
 Writes an Array to a NetCDF file. More...
 
void checkCompatibility (const char *function, const Array &other) const
 Checks if two Arrays 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
 

Additional Inherited Members

- Public Types inherited from pism::array::Array2D< double >
using value_type = double
 
- Protected Attributes inherited from pism::array::Array
Implm_impl
 
void * m_array
 

Detailed Description

"Cell type" mask. Adds convenience methods to array::Scalar.

Definition at line 30 of file CellType.hh.


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