Author: Brandon S Runnels (brunnels@uccs.edu), The University of Colorado Colorado Springs Date: 2020-09-28 Version: 003 ______________________________________________________________________________ * Summary of input variables * ______________________________________________________________________________ In this Test Driver (TD), the user specifies the following variables through stdin using a Jinja template file named 'pipeline.stdin.tpl' contained in the directory of a Test which uses this TD (the sequence in which they are specified must be the same as below, with 'modelname' being the first): modelname: str Contains the extended-id of a valid KIM Model. This can be specified by '@@' in pipeline.stdin.tpl. When the pipeline mates a Model with the Test, it will automatically replace '@< MODELNAME >@' with the Model's extended-ID. a1: list of int The three miller indices corresponding to the vector that is initially in the GB (along the x direction) a2: list of int The three miller indices corresponding to the vector that is initially normal to the GB (along the y direction) a3: list of int The three miller indices corresponding to the tilt direction (along the z direction) Note: a1, a2, a3 must be mutually orthogonal and must obey the right hand rule. Normality is not enforced. species: str The name of the material short_name: str The name of the crystal structure: should be fcc, bcc, or sc a, cohesive_energy: list of float The lattice constant given in meters and the cohesive energy given in Joules. mass: float The molar mass (in g/mol) of the element specified by 'element', e.g. 39.948 for Argon. theta_min: float The initial tilt angle (in degrees) theta_max: float The final tilt angle (in degrees) max_denominator: int The maximum width (in number of latice spacings) of a repeating unit cell. The choice of this variable determines the number of GB orientations that will be considered. a_curve, cohesive_energy_curve, list of float The cohesive energy in Joules specified at a range of non equilibrium lattice spacings defined in a_curve, used to compute the crossover point where the cohesive energy is higher than the isolated atom energy, which sets the cutoff distance below which overlapping atoms are deleted. x_repeat: int Number of repeating cells in the x direction. This indicates the number of repeats of the *entire supercell* used to construct the GB that should be made along the x direction, rather than indicating a multiple of the conventional unit cell of the crystal. z_repeat: int Number of repeating cells in the z direction. This indicates the number of repeats of the *entire supercell* used to construct the GB that should be made along the z direction, rather than indicating a multiple of the conventional unit cell of the crystal. min_cell_height: int This parameter is used to enforce a minimum on the height of the entire supercell along the y direction (perpendicular to the grain boundary). Both the upper grain and the lower grain must each be at least `min_cell_height` times the conventional lattice constant of the crystal. offset_grid_frac: float Once both grains are constructed, a grid search over the different translations of one grain relative to the other parallel to the plane of the grain boundary is performed. A static minimization of the atomic positions is performed for each two-dimensional offset vector corresponding to a point on the grid. This grid is square, and this parameter defines the edge length of the squares of the grid, i.e. it is the distance between any given grid point and its four nearest neighboring grid points. Note that this parameter is expressed as a fraction of the lattice parameter; a reasonable value in most cases is ~0.25.