PISM, A Parallel Ice Sheet Model 2.3.0-79cae578d committed by Constantine Khrulev on 2026-03-22
Loading...
Searching...
No Matches
Classes | Namespaces | Enumerations | Functions
Grid.hh File Reference
#include "VariableMetadata.hh"
#include "io/File.hh"
#include <cassert>
#include <memory>
#include <string>
#include <vector>
#include <map>
#include <mpi.h>
#include "pism/util/Interpolation1D.hh"
#include "pism/util/GridInfo.hh"

Go to the source code of this file.

Classes

class  pism::grid::InputGridInfo
 
class  pism::grid::Parameters
 Grid parameters; used to collect defaults before an Grid is allocated. More...
 
class  pism::GridPoint
 
class  pism::GridPoints
 
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 }
 

Functions

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.