kimvv


Namekimvv JSON
Version 0.1.2 PyPI version JSON
download
home_pageNone
SummaryOpenKIM material property computations for arbitrary crystal structures as Python classes
upload_time2025-07-25 22:13:02
maintainerNone
docs_urlNone
authorilia Nikiforov <nikif002@umn.edu>, Eric Fuemmeler <efuemmel@umn.edu>, Ellad Tadmor
requires_python>=3.8
licenseNone
keywords interatomic potential openkim crystal genome
VCS
bugtrack_url
requirements kim_edn kim_property
Travis-CI No Travis.
coveralls test coverage No coveralls.
            KIM Validation and Verification
===============================

|Testing| |PyPI|

.. |Testing| image:: https://github.com/openkim/kimvv/actions/workflows/test.yml/badge.svg
   :target: https://github.com/openkim/kimvv/actions/workflows/test.yml
.. |PyPI| image:: https://img.shields.io/pypi/v/kimvv.svg
   :target: https://pypi.org/project/kimvv/

This package allows the user to run any `OpenKIM <https://openkim.org/>`_ Test Drivers written using the `kim-tools <https://kim-tools.readthedocs.io>`_ package locally. A "Test Driver" is
a computational protocol that reports one or more material properties using the `KIM Properties Framework <https://openkim.org/doc/schema/properties-framework/>`_

List of included Test Drivers:

  * EquilibriumCrystalStructure
  * ElasticConstantsCrystal

Currently, all Test Drivers require the AFLOW software to be installed and in your PATH. See https://kim-tools.readthedocs.io/en/stable/#doc-standalone-installation for installation info.

Basic usage example:
--------------------

.. code-block:: python

    from kimvv import EquilibriumCrystalStructure, ElasticConstantsCrystal
    from ase.build import bulk
    from json import dumps

    # If a string is passed when instantiating the class, it is assumed to be a KIM model name
    relax = EquilibriumCrystalStructure('LennardJones_Ar')

    # Every Test Driver is able to take an Atoms object
    relax(bulk('Ar','fcc',5.0))

    # Access the list of dictionaries containing the material properties reported by the Test Driver
    print(dumps(relax.property_instances,indent=2))

    # All Test Drivers besides EquilibriumCrystalStructure expect to be
    # passed a relaxed structure. This can be either a relaxed Atoms
    # object, or a results dictionary from an EquilibriumCrystalStructure
    # run. Any element of the list returned by EquilibriumCrystalStructure
    # will do, as they all contain a description of the crystal structure
    elastic = ElasticConstantsCrystal('LennardJones_Ar')
    elastic(relax.property_instances[0])
    print(dumps(elastic.property_instances,indent=2))

    # You can also use a generic ASE calculator (as long as the Test Driver only uses ASE for calculations,
    # i.e. this will not work for Test Drivers that do MD using LAMMPS)
    # In this case you don't even need kimpy or the KIM API installed.
    from ase.calculators.lj import LennardJones
    relax = EquilibriumCrystalStructure(LennardJones(sigma=3.4,epsilon=0.0104,rc=8.15))
    relax(bulk('Ar','fcc',5.0))


Usage example 2
---------------
Querying for all DFT-relaxed structures for a given combination of elements in OpenKIM and relaxing them with your potential

.. code-block:: python

    from kimvv import EquilibriumCrystalStructure
    from kim_tools import (
      query_crystal_structures,
      get_deduplicated_property_instances
    )
    from json import dumps
    from ase.calculators.lj import LennardJones

    # Query for all relaxed Argon reference data in OpenKIM
    raw_structs = query_crystal_structures(stoichiometric_species=["Ar"])

    # Deduplicate them
    unique_structs = get_deduplicated_property_instances(raw_structs, allow_rotation=True)

    # Instantiate the Driver with your model
    relax = EquilibriumCrystalStructure(LennardJones(sigma=3.4,epsilon=0.0104,rc=8.15))

    # Run the Driver with each structure. As this is run, the driver internally accumulates
    # Property Instances
    for struct in unique_structs:
      relax(struct)

    # Access the results as a dictionary. For each structure, there are 3 properties
    # (structure, binding energy, density)
    print(dumps(relax.property_instances,indent=2))

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "kimvv",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "ilia Nikiforov <nikif002@umn.edu>",
    "keywords": "interatomic potential, openkim, crystal genome",
    "author": "ilia Nikiforov <nikif002@umn.edu>, Eric Fuemmeler <efuemmel@umn.edu>, Ellad Tadmor",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/a9/da/8a2b53d9c04ac89f574152e5d30595ef115d8f566d60de8e92dae4e09263/kimvv-0.1.2.tar.gz",
    "platform": null,
    "description": "KIM Validation and Verification\n===============================\n\n|Testing| |PyPI|\n\n.. |Testing| image:: https://github.com/openkim/kimvv/actions/workflows/test.yml/badge.svg\n   :target: https://github.com/openkim/kimvv/actions/workflows/test.yml\n.. |PyPI| image:: https://img.shields.io/pypi/v/kimvv.svg\n   :target: https://pypi.org/project/kimvv/\n\nThis package allows the user to run any `OpenKIM <https://openkim.org/>`_ Test Drivers written using the `kim-tools <https://kim-tools.readthedocs.io>`_ package locally. A \"Test Driver\" is\na computational protocol that reports one or more material properties using the `KIM Properties Framework <https://openkim.org/doc/schema/properties-framework/>`_\n\nList of included Test Drivers:\n\n  * EquilibriumCrystalStructure\n  * ElasticConstantsCrystal\n\nCurrently, all Test Drivers require the AFLOW software to be installed and in your PATH. See https://kim-tools.readthedocs.io/en/stable/#doc-standalone-installation for installation info.\n\nBasic usage example:\n--------------------\n\n.. code-block:: python\n\n    from kimvv import EquilibriumCrystalStructure, ElasticConstantsCrystal\n    from ase.build import bulk\n    from json import dumps\n\n    # If a string is passed when instantiating the class, it is assumed to be a KIM model name\n    relax = EquilibriumCrystalStructure('LennardJones_Ar')\n\n    # Every Test Driver is able to take an Atoms object\n    relax(bulk('Ar','fcc',5.0))\n\n    # Access the list of dictionaries containing the material properties reported by the Test Driver\n    print(dumps(relax.property_instances,indent=2))\n\n    # All Test Drivers besides EquilibriumCrystalStructure expect to be\n    # passed a relaxed structure. This can be either a relaxed Atoms\n    # object, or a results dictionary from an EquilibriumCrystalStructure\n    # run. Any element of the list returned by EquilibriumCrystalStructure\n    # will do, as they all contain a description of the crystal structure\n    elastic = ElasticConstantsCrystal('LennardJones_Ar')\n    elastic(relax.property_instances[0])\n    print(dumps(elastic.property_instances,indent=2))\n\n    # You can also use a generic ASE calculator (as long as the Test Driver only uses ASE for calculations,\n    # i.e. this will not work for Test Drivers that do MD using LAMMPS)\n    # In this case you don't even need kimpy or the KIM API installed.\n    from ase.calculators.lj import LennardJones\n    relax = EquilibriumCrystalStructure(LennardJones(sigma=3.4,epsilon=0.0104,rc=8.15))\n    relax(bulk('Ar','fcc',5.0))\n\n\nUsage example 2\n---------------\nQuerying for all DFT-relaxed structures for a given combination of elements in OpenKIM and relaxing them with your potential\n\n.. code-block:: python\n\n    from kimvv import EquilibriumCrystalStructure\n    from kim_tools import (\n      query_crystal_structures,\n      get_deduplicated_property_instances\n    )\n    from json import dumps\n    from ase.calculators.lj import LennardJones\n\n    # Query for all relaxed Argon reference data in OpenKIM\n    raw_structs = query_crystal_structures(stoichiometric_species=[\"Ar\"])\n\n    # Deduplicate them\n    unique_structs = get_deduplicated_property_instances(raw_structs, allow_rotation=True)\n\n    # Instantiate the Driver with your model\n    relax = EquilibriumCrystalStructure(LennardJones(sigma=3.4,epsilon=0.0104,rc=8.15))\n\n    # Run the Driver with each structure. As this is run, the driver internally accumulates\n    # Property Instances\n    for struct in unique_structs:\n      relax(struct)\n\n    # Access the results as a dictionary. For each structure, there are 3 properties\n    # (structure, binding energy, density)\n    print(dumps(relax.property_instances,indent=2))\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "OpenKIM material property computations for arbitrary crystal structures as Python classes",
    "version": "0.1.2",
    "project_urls": {
        "Homepage": "https://github.com/openkim/kimvv",
        "Issues": "https://github.com/openkim/kimvv/issues"
    },
    "split_keywords": [
        "interatomic potential",
        " openkim",
        " crystal genome"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b274f973617459b63cd568cb850ad9b0f9fda929c9a6d8d5be477de20e0c44bf",
                "md5": "cb5eb09c57e2a89a62f91d95119686d8",
                "sha256": "9761439a44da4b65a1265d035f006ef8337e86e6a384134e24024f0f1f90cfb2"
            },
            "downloads": -1,
            "filename": "kimvv-0.1.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "cb5eb09c57e2a89a62f91d95119686d8",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 32344,
            "upload_time": "2025-07-25T22:13:00",
            "upload_time_iso_8601": "2025-07-25T22:13:00.788206Z",
            "url": "https://files.pythonhosted.org/packages/b2/74/f973617459b63cd568cb850ad9b0f9fda929c9a6d8d5be477de20e0c44bf/kimvv-0.1.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a9da8a2b53d9c04ac89f574152e5d30595ef115d8f566d60de8e92dae4e09263",
                "md5": "3a9d0251d3304bcfc25c7ac266507b92",
                "sha256": "01b1fe780319c9462211c1d8e58437c5f12f18ab6dddfd234922caa9ed61a422"
            },
            "downloads": -1,
            "filename": "kimvv-0.1.2.tar.gz",
            "has_sig": false,
            "md5_digest": "3a9d0251d3304bcfc25c7ac266507b92",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 31438,
            "upload_time": "2025-07-25T22:13:02",
            "upload_time_iso_8601": "2025-07-25T22:13:02.158632Z",
            "url": "https://files.pythonhosted.org/packages/a9/da/8a2b53d9c04ac89f574152e5d30595ef115d8f566d60de8e92dae4e09263/kimvv-0.1.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-25 22:13:02",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "openkim",
    "github_project": "kimvv",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "kim_edn",
            "specs": []
        },
        {
            "name": "kim_property",
            "specs": [
                [
                    ">=",
                    "2.6.10"
                ]
            ]
        }
    ],
    "lcname": "kimvv"
}
        
Elapsed time: 0.69993s