polymaker Documentation Release 1.0.0 Tymofiy Lukinov December 18, 2014
Contents 1 General information 3 1.1 Program description........................................... 3 1.2 Examples................................................. 3 1.3 Authors.................................................. 6 2 Tutorial 7 2.1 Options.................................................. 7 2.2 Tips.................................................... 7 3 Download 9 3.1 Sources.................................................. 9 3.2 Binary.................................................. 9 4 Indices and tables 11 i
ii
polymaker Documentation, Release 1.0.0 Contents: Contents 1
polymaker Documentation, Release 1.0.0 2 Contents
CHAPTER 1 General information 1.1 Program description PolyMaker is a written in C++ multithread utility designed to make the input files for molecular dynamics (MD). It creates single atomic polycrystal sample with a given atomic concentration, taking into account the periodic boundary conditions (PBC). Currently implemented some simple lattices, such as fcc, bcc and hcp. The program designed in the way that any type of simple crystalline lattice is possible to implement. Utility supported input formats for DL_POLY, LAMMPS together with XYZ file format. It is available to produce scaled samples with fixed grain structure, variating the number of atoms per grain. 1.2 Examples Example of 3 grains of the same structure in the box of different sizes. 3
polymaker Documentation, Release 1.0.0 4 Chapter 1. General information
polymaker Documentation, Release 1.0.0 Example of 20 grains per box. 1.2. Examples 5
polymaker Documentation, Release 1.0.0 1.3 Authors Authors Tymofiy Lukinov 6 Chapter 1. General information
CHAPTER 2 Tutorial 2.1 Options --help -v, --vol arg Produce help message Volume per atom in cubic Angstroms. This is a mandatory parameter. -g, --grains arg Number of grains to generate. The default value is 1. -a, --width arg Box side a, in Angstroms. This ia a mandatory parameter. If sizes of b and c are not given, they will be set to the value of a. -b, --height arg Box side b. If omitted, then equal to a. -c, --length arg Box side c. If omitted, then equal to a. -t, --type arg -e, --element arg -i, --input arg -o, --out arg -e, --element arg --init arg Lattice type to generate, currently available values are fcc, bcc, hcp. The atomic element sign. Default value is Xe. Input file with reduced coordinates of grains and grains rotational angles. The number of lines should be equal to the -g option. Output file type, values dlpoly, xyz, lammps. Element name, default value Xe. Reinitialize the random number generator. Available options Y/N. 2.2 Tips The next two commands will generate two configurational files for LAMMPS with the same grain structure, but different size and number of atoms. The first command will generate 100x100x100 A box with ~100 000 atoms, the second will generate 300x300x300 A box with ~2 700 000 atoms../polymaker -v 10 -g 10 -a 100 -t fcc -o lammps --init N./polymaker -v 10 -g 10 -a 300 -t fcc -o lammps --init N During every run PolyMaker writes generatd positions of grain centers and grain rotation angles to the GRAINS file. Such file can be used to initialize grains manually or reproduce the structure from previous run../polymaker -v 10 -g 10 -a 300 -t bcc -i GRAINS 7
polymaker Documentation, Release 1.0.0 The format of input file is: Num1 X Y Z angle1 angle2 angle3 Num2 X Y Z angle1 angle2 angle3 Num3 X Y Z angle1 angle2 angle3... Where Num is number of grain. X Y Z is grain s center coordinates in reduced units, vary from 0 to 1. Angle1 and angle2 are the Euler angles of the unit vector for <100> lattice direction and angle3 is the rotation of the lattice around this vectors. Angles vary from 0 to 2*Pi. The total number of lines must be the same as given by -n option. 8 Chapter 2. Tutorial
CHAPTER 3 Download 3.1 Sources 3.1.1 Building and installing from sources To get the latest sources by fetching from groject s git: git clone https://github.com/captaingizmo/polymaker.git *or* git clone git@github.com:captaingizmo/polymaker.git cd polymaker Or you can download the archive with sources. wget https://github.com/captaingizmo/polymaker/archive/master.zip unzip master.zip cd polymaker The standart GCC compiler is used to build the binary. Cmake will automaticly search for requireb libraries. mkdir build; cd build cmake.. make sudo make install The project uses Eigen3 and Boost.Program_options libraries. They can be downloaded from their project homes or installed from Linux distributions. For exemple in Ubuntu you can simply install them: sudo apt-get install libboost-program-options-dev libeigen3-dev 3.2 Binary 3.2.1 Installing from binary. Also available static binary for x64 Linux. For installing: wget http://polymaker.readthedocs.org/en/latest/_static/polymaker_1.0.0.deb dpkg -i PolyMaker-1.0.0.deb 9
polymaker Documentation, Release 1.0.0 10 Chapter 3. Download
CHAPTER 4 Indices and tables genindex modindex search 11