Silicon carbide nanoparticles

One may use this package to create initial structures for nanoparticle simulations. By simulating these particles forward in time using molecular simulation techniques, one may investigate phenomena such as faceting of nanoparticles.

Creating input structures like in the paper linked above can be done by the following scripts, resulting in the systems pictured below each script:

from molecular_builder import create_bulk_crystal, carve_geometry, write
from molecular_builder.geometry import SphereGeometry

atoms = create_bulk_crystal("silicon_carbide_3c", [100, 100, 100])

geometry = SphereGeometry((50,50,50), 40)

carve_geometry(atoms, geometry, side="out")

write(atoms, "sphere.data")
write(atoms, "sphere.png", camera_dir=[3, 1, -1])
../../_images/sphere.png
from molecular_builder import create_bulk_crystal, carve_geometry, write
from molecular_builder.geometry import CylinderGeometry

atoms = create_bulk_crystal("silicon_carbide_3c", [100, 100, 100])

geometry = CylinderGeometry([50,50,50], 20, 100, orientation=[1,0,1])

carve_geometry(atoms, geometry, side="out")

write(atoms, "cylinder.data")
write(atoms, "cylinder.png", camera_dir=[3, 2, -1])
../../_images/cylinder.png
from molecular_builder import create_bulk_crystal, carve_geometry, write
from molecular_builder.geometry import BoxGeometry

atoms = create_bulk_crystal("silicon_carbide_3c", [100, 100, 100])

geometry = BoxGeometry([50,50,50], [70,70,70])

carve_geometry(atoms, geometry, side="out")

write(atoms, "box.data")
write(atoms, "box.png", camera_dir=[3, 2, -1])
../../_images/box.png
from molecular_builder import create_bulk_crystal, carve_geometry, write
from molecular_builder.geometry import OctahedronGeometry

atoms = create_bulk_crystal("silicon_carbide_3c", [100, 100, 100])

geometry = OctahedronGeometry(30, (50, 50, 50))

carve_geometry(atoms, geometry, side="out")

write(atoms, "octahedron.data")
write(atoms, "octahedron.png", camera_dir=[3, 1, -1])
../../_images/octahedron.png
from molecular_builder import create_bulk_crystal, carve_geometry, write
from molecular_builder.geometry import DodecahedronGeometry

atoms = create_bulk_crystal("silicon_carbide_3c", [100, 100, 100])

geometry = DodecahedronGeometry(30, (50, 50, 50))

carve_geometry(atoms, geometry, side="out")

write(atoms, "dodecahedron.data")
write(atoms, "dodecahedron.png", camera_dir=[3, 1, -1])
../../_images/dodecahedron.png