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
Hashes for AtomisticReverseMonteCarlo-0.0.3.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8d9d78f50b673e9756b3c5d87db98685c2325066175893810cdec11acb2383dd |
|
MD5 | 44e0cff48a271e955f1209c285ca9c6e |
|
BLAKE2b-256 | b2d11589b29d23ede4732e848e6b69da4354ace19fe7d289b027efcb4be9f4ed |
Hashes for AtomisticReverseMonteCarlo-0.0.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7f03c8e058c89c50fe61df8fd0a15fa8398be631b5932a1e5eaa8ade6cb7cb10 |
|
MD5 | afbd192e6819e55358621cdcee0371d7 |
|
BLAKE2b-256 | 8744d9ebd37fb1d82e47415bc9293813a123b88bb5d244adf68b10e51298a808 |