Skip to content

stefanbringuier/NaivePolyCrys

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Naive Polycrystal Atomic Configuration Tool DOI License: GPL v3

Generate, naively, a polycrystalline sample using shortest Euclidean distance criteria (i.e., Voronoi diagram). The current version is capable of generating a LAMMPS configuration file given crystal types, number of grains, and box dimensions. Specifically, one can generate a polycrystalline sample that contains grains which are of a different crystal type (i.e., Si+Ge). This is useful for looking at multiphase microstructures.

The atomic simulation environment package (ASE) is used for generating the crystallites contained within a grain. The user run script (examples found in tests just needs to supply the dictionary name from materials.py to the '''Crystal''' class in crystal.py. To add new materials/crystals one just needs to provide a dictionary entry in materials.py based on the other entry templates. The information to add new materials can be found in repositories such as the materials project or AFLOW; in principal this could be done automatically by interfacing with those APIs but that would add another layer of dependencies.

This small code is essentially a rewrite of a script I used in graduate school. The idea is to generalize and marginally extend the capability.

Dependencies

Limitations

  • Periodic boundary conditions are not implemented so grain boundaries will always be present at box boundaries.
  • Only practical for small grains and simulation boxes.
  • Simulation box has to be orthorhombic.