Atomistic Analyzer for virtual diffraction pattern
Brief Introduction
AAVDP (Atomistic Analysis for Virtual Diffraction Pattern) is a robust and convenient command-line program for high-throughput simulation, analysis, and in situ visualization of virtual diffraction pattern for various atomic configurations. Its functionalities include the analyses of the X-ray diffraction (XRD), the neutron diffraction (NED), the kinematic electron diffraction (KED), and the dynamical electron diffraction (DED), the kinematic and dynamical Kikuchi diffractions (KKD and DKD), as well as the analyses of radial distribution function (RDF) and the static structure factor (SSF).
Features
- Easy-to-use and highly-extensible;
- Automatic feature for high throughput solution;
- Strong capability in simulating diffraction patterns for (non)crystalline materials;
- x-ray diffraction (XRD) analysis;
- neutron diffraction (NED) analysis;
- selected-area kinematic electron diffraction (KED) analysis;
- selected-area dynamical electron diffraction (DED) analysis;
- kinematic Kikuchi diffraction (KKD) analysis;
- dynamical Kikuchi diffraction (DKD) analysis;
- radial distribution function (RDF) analysis;
- static structure factor (SSF) analysis;
Syntax
AAVDP is written in C/C++ and designed to analyze dump data files from molecular dynamics (MD) simulations or
first-principles calculations, such as those generated by LAMMPS and VASP.
The general syntax for diffraction simulations, structural analyses, and other functionalities of AAVDP is as follows:
>>AAVDP <--mode> (inputfile) <-option> [value]
where --mode specifies the diffraction/analysis mode,
such as --xrd, --ned, --ked, --kkd, --ded, --kkd, --rdf and --ssf;
inputfile refers to the model file in LAMMPS or VASP format;
-option represents parameters required by the selected mode, and value specifies the corresponding value for the parameter.
For each diffraction mode, the -o option and its corresponding value,
outputfile, are required and set to default, e.g., ./AAVDP.xrd,
which will export diffraction data along with an automatic preview of the diffraction pattern, e.g., ./AAVDP.xrd.png.
The command syntaxes for various functionalities of AAVDP are listed below:
(1) For XRD analysis, the command syntax is shown below:
>>AAVDP --xrd [inputfile] -l [wavelength] -o [outputfile] … -scherrer -scherrer_d [grain_diameter] …
where --xrd simulates the diffraction of incident X-rays with a wavelength of λ interacting with the input model;
-scherrer activates a further simulation of the smearing of diffraction peaks caused by crystalline grains with a diameter of d.
(2) For NED analysis, the command syntax is shown below:
>> AAVDP --ned [inputfile] -l [wavelength] -o [outputfile] … -scherrer -scherrer_d [grain_diameter] …
where --ned simulates the diffraction of incident neutrons with a de Broglie wavelength of λ interacting with the input model;
-scherrer performs the same operation as in the --xrd command.
(3) For KED analysis, the command syntax is shown below:
>>AAVDP --ked [inputfile] -en [acceleration_voltage] -z [z1] [z2] [z3] -o [outputfile] -gauss -gauss_sig [standard_deviation] …
where --ked simulates the kinematic diffraction of incident electrons with an acceleration voltage of E,
along a specified z-axis interacting with the input model;
-gauss activates the smearing of diffraction spots using a Gaussian function with a standard deviation of σ.
(4) For KKD analysis, the command syntax is shown below:
>>AAVDP --kkd [inputfile] -en [acceleration_voltage] -z [z1] [z2] [z3] -o [outputfile] …
where --kkd simulates the kinematic Kikuchi diffraction of incident electrons with an acceleration voltage of E interacting with the input model.
The projection direction of the Kikuchi sphere is defined along a specified z-axis.
(5) For DED analysis, the command syntax is shown below:
>>AAVDP --ded [inputfile] -en [acceleration_voltage] -z [z1] [z2] [z3] -o [outputfile] … -gauss -gauss_sig [standard_deviation] …
where --ded simulates the dynamical diffraction of incident electrons with an acceleration voltage of E, along a specified z-axis,
interacting with the input model; -gauss performs the same operation as in the --ked command.
(6) For DKD analysis, the command syntax is shown below:
>>AAVDP --dkd [inputfile] -en [acceleration_voltage] -z [z1] [z2] [z3] -o [outputfile] …
where --dkd simulates the dynamical Kikuchi diffraction of incident electrons with an acceleration voltage of E interacting with the input model.
The projection direction of the Kikuchi sphere is defined along a specified z-axis.
(7) For RDF analysis, the command syntax is shown below:
>>AAVDP --rdf [inputfile] -partial …
where --rdf generates the RDF profile, with -partial additionally generating partial RDFs.
(8) For SSF analysis, the command syntax is shown below:
>>AAVDP --ssf [inputfile] -partial … -rdf …
where --ssf generates the SSF profile, with -partial additionally generating partial SSFs;
-rdf activates the change of SSF calculation method, which requires the Fourier transformation of the RDF.
Updates
- Ver.1.0.0 is the currently released, also the newest version. No update history available.
License
License statement: The AAVDP is currently copyrighted and distributed free of charge for academic, scientific, and educational, and non-commercial users with our permission. Commercial users may also use this software with no cost until a license is established, or with a contract for payment for the patent or technical support. This software is provided 'as it is' without any expressed or implied warranty. If you use this code, please register via Registration Link or send an email with the registration form to the email: zrfcms@buaa.edu.cn
Reference
Y. Zhang, Z. R. Liu, D. Legut, and R. F. Zhang*. AAVDP: Atomistic Analyzer for Virtural Diffraction Pattern, (2024) in preparation.