10

First of all, it's better to define the terms here because probably not all the people here are familiar with SQS right away. SQS is an abbreviation for special quasirandom structures. The illuminating reference here is the work of Zunger et. al. that basically show you that the most relevant parameter to consider when you want if SQS truly resembles a ...


9

As you suggesting, your computed $g(r)$ goes to zero at large $r$ because of your handling of the periodic boundary conditions. You should include every particle at a distance of $r$ whether it's in the main cell or not, and not only the closest particle. If it's not clear for you, the following picture may help you. Imagine you're computing $g(r)$ for the ...


9

You could fool the MDAnalysis RDF function InterRDF by setting an artificial cell of a size large enough so that the periodic boundary conditions don't cause any atom to be counted twice. This can be done by adding the following lines before computing the rdf. It basically creates a cell twice as large as the largest distance in the selected frame of the ...


8

If I understand your question correctly, you are saying that you have seen cases where time is included in the calculation of the radial distribution function (RDF). The RDF itself does not depend on time (and its calculation does not depend on any timestep). That is, the RDF is calculated as an ensemble average, so that either molecular dynamics or monte ...


7

Here's an approach calculating it by hand with numpy. The coordinates are loaded from the trajectory using mdtraj in python: #imports: import mdtraj as md import numpy as np import matplotlib.pyplot as plt #load trajectory: traj = md.load('traj.dcd', top='solvated.pdb') ##You would write this: ##traj = md.load_xtc('md.xtc', top='top.gro') #select oxygen ...


5

The correct syntax is then the following: $gmx rdf -f ftraj.xtc -s ftraj.tpr -ref "name C1 C2 C3" -sel "name C1 C2 C3" -selrpos part_res_com -seltype part_res_com My thoughts were partially clarified after consulting the useful command gmx help selections positions where it is described that POSTYPE can be atom, res_com, res_cog, mol_com ...


3

Ok, I think I figured out why your code is giving a straight line. This is too big to write as a comment, so I am putting this as answer. At the start of the function, you are determining the edges of the bins of histograms: edges = arange(-S, rMax + 1.1 * dr, dr) So, your edges range between -S and rMax+1.1*dr. From the data you fed to the function, the ...


3

There are two different perspectives here. The first one is the creation of the SQS structure itself accomplished through the ATAT package, for example. The second one is the calculation of the slab properties. The SQS procedure returns the smaller structure that resembles the periodic structure properties. For alloys, for instance, the inputs are the ...


1

As Anibal points in his answer, generating the SQS and using it for a surface calculation are two separate things, and shouldn't affect each other. You would still take all precautions as usual while performing the DFT calculation. That being said, there could be scenarios where you may want to restrict/prefer certain atom types amassing at edges or corners ...


Only top voted, non community-wiki answers of a minimum length are eligible