Voro++
|
A class for storing an arbitrary number of particles with radius information, prior to setting up a container geometry. More...
#include <pre_container.hh>
Public Member Functions | |
pre_container_poly (double ax_, double bx_, double ay_, double by_, double az_, double bz_, bool xperiodic_, bool yperiodic_, bool zperiodic_) | |
void | put (int n, double x, double y, double z, double r) |
void | import (FILE *fp=stdin) |
void | import (const char *filename) |
void | setup (container_poly &con) |
void | setup (particle_order &vo, container_poly &con) |
![]() | |
void | guess_optimal (int &nx, int &ny, int &nz) |
pre_container_base (double ax_, double bx_, double ay_, double by_, double az_, double bz_, bool xperiodic_, bool yperiodic_, bool zperiodic_, int ps_) | |
~pre_container_base () | |
int | total_particles () |
Additional Inherited Members | |
![]() | |
const double | ax |
const double | bx |
const double | ay |
const double | by |
const double | az |
const double | bz |
const bool | xperiodic |
const bool | yperiodic |
const bool | zperiodic |
![]() | |
void | new_chunk () |
void | extend_chunk_index () |
![]() | |
const int | ps |
int | index_sz |
int ** | pre_id |
int ** | end_id |
int ** | l_id |
int * | ch_id |
int * | e_id |
double ** | pre_p |
double ** | end_p |
double * | ch_p |
The pre_container_poly class is an extension of the pre_container_base class for cases when particle radius information is available.
Definition at line 133 of file pre_container.hh.
|
inline |
The class constructor sets up the geometry of container, initializing the minimum and maximum coordinates in each direction.
[in] | (ax_,bx_) | the minimum and maximum x coordinates. |
[in] | (ay_,by_) | the minimum and maximum y coordinates. |
[in] | (az_,bz_) | the minimum and maximum z coordinates. |
[in] | (xperiodic_,yperiodic_,zperiodic_ | ) flags setting whether the container is periodic in each coordinate direction. |
Definition at line 144 of file pre_container.hh.
void voro::pre_container_poly::import | ( | FILE * | fp = stdin | ) |
Import a list of particles from an open file stream, also storing the order of that the particles are read. Entries of four numbers (Particle ID, x position, y position, z position) are searched for. If the file cannot be successfully read, then the routine causes a fatal error.
[in] | fp | the file handle to read from. |
Definition at line 202 of file pre_container.cc.
|
inline |
Imports particles from a file.
[in] | filename | the name of the file to read from. |
Definition at line 151 of file pre_container.hh.
void voro::pre_container_poly::put | ( | int | n, |
double | x, | ||
double | y, | ||
double | z, | ||
double | r | ||
) |
Stores a particle ID and position, allocating a new memory chunk if necessary.
[in] | n | the numerical ID of the inserted particle. |
[in] | (x,y,z) | the position vector of the inserted particle. |
[in] | r | the radius of the particle. |
Definition at line 86 of file pre_container.cc.
void voro::pre_container_poly::setup | ( | container_poly & | con | ) |
Transfers the particles stored within the class to a container_poly class.
[in] | con | the container_poly class to transfer to. |
Definition at line 120 of file pre_container.cc.
void voro::pre_container_poly::setup | ( | particle_order & | vo, |
container_poly & | con | ||
) |
Transfers the particles stored within the class to a container_poly class, also recording the order in which particles were stored.
[in] | vo | the ordering class to use. |
[in] | con | the container_poly class to transfer to. |
Definition at line 166 of file pre_container.cc.