/lattice-type

calculate the ground-state energy of a solid metal to find whether the type of lattice is fcc, hcp or others

Primary LanguageRustApache License 2.0Apache-2.0

Lattice-type

Description

calculate the ground-state energy (typically, Lennard-Jones potential or exp-6 potential) to find the phase type of a solid

Input

  • the program receive the input parameters from a json file call "input.json" in the same dictory
# input.json
{
  "name":"Cu",  # name of the solid
  "epochs":1000, # max iter epochs of the calculation
  "potential_type":"LJ", # the energy among atoms
  "edge":8, # we only consider the energy between atoms that close enough (inside the circle which diameter = edge)
  "lattice_type":"fcc", # lattice type 
  "LJ_params":{ # input parameters when using Lennard-Jones potential
    "sigma": 1,
    "epsilon": 0.05
  },
  "exp6_params":{  # input parameters when using exp-6 potential
    "alpha":1,
    "A":1,
    "C":0.00002
  },
  "step":0.02, # the change step of lattice parameter a each step
  "periodic":7, # the copy of supercell in each axis
  "init_lattice_param": 0.2 # the lattice parameter a used in the begining of the calculation
}

Usage

  • Run the code, this will list the energy and lattice parameter of each epoch, and finally give the lowest energy of the calculation.
cargo run
  • Release a binary program
cargo build --release

Reference