UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
voro::voro_base Class Reference

Class containing data structures common across all particle container classes. More...

#include <v_base.hh>

+ Inheritance diagram for voro::voro_base:

Public Member Functions

bool contains_neighbor (const char *format) const
 
 voro_base (int nx_, int ny_, int nz_, double boxx_, double boxy_, double boxz_)
 
 voro_base (const voro_base &Other)=delete
 
voro_baseoperator= (const voro_base &Other)=delete
 
 voro_base (voro_base &&Other) noexcept
 
voro_baseoperator= (voro_base &&Other)=delete
 
 ~voro_base ()
 

Public Attributes

const int nx
 
const int ny
 
const int nz
 
const int nxy
 
const int nxyz
 
const double boxx
 
const double boxy
 
const double boxz
 
const double xsp
 
const double ysp
 
const double zsp
 
doublemrad
 

Static Public Attributes

static const unsigned int wl [wl_seq_length *wl_hgridcu]
 

Protected Member Functions

int step_int (double a) const
 
int step_mod (int a, int b) const
 
int step_div (int a, int b) const
 

Detailed Description

Class containing data structures common across all particle container classes.

This class contains constants and data structures that are common across all particle container classes. It contains constants setting the size of the underlying subgrid of blocks that forms the basis of the Voronoi cell computations. It also constructs bound tables that are used in the Voronoi cell computation, and contains a number of routines that are common across all container classes.

Constructor & Destructor Documentation

◆ voro_base() [1/3]

voro::voro_base::voro_base ( int  nx_,
int  ny_,
int  nz_,
double  boxx_,
double  boxy_,
double  boxz_ 
)

This function is called during container construction. The routine scans all of the worklists in the wl[] array. For a given worklist of blocks labeled $w_1$ to $w_n$, it computes a sequence $r_0$ to $r_n$ so that $r_i$ is the minimum distance to all the blocks $w_{j}$ where $j>i$ and all blocks outside the worklist. The values of $r_n$ is calculated first, as the minimum distance to any block in the shell surrounding the worklist. The $r_i$ are then computed in reverse order by considering the distance to $w_{i+1}$.

◆ voro_base() [2/3]

voro::voro_base::voro_base ( const voro_base Other)
delete

◆ voro_base() [3/3]

voro::voro_base::voro_base ( voro_base &&  Other)
inlinenoexcept

◆ ~voro_base()

voro::voro_base::~voro_base ( )
inline

Member Function Documentation

◆ contains_neighbor()

bool voro::voro_base::contains_neighbor ( const char format) const

Checks to see whether "%n" appears in a format sequence to determine whether neighbor information is required or not.

Parameters
[in]formatthe format string to check.
Returns
True if a "%n" is found, false otherwise.

◆ operator=() [1/2]

voro_base & voro::voro_base::operator= ( const voro_base Other)
delete

◆ operator=() [2/2]

voro_base & voro::voro_base::operator= ( voro_base &&  Other)
delete

◆ step_div()

int voro::voro_base::step_div ( int  a,
int  b 
) const
inlineprotected

A custom integer division function that returns consistent stepping for negative numbers. For example, (-2,-1,0,1,2) step_div 2 is (-1,-1,0,0,1).

Parameters
[in](a,b)the input integers.
Returns
The value of a div b, consistent for negative numbers.

◆ step_int()

int voro::voro_base::step_int ( double  a) const
inlineprotected

A custom int function that returns consistent stepping for negative numbers, so that (-1.5, -0.5, 0.5, 1.5) maps to (-2,-1,0,1).

Parameters
[in]athe number to consider.
Returns
The value of the custom int operation.

◆ step_mod()

int voro::voro_base::step_mod ( int  a,
int  b 
) const
inlineprotected

A custom modulo function that returns consistent stepping for negative numbers. For example, (-2,-1,0,1,2) step_mod 2 is (0,1,0,1,0).

Parameters
[in](a,b)the input integers.
Returns
The value of a modulo b, consistent for negative numbers.

Member Data Documentation

◆ boxx

const double voro::voro_base::boxx

The size of a computational block in the x direction.

◆ boxy

const double voro::voro_base::boxy

The size of a computational block in the y direction.

◆ boxz

const double voro::voro_base::boxz

The size of a computational block in the z direction.

◆ mrad

double* voro::voro_base::mrad

An array to hold the minimum distances associated with the worklists. This array is initialized during container construction, by the initialize_radii() routine.

◆ nx

const int voro::voro_base::nx

The number of blocks in the x direction.

◆ nxy

const int voro::voro_base::nxy

A constant, set to the value of nx multiplied by ny, which is used in the routines that step through blocks in sequence.

◆ nxyz

const int voro::voro_base::nxyz

A constant, set to the value of nx*ny*nz, which is used in the routines that step through blocks in sequence.

◆ ny

const int voro::voro_base::ny

The number of blocks in the y direction.

◆ nz

const int voro::voro_base::nz

The number of blocks in the z direction.

◆ wl

const unsigned int voro_base::wl
static

The pre-computed block worklists.

◆ xsp

const double voro::voro_base::xsp

The inverse box length in the x direction.

◆ ysp

const double voro::voro_base::ysp

The inverse box length in the y direction.

◆ zsp

const double voro::voro_base::zsp

The inverse box length in the z direction.


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