Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F91323843
single_cell.cc
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Sun, Nov 10, 00:21
Size
893 B
Mime Type
text/x-c
Expires
Tue, Nov 12, 00:21 (1 d, 23 h)
Engine
blob
Format
Raw Data
Handle
22243143
Attached To
rLAMMPS lammps
single_cell.cc
View Options
// Single Voronoi cell example code
//
// Author : Chris H. Rycroft (LBL / UC Berkeley)
// Email : chr@alum.mit.edu
// Date : August 30th 2011
#include "voro++.hh"
using
namespace
voro
;
// This function returns a random floating point number between 0 and 1
double
rnd
()
{
return
double
(
rand
())
/
RAND_MAX
;}
int
main
()
{
double
x
,
y
,
z
,
rsq
,
r
;
voronoicell
v
;
// Initialize the Voronoi cell to be a cube of side length 2, centered
// on the origin
v
.
init
(
-
1
,
1
,
-
1
,
1
,
-
1
,
1
);
// Cut the cell by 250 random planes which are all a distance 1 away
// from the origin, to make an approximation to a sphere
for
(
int
i
=
0
;
i
<
250
;
i
++
)
{
x
=
2
*
rnd
()
-
1
;
y
=
2
*
rnd
()
-
1
;
z
=
2
*
rnd
()
-
1
;
rsq
=
x
*
x
+
y
*
y
+
z
*
z
;
if
(
rsq
>
0.01
&&
rsq
<
1
)
{
r
=
1
/
sqrt
(
rsq
);
x
*=
r
;
y
*=
r
;
z
*=
r
;
v
.
plane
(
x
,
y
,
z
,
1
);
}
}
// Output the Voronoi cell to a file, in the gnuplot format
v
.
draw_gnuplot
(
0
,
0
,
0
,
"single_cell.gnu"
);
}
Event Timeline
Log In to Comment