!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!! !!!!! !!!!! VERIFICATION CHECK: vc-unit-conversion !!!!! !!!!! !!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Description: This verification check ensures that a model can properly convert units of length and energy. Working in one unit system, a random cluster of atoms is generated based on the smallest cutoff of the model such that the energy and/or forces (depending on what the model actually reports) are sizeable. Next, the model is reinitialized with a different set of registered units. The coordinates of the atoms in the cluster are rescaled to correspond to the new length units and the energy and/or forces are requested from the model once again. The energy and/or force returned by the model are then compared to a manual conversion of those originally returned (in the first set of units). Author: Daniel S. Karls Checking if model properly converts its cutoffs from Angstrom to Bohr SUCCESS: Absolute difference in smallest cutoff is 8.881784197001252e-16 Bohr, which is below tolerance 1e-06. Creating Model object with Angstrom and eV as simulator registered units ------------------------------------------------------------------------------------------------------------------------ Results for KIM Model : EAM_Dynamo_LiSiegelAdams_2003_Ta__MO_103054252769_005 Supported species : Ta Model computes energy : True Model computes forces : True Model native length unit : A Model native energy unit : eV Influence distance : 3.983711857550131 Angstroms Model cutoffs : [3.98371186] Angstroms Smallest model cutoff : 3.983711857550131 Angstroms Parameters for random cluster generation Random seed: 11 Min. distance between atoms (dmin) : 3.9837118575501312e-01 Angstroms ------------------------------------------------------------------------------------------------------------------------ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ STEP I: Cluster generation Attempting to find a species supported by the Model for which a random cluster can be generated that has significant energy and/or forces (depending on what the Model is able to compute). We construct the cluster by first placing a single atom at the origin and then generating additional atom positions that fall within a distance 'rball' of the origin; no atoms are allowed to fall within a distance of 'dmin' of one another. Note that 'rball' is chosen to be 0.9 * the smallest cutoff reported by the Model in Angstroms. In the event that the Model's native length unit is not Angstroms and the cutoffs it reports are improperly converted to Angstroms, it's possible that the cluster generated may actually be far too large for atomic interactions to occur. Accordingly, if the energy and/or forces are not sizable using the initial value of 'rball', we regenerate the cluster positions iteratively using smaller and smaller values of 'rball' (while keeping 'dmin' fixed); if the energy and/or forces still aren't sizeable when generating a cluster using rball = 0.2 * the smallest cutoff reported by the Model, that species is skipped and the process is repeated for the next species. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Creating random cluster of 5 Ta atoms with a diameter 3.585341 Angstroms and a minimum separation of 0.398371 Angstroms between all atoms Cluster positions (Angstroms): [[-3.1436800663358877e+00 9.6972713780418662e-01 3.9612472811761390e-01] [-2.0568623369846866e+00 4.5095016249052550e-01 3.3027045634448284e-02] [ 9.0106208020809264e-01 2.0700995758245324e+00 5.3787610277842172e-02] [ 1.6946699192251016e-01 -6.1225346283751392e-01 -8.8302248144691264e-01] [ 1.6437765740463854e+00 1.0529130024497755e+00 1.5396846541093832e+00]] Calling Model compute... ERROR: Unable to perform verification check. Message = the model does not provide an Extension routine! or the model's Extension routine returns error!