3.5.17. horton/grid/uniform.h – Uniform 3D grids

Functions

long index_wrap(long i, long high)
class UniformGrid

Public Functions

UniformGrid(double *_origin, double *_grid_rvecs, long *_shape, long *_pbc)
Cell *get_cell()
Cell *get_grid_cell()
void set_ranges_rcut(double *center, double rcut, long *ranges_begin, long *ranges_end)
double dist_grid_point(double *center, long *i)
void delta_grid_point(double *center, long *i)
double *get_pointer(double *array, long *i)

Public Members

double origin[3]
double grid_rvecs[9]
long shape[3]
long pbc[3]
class UniformGridWindow

Public Functions

UniformGridWindow(UniformGrid *ugrid, long *_begin, long *_end)
double *get_pointer(double *array, long *j)
void extend(double *cell, double *local)
void wrap(double *local, double *cell)

Public Members

long begin[3]
long end[3]

Private Members

UniformGrid *ugrid
class Range3Iterator

Public Functions

Range3Iterator(const long *ranges_begin, const long *ranges_end, const long *shape)
long get_npoint() const
void set_point(long ipoint, long *i, long *iwrap)

Private Members

const long *ranges_begin
const long *ranges_end
const long *shape
long loop_shape[3]
long npoint
class Block3Iterator

Public Functions

Block3Iterator(const long *begin, const long *end, const long *shape)
long get_nblock() const
void copy_block_begin(long *output)
void copy_block_end(long *output)
void set_block(long iblock, long *b)
void set_cube_ranges(long *b, long *cube_begin, long *cube_end)
void translate(long *b, long *jwrap, long *j)

Private Members

const long *begin
const long *end
const long *shape
long block_begin[3]
long block_end[3]
long block_shape[3]
long nblock
class Cube3Iterator

Public Functions

Cube3Iterator(const long *begin, const long *end)
long get_npoint() const
void set_point(long ipoint, long *j)

Private Members

const long *begin
const long *end
long shape[3]
long npoint