Project Description: This project aims to develop a framework for predicting the assembly behavior for entropically driven self-assembly of hard polyhedra. Briefly, we first develop a psuedoparticle (pP) ansatz that facilitates the quantification of emergent directional attractions between hard polyhedra upon crowding. We then employ pP to quantitatively map out regions of interactions between neighboring polyhedra and develop a set of eigenvalue solvers to determine configurations that maximizes interactions between polyhedra. These calculations are subsequently extended to enable the input of test crystal in order to compute the excess free energy of formation of polyhedra occupying lattice sites of differing crystal structures, thereby facilitating the determination of the most thermodynamically stable lattice. Here, we included sample scripts for both lattice predictions as well as MD simulations of pP that verifies the presence of "shape" and "bonding orbitals" as predicted by theory. Lattice energy calculations are written in MATLAB and MD simulations employ the usage of the HOOMD-Blue simulation engine. Sample data outputs are provided for a diamond lattice (lattice energy) and singe/binary NP orbital formations (MD simulations). Link to paper describing the theory/simulations: Vo, T., & Glotzer, S. C. (2021). Microscopic Theory of Entropic Bonding for Colloidal Crystal Prediction. ArXiv:2107.02081 [Cond-Mat]. http://arxiv.org/abs/2107.02081 Short description of files: *All energy calculations codes are ".m" files that can be run in either matlab or octave environments* *All simulation scripts are for use with HOOMD-Blue v 2.9* File: AIChE_Annual_Meeting_11_16_2020.pptx: AIChE conference presentation of theory Folder: PP_sims_signac - signac project folder with JSON files describing PP simulation parameters Folder: entropic_bond_signac - signac project folder with JSON files describing entropic bond calculation parameters Folder: energy_calculator Subfolder: lattice_files all relevant lattices tested for shapes studied organized by shape name Order of columns: x y z quaternion (q1, q2, q3, q4) Subfolder: shape_files all vertices of shapes used in calculations (tetrahedron varies truncation so that is organized into its own subfolder) Order of columns: x y z Subfolder: polyhedron_functions basis functions for shape manipulations, add to path before running Files: calc_rscale.m: compute relative scaling distances between shapes gen_kernel_evaluator.m: compute shape kernel for use in calculations parameterize_shape.m: working function to generate shape grid for use in gen_kenel_evaluator sample_diamond_energy.m: code that computes sample entropic bond energy change name of lattice_type and pts_shape where indicated in code to switch testing for different shapes/lattices cubic_wavefunction.txt: sample output of wavefunction for cubic diamond hexagonal_wavefunction.txt: sample output of wavefunction for hexagonal diamond trunc_tetra.txt: shape vertices input for calculations cubicdiamond.txt: cubic diamond lattice coordinate inputs for calculations hexagonaldiamond.txt: hexagonal diamond lattice coordinate inputs for calculations Folder: PP_simulations Subfolder: simulation_codes sample_sims_unary.py: HOOMD-Blue script for single NP within sea of PP for orbital visualization sample_sims_binary.py: HOOMD-Blue script for two NP within sea of PP for orbital visualization Subfolder: sample_results Folders cube: sample result for single cube NP prism6: sample result for single hexagonal prism NP tetrahedron: sample result for single tetrahedron NP dodecahedron: sample result for single dodecahedron NP cube_binary: sample result for binary cube NP prism6_binary: sample result for binary hexagonal prism NP tetrahedron_binary: sample result for binary tetrahedron NP dodecahedron_binary: sample result for binary dodecahedron NP Files: Tetrahedronorbital_full.txt: theory orbital output for tetrahedron Order of columns: x, y, z, 1st orbital value, 2nd orbital value, 3rd orbital value, 4th orbital value Cubeorbital_full.txt: theory orbital output for cube Order of columns: x, y, z, 1st orbital value, 2nd orbital value, 3rd orbital value, 4th orbital value Dodecahedronorbital_full.txt: theory orbital output for dodecahedron Order of columns: x, y, z, 1st orbital value, 2nd orbital value, 3rd orbital value, 4th orbital value Prism6orbital_full.txt: theory orbital output for hexagonal prism Order of columns: x, y, z, 1st orbital value, 2nd orbital value, 3rd orbital value, 4th orbital value