Loading [MathJax]/extensions/tex2jax.js
PISM, A Parallel Ice Sheet Model 2.2.2-d6b3a29ca committed by Constantine Khrulev on 2025-03-28
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Namespaces | Enumerations | Functions
Grid.hh File Reference
#include "io/File.hh"
#include <cassert>
#include <memory>
#include <string>
#include <vector>
#include <map>
#include <mpi.h>
#include "pism/util/Interpolation1D.hh"

Go to the source code of this file.

Classes

class  pism::grid::InputGridInfo
 Contains parameters of an input file grid. More...
 
class  pism::grid::Parameters
 Grid parameters; used to collect defaults before an Grid is allocated. More...
 
class  pism::PointsWithGhosts
 
class  pism::Points
 
class  pism::Grid
 Describes the PISM grid and the distribution of data across processors. More...
 

Namespaces

namespace  pism
 
namespace  pism::petsc
 Wrappers for some PETSc objects (these wrappers simplify memory management).
 
namespace  pism::units
 
namespace  pism::grid
 

Enumerations

enum  pism::grid::VerticalSpacing { pism::grid::UNKNOWN = 0 , pism::grid::EQUAL , pism::grid::QUADRATIC }
 
enum  pism::grid::Periodicity { pism::grid::NOT_PERIODIC = 0 , pism::grid::X_PERIODIC = 1 , pism::grid::Y_PERIODIC = 2 , pism::grid::XY_PERIODIC = 3 }
 
enum  pism::grid::Registration { pism::grid::CELL_CENTER , pism::grid::CELL_CORNER }
 

Functions

Registration pism::grid::string_to_registration (const std::string &keyword)
 
std::string pism::grid::registration_to_string (Registration registration)
 
Periodicity pism::grid::string_to_periodicity (const std::string &keyword)
 Convert a string to Periodicity.
 
std::string pism::grid::periodicity_to_string (Periodicity p)
 Convert Periodicity to a STL string.
 
VerticalSpacing pism::grid::string_to_spacing (const std::string &keyword)
 Convert an STL string to SpacingType.
 
std::string pism::grid::spacing_to_string (VerticalSpacing s)
 Convert SpacingType to an STL string.
 
std::vector< doublepism::grid::compute_vertical_levels (double new_Lz, size_t new_Mz, grid::VerticalSpacing spacing, double lambda)
 Set the vertical levels in the ice according to values in Mz (number of levels), Lz (domain height), spacing (quadratic or equal) and lambda (quadratic spacing parameter).
 
double pism::grid::radius (const Grid &grid, int i, int j)
 Returns the distance from the point (i,j) to the origin.
 
bool pism::grid::in_null_strip (const Grid &grid, int i, int j, double strip_width)
 Check if a point (i,j) is in the strip of stripwidth meters around the edge of the computational domain.
 
bool pism::grid::domain_edge (const Grid &grid, int i, int j)
 
std::array< unsigned, 2 > pism::grid::nprocs (unsigned int size, unsigned int Mx, unsigned int My)
 Computes the number of processors in the X- and Y-directions.
 
std::vector< unsigned intpism::grid::ownership_ranges (unsigned int Mx, unsigned int Nx)
 Computes processor ownership ranges corresponding to equal area distribution among processors.