Scripts for "Revealing the Geometrical and Vibrational Properties of the Defects Driving the Boson Peak"
Creators: name: Mahajan, Shivam
Publisher: name: Zenodo
Year: 2024
Subjects: subject: Condensed matter physics
subject: Soft matter physics

description: The systems are generated using the LAMMPS molecular dynamics simulation package, with interaction potentials defined in the custom files pair_lj_cut_vr.cpp and pair_lj_cut_vr.h. To utilize this potential, place these files in the LAMMPS src directory and rebuild LAMMPS. The potential can then be accessed via the pair_style command.

In this interaction potential, the attractive tail is controlled by the parameter xc. For the provided scripts, we have used xc = 1.7. For other values of xc, the scripts remain unchanged except for the parameters a0, a1, and c2l, which ensure the continuity of the potential and its first two derivatives at both the minimum and the cutoff, where the potential vanishes. To determine the appropriate parameters for different values of xc, use the setLJParams.py script, which generates the values for a0, a1, and c2l based on the specified xc.

To generate the system, run the LAMMPS input script in.rc-1.7. Our simulations were executed on the NSCC cluster in Singapore, with submission handled through the script submit-rc-1.7.sh. For other clusters, submission scripts can be adapted similarly.

Upon running the LAMMPS script, output files will include a dumps file containing positional data and a forces file with force information between particle pairs in different directions. Sample files for minimized positions (minimized-dump) and forces (minimized-forces) are provided, containing the inherent states and corresponding pairwise force data.

From these files, we can construct the Hessian matrix using the phononStudy-1.7-2d.cpp code. Diagonalizing this matrix yields the system’s eigenvalues (or eigenfrequencies) and the participation ratios of different vibrational modes.

Additionally, a gnuplot script (FigGeometryQuadrupole.plg) is included to visualize the quadrupolar nature of defects. By running this script, you can generate an image in EPS format, with the necessary data for plotting also included.

Several Python scripts are also attached, with the following functionalities:





2D Analysis: A Python script computes the quadrupolar charge on a coarse-grained scale for defects, defined as clusters of particles. If two neighboring particles are involved, they belong to the same defect. Neighbor information is obtained using voro++, which must be installed prior to running this script (please ensure the voro++path is correctly set in the code). This script also computes the eigenvalues of the deviatoric strain associated with defects, which are equal and opposite in 2D. A sample output file containing these information for one 2d system is attached. A similar script can be adapted for 3D systems.




3D Analysis: The 3D analysis involves running a similar script on 200 samples (ranks). The eigenvalue data from these samples are combined into a file (combined-bosonPeak). To visualize the density of regions where the eigenvalues lie (as shown in panel C of the accompanying figure), the script triangle_plot_quad.py is used.