Skip to main content

OVITO Python modifier to generate bulk crystal structures with target Warren-Cowley parameters.

Project description

Atomistic Reverse Monte-Carlo

PyPI Version PyPI Downloads

OVITO Python modifier to generate bulk crystal structures with target Warren-Cowley parameters.

Usage

Here's an example on how to use the code to create the fcc_wc.dump file which has Warren-Cowley parameters that falls within a 1% difference of the targeted ones:

from ovito.io import export_file, import_file

from AtomisticReverseMonteCarlo import AtomisticReverseMonteCarlo

mod = AtomisticReverseMonteCarlo(
    nneigh=12,                                                          # number of neighbors to compute WC parameters (12 1NN in fcc)
    T=1e-9,                                                             # rMC temperature
    target_wc=[                                                         # wc target 1-pij/cj
        [0.32719603, -0.19925471, -0.12794131],
        [-0.19925471, 0.06350427, 0.13575045],
        [-0.12794131, 0.13575045, -0.00762235],
    ],
    tol_percent_diff=[                                                  # max percent tolerence allowed before stopping
        [1, 1, 1],
        [1, 1, 1],
        [1, 1, 1],
    ],                          
    save_rate=1000,                                                    # save rate
    seed=123,
    max_iter=None,                                                     # infinity number of iterations
)

# Load the intial snapshot 
pipeline = import_file("fcc_random.dump")
pipeline.modifiers.append(mod)
data = pipeline.compute()

# Load data of the last trajectory
data = pipeline.compute(-1)
print(f'Target Warren-Cowley parameters: \n {data.attributes["Target Warren-Cowley parameters"]}')
print(f'Warren-Cowley parameters: \n {data.attributes["Warren-Cowley parameters"]}')
print(f'Warren-Cowley Percent error: \n {data.attributes["Warren-Cowley percent error"]}')

export_file(
    data,
    "fcc_wc.dump",
    "lammps/dump",
    columns=[
        "Particle Identifier",
        "Particle Type",
        "Position.X",
        "Position.Y",
        "Position.Z",
    ],
)

The script can be found in the examples directory.

Installation

For a standalone Python package or Conda environment, please use:

pip install --user AtomisticReverseMonteCarlo

For OVITO PRO built-in Python interpreter, please use:

ovitos -m pip install --user AtomisticReverseMonteCarlo

If you want to install the lastest git commit, please replace AtomisticReverseMonteCarlo with git+https://github.com/killiansheriff/AtomisticReverseMonteCarlo.

Contact

If any questions, feel free to contact me (ksheriff at mit dot edu).

References & Citing

If you use this repository in your work, please cite bibtex entry to follow.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

AtomisticReverseMonteCarlo-0.0.3.tar.gz (5.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

AtomisticReverseMonteCarlo-0.0.3-py3-none-any.whl (6.2 kB view details)

Uploaded Python 3

File details

Details for the file AtomisticReverseMonteCarlo-0.0.3.tar.gz.

File metadata

File hashes

Hashes for AtomisticReverseMonteCarlo-0.0.3.tar.gz
Algorithm Hash digest
SHA256 8d9d78f50b673e9756b3c5d87db98685c2325066175893810cdec11acb2383dd
MD5 44e0cff48a271e955f1209c285ca9c6e
BLAKE2b-256 b2d11589b29d23ede4732e848e6b69da4354ace19fe7d289b027efcb4be9f4ed

See more details on using hashes here.

File details

Details for the file AtomisticReverseMonteCarlo-0.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for AtomisticReverseMonteCarlo-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 7f03c8e058c89c50fe61df8fd0a15fa8398be631b5932a1e5eaa8ade6cb7cb10
MD5 afbd192e6819e55358621cdcee0371d7
BLAKE2b-256 8744d9ebd37fb1d82e47415bc9293813a123b88bb5d244adf68b10e51298a808

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page