MCPcopy Index your code
hub / github.com/Jonsnow-willow/GPUMD-Wizard

github.com/Jonsnow-willow/GPUMD-Wizard @v1.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.0 ↗ · + Follow
113 symbols 356 edges 10 files 3 documented · 3%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

G-Wizard

GPUMD-Wizard

Material structure processing software based on ASE (Atomic Simulation Environment) providing automation capabilities for calculating various properties of metals. Additionally, it aims to run and analyze molecular dynamics (MD) simulations using GPUMD.

Features

  • Based on the ASE package, MetalProperties-Automator supports different calculators such as calorine, DP, and LAMMPS.
  • Allows for automated batch calculations of metal properties.
  • Enables batch processing of files in the XYZ format.
  • Integrated with GPUMD for performing molecular dynamics simulations, such as irradiation damage.

Installation

Requirements

Package version
Python >= 3.8
ase >= 3.18.0
calorine >= 2.2.1
phonopy >= v2.22.0

By pip

$ pip install gpumd-wizard

### From Source

$ git clone --recursive https://github.com/Jonsnow-willow/GPUMD-Wizard.git

Add GPUMD-Wizard to your PYTHONPATH environment variable in your ~/.bashrc file.

$ export PYTHONPATH=<path-to-GPUMD-Wizard-package>:$PYTHONPATH

Usage

from wizard.atoms import SymbolInfo, MaterialCalculator
from calorine.calculators import CPUNEP

def main():
    # Create calculator object 
    calc = CPUNEP('nep.txt')

    # Set properties-related parameters
    millers = [(1,1,0),(0,0,1),(1,1,1),(1,1,2)]
    sia_vectors = [(1/2,1/2,1/2),(1,0,0),(1,1,0)]
    nths = [1,2,3]

    # Generate bulk atoms and calculate properties
    symbol_info = SymbolInfo('W', 'bcc', 3.185)    
    atoms = symbol_info.create_bulk_atoms()
    material_calculator = MaterialCalculator(atoms, calc, symbol_info.symbol, symbol_info.structure)
    material_calculator.lattice_constant()
    material_calculator.elastic_constant()
    material_calculator.eos_curve()
    material_calculator.phonon_dispersion()
    material_calculator.formation_energy_vacancy()
    material_calculator.migration_energy_vacancy()
    for nth in nths:
        material_calculator.formation_energy_divacancies(nth)
    for miller in millers:
        material_calculator.formation_energy_surface(miller)
    material_calculator.stacking_fault(a = (1,1,-1), b = (1,-1,0), miller = [1,1,2], distance = 3.185/2)
    material_calculator.stacking_fault(a = (1,1,-1), b = (1,1,2), miller = [1,-1,0], distance = 3.185/2)
    material_calculator.pure_bcc_metal_screw_dipole_move()
    material_calculator.pure_bcc_metal_screw_one_move()
    for vector in sia_vectors:
        material_calculator.formation_energy_sia(vector)
    material_calculator.formation_energy_interstitial_atom('W',[0,0,1/2],'octahedral')
    material_calculator.formation_energy_interstitial_atom('W',[1/4,0,1/2],'tetrahedral')

if __name__ == "__main__":
    main()

Authors:

Name contact
Jiahui Liu jiahui.liu.willow@gmail.com

Citations

Reference cite for what?
[1-2] for any work that used GPUMD
[3] NEP + ZBL
[4] UNEP

References

[1] Zheyong Fan, Wei Chen, Ville Vierimaa, and Ari Harju. Efficient molecular dynamics simulations with many-body potentials on graphics processing units, Computer Physics Communications 218, 10 (2017).

[2] Zheyong Fan, Yanzhou Wang, Penghua Ying, Keke Song, Junjie Wang, Yong Wang, Zezhu Zeng, Ke Xu, Eric Lindgren, J. Magnus Rahm, Alexander J. Gabourie, Jiahui Liu, Haikuan Dong, Jianyang Wu, Yue Chen, Zheng Zhong, Jian Sun, Paul Erhart, Yanjing Su, Tapio Ala-Nissila, GPUMD: A package for constructing accurate machine-learned potentials and performing highly efficient atomistic simulations, The Journal of Chemical Physics 157, 114801 (2022).

[3] Jiahui Liu, Jesper Byggmästar, Zheyong Fan, Ping Qian, and Yanjing Su, Large-scale machine-learning molecular dynamics simulation of primary radiation damage in tungsten, Phys. Rev. B 108, 054312 (2023).

[4] Keke Song, Rui Zhao, Jiahui Liu, Yanzhou Wang, Eric Lindgren, Yong Wang, Shunda Chen, Ke Xu, Ting Liang, Penghua Ying, Nan Xu, Zhiqiang Zhao, Jiuyang Shi, Junjie Wang, Shuang Lyu, Zezhu Zeng, Shirong Liang, Haikuan Dong, Ligang Sun, Yue Chen, Zhuhua Zhang, Wanlin Guo, Ping Qian, Jian Sun, Paul Erhart, Tapio Ala-Nissila, Yanjing Su, Zheyong Fan, General-purpose machine-learned potential for 16 elemental metals and their alloys arXiv:2311.04732 [cond-mat.mtrl-sci]

Core symbols most depended-on inside this repo

relax
called by 20
wizard/io.py
get_potential_energy
called by 19
wizard/atoms.py
dump_xyz
called by 17
wizard/io.py
create_bulk_atoms
called by 4
wizard/atoms.py
gpumd
called by 4
wizard/atoms.py
formation_energy_interstitial_atom
called by 4
wizard/calculator.py
stacking_fault
called by 4
wizard/calculator.py
get_nth_nearest_neighbor_index
called by 3
wizard/io.py

Shape

Method 78
Function 28
Class 7

Languages

Python100%

Modules by API surface

wizard/atoms.py27 symbols
wizard/io.py23 symbols
wizard/frames.py23 symbols
wizard/calculator.py18 symbols
wizard/molecular_dynamics.py9 symbols
wizard/phono.py5 symbols
wizard/generator.py5 symbols
Repository/Wnep3/calc_properties.py1 symbols
Repository/Wnep2/calc_properties.py1 symbols
Repository/EAM_Zhou/calc_properties.py1 symbols

For agents

$ claude mcp add GPUMD-Wizard \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page