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.
Metadata
Release files for AtomisticReverseMonteCarlo 0.0.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| AtomisticReverseMonteCarlo-0.0.3.tar.gz | 5.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| AtomisticReverseMonteCarlo-0.0.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 12.1 kB
Release files / AtomisticReverseMonteCarlo-0.0.3.tar.gz
| Download URL | AtomisticReverseMonteCarlo-0.0.3.tar.gz |
|---|---|
| Size | 5.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8d9d78f50b673e9756b3c5d87db98685c2325066175893810cdec11acb2383dd
|
|
BLAKE2b-256 checksum How to use checksums |
b2d11589b29d23ede4732e848e6b69da4354ace19fe7d289b027efcb4be9f4ed
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.17
|
Release files / AtomisticReverseMonteCarlo-0.0.3-py3-none-any.whl
| Download URL | AtomisticReverseMonteCarlo-0.0.3-py3-none-any.whl |
|---|---|
| Size | 6.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7f03c8e058c89c50fe61df8fd0a15fa8398be631b5932a1e5eaa8ade6cb7cb10
|
|
BLAKE2b-256 checksum How to use checksums |
8744d9ebd37fb1d82e47415bc9293813a123b88bb5d244adf68b10e51298a808
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.17
|