PISM, A Parallel Ice Sheet Model  stable v2.1.1 committed by Constantine Khrulev on 2024-12-04 13:36:58 -0900
Public Member Functions | List of all members
pism::array::Array3D Class Reference

A virtual class collecting methods common to ice and bedrock 3D fields. More...

#include <Array3D.hh>

+ Inheritance diagram for pism::array::Array3D:

Public Member Functions

 Array3D (std::shared_ptr< const Grid > grid, const std::string &name, Kind ghostedp, const std::vector< double > &levels, unsigned int stencil_width=1)
 
virtual ~Array3D ()=default
 
std::shared_ptr< Array3Dduplicate (Kind ghostedp=WITHOUT_GHOSTS) const
 
void regrid_impl (const File &file, io::Default default_value)
 Gets an Array from a file file, interpolating onto the current grid. More...
 
void set_column (int i, int j, double c)
 Set all values of scalar quantity to given a single value in a particular column. More...
 
void set_column (int i, int j, const double *input)
 
double * get_column (int i, int j)
 
const double * get_column (int i, int j) const
 
double interpolate (int i, int j, double z) const
 Return value of scalar quantity at level z (m) above base of ice (by linear interpolation). More...
 
void copy_from (const Array3D &input)
 
- 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
 

Additional Inherited Members

- 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...
 
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
 
- Protected Attributes inherited from pism::array::Array
Implm_impl
 
void * m_array
 

Detailed Description

A virtual class collecting methods common to ice and bedrock 3D fields.

Definition at line 33 of file Array3D.hh.


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