Skip to content

tomt1664/spherextl

Repository files navigation

spherextl

Spherical crystallite polycrystal atomistic system constructor

C++ program to create atomistc system configurations for polycrystalline models of sintered granular materials

Spherical crystallites are randomly packed into a periodic simulation cell and then filled with a crystalline lattice. The lattice orientation can be completely random, or there can be a prefered orientation with a Gaussian spread determined by an anisotropy factor. Any number and spheres with any combination of radius and lattice vectors can be created, and there are options for padding and excuded separations. At the moment the lattice is set up to be the graphite structure, although any other crystal structure can be employed by simply modifying the unit cell definition (stored in the lattice array) which is defined in the Spheretype class constructor.

The program requires an input file (beads.dat) containing the required parameters.

For example:

4653
200.0  200.0  200.0
2
8  50.0 0.0 0.0 6.70 2.44 0.0
20 30.0 0.0 0.0 6.70 2.44 0.0
40 20.0 0.0 0.0 6.70 2.44 0.0

The first line specifies a seed for the random number generator. The second line specifies the x, y and z dimensions of the orthorhobic periodic cell. The third line specifies the number of types of spherical crystallites, and the number of following lines to define each one. Then follows a line for each type of sphere: the first number is the number of that type of sphere, the 2nd is the sphere radius, the 3rd the sphere padding, the 4th the excluded radius, the 5th the c lattice parameter for that sphere type, the 6th the a lattice parameter and the 7th the anisotropy factor. If this is non-zero, another 3 numbers are expected specifying the prefered orietation (as rotation angles around the x,y and z axes).

The progam the output two files: spheres.out which lists the radius and coordinates of each placed sphere, and structure.xyz which is an xyz format file with all the atomic positions.

The program is unit agnostic (angles are input in degrees).

About

Spherical crystallite polycrystal atomistic system constructor

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published