30 bool xperiodic_,
bool yperiodic_,
bool zperiodic_,
int ps_) :
31 ax(ax_), bx(bx_), ay(ay_), by(by_), az(az_), bz(bz_),
32 xperiodic(xperiodic_), yperiodic(yperiodic_), zperiodic(zperiodic_), ps(ps_),
33 index_sz(init_chunk_size), pre_id(new int*[index_sz]), end_id(pre_id),
34 pre_p(new double*[index_sz]), end_p(pre_p) {
37 ch_p=*
end_p=
new double[
ps*pre_container_chunk_size];
59 double ilscale=pow(
total_particles()/(optimal_particles*dx*dy*dz),1/3.0);
77 #if VOROPP_REPORT_OUT_OF_BOUNDS ==1
78 else fprintf(stderr,
"Out of bounds: (x,y,z)=(%g,%g,%g)\n",x,y,z);
92 #if VOROPP_REPORT_OUT_OF_BOUNDS ==1
93 else fprintf(stderr,
"Out of bounds: (x,y,z)=(%g,%g,%g)\n",x,y,z);
100 int **c_id=
pre_id,*idp,*ide,n;
101 double **c_p=
pre_p,*pp,x,y,z;
103 idp=*(c_id++);ide=idp+pre_container_chunk_size;
106 n=*(idp++);x=*(pp++);y=*(pp++);z=*(pp++);
113 n=*(idp++);x=*(pp++);y=*(pp++);z=*(pp++);
121 int **c_id=
pre_id,*idp,*ide,n;
122 double **c_p=
pre_p,*pp,x,y,z,r;
124 idp=*(c_id++);ide=idp+pre_container_chunk_size;
127 n=*(idp++);x=*(pp++);y=*(pp++);z=*(pp++);r=*(pp++);
134 n=*(idp++);x=*(pp++);y=*(pp++);z=*(pp++);r=*(pp++);
144 int **c_id=
pre_id,*idp,*ide,n;
145 double **c_p=
pre_p,*pp,x,y,z;
147 idp=*(c_id++);ide=idp+pre_container_chunk_size;
150 n=*(idp++);x=*(pp++);y=*(pp++);z=*(pp++);
157 n=*(idp++);x=*(pp++);y=*(pp++);z=*(pp++);
167 int **c_id=
pre_id,*idp,*ide,n;
168 double **c_p=
pre_p,*pp,x,y,z,r;
170 idp=*(c_id++);ide=idp+pre_container_chunk_size;
173 n=*(idp++);x=*(pp++);y=*(pp++);z=*(pp++);r=*(pp++);
174 con.
put(vo,n,x,y,z,r);
180 n=*(idp++);x=*(pp++);y=*(pp++);z=*(pp++);r=*(pp++);
181 con.
put(vo,n,x,y,z,r);
193 while((j=fscanf(fp,
"%d %lg %lg %lg",&i,&x,&y,&z))==4)
put(i,x,y,z);
205 while((j=fscanf(fp,
"%d %lg %lg %lg %lg",&i,&x,&y,&z,&r))==5)
put(i,x,y,z,r);
215 ch_p=*
end_p=
new double[
ps*pre_container_chunk_size];
223 #if VOROPP_VERBOSE >=2
224 fprintf(stderr,
"Pre-container chunk index scaled up to %d\n",
index_sz);
void put(int n, double x, double y, double z)
void extend_chunk_index()
void setup(container &con)
#define VOROPP_MEMORY_ERROR
Master configuration file for setting various compile-time options.
Extension of the container_base class for computing regular Voronoi tessellations.
#define VOROPP_FILE_ERROR
void put(int n, double x, double y, double z, double r)
pre_container_base(double ax_, double bx_, double ay_, double by_, double az_, double bz_, bool xperiodic_, bool yperiodic_, bool zperiodic_, int ps_)
void setup(container_poly &con)
void put(int n, double x, double y, double z)
Header file for the pre_container and related classes.
void import(FILE *fp=stdin)
void guess_optimal(int &nx, int &ny, int &nz)
Extension of the container_base class for computing radical Voronoi tessellations.
void put(int n, double x, double y, double z, double r)
void import(FILE *fp=stdin)
A class for storing ordering information when particles are added to a container. ...