OVITO Python modifier to generate bulk crystal structures with target Warren-Cowley parameters.
Project description
Atomistic Reverse Monte-Carlo
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file AtomisticReverseMonteCarlo-0.0.3.tar.gz
.
File metadata
- Download URL: AtomisticReverseMonteCarlo-0.0.3.tar.gz
- Upload date:
- Size: 5.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.17
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8d9d78f50b673e9756b3c5d87db98685c2325066175893810cdec11acb2383dd |
|
MD5 | 44e0cff48a271e955f1209c285ca9c6e |
|
BLAKE2b-256 | b2d11589b29d23ede4732e848e6b69da4354ace19fe7d289b027efcb4be9f4ed |
File details
Details for the file AtomisticReverseMonteCarlo-0.0.3-py3-none-any.whl
.
File metadata
- Download URL: AtomisticReverseMonteCarlo-0.0.3-py3-none-any.whl
- Upload date:
- Size: 6.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.17
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7f03c8e058c89c50fe61df8fd0a15fa8398be631b5932a1e5eaa8ade6cb7cb10 |
|
MD5 | afbd192e6819e55358621cdcee0371d7 |
|
BLAKE2b-256 | 8744d9ebd37fb1d82e47415bc9293813a123b88bb5d244adf68b10e51298a808 |