Polycrystal Volume Mesher
This Python 3 code orchestrates the volume meshing of a microstructure output from DREAM.3D. The code simply reads in binary STLs output by DREAM.3D, calls gmsh to volume mesh them, stitches the individual volume meshes together into a single conformal mesh, and outputs an ABAQUS .inp file ready for processing in ABAQUS CAE or (with the help of translators) other platforms. Please read the comments at the top of the code for usage instructions. The user need only modify three variables in the program: working_directory, gmsh_executable, and stl_prefix.
Virion to Shell
This Python 3 code reconstructs a virus into a geometric model. In essence, it processes a VIPER Database (.vdb) file to capture the geometric features of the virion membrane. A grid-based description of the membrane is output into a .ph file for surface meshing in DREAM.3D. In short, the code processes all atoms in a .vdb file, fits a three-dimensional grid around these atoms, and maps densities onto the grid points. The closer a grid point is to a cluster of atoms, the higher its density will be. Here, a grid point’s density is calculated using a Gaussian KDE. Based on a user-defined density threshold, grid points are categorized either as solid or vacuous space. This routine was inspired by the density-based reconstruction approach presented in this paper. The user need only modify the variables working_directory, vdb_file_name, ph_file_name, density_threshold, and grid_resolution.