Dear friends, I seek for a manner to implement non stoichiometric alloys in ab initio calculations based on DFT to perform electronic structure and some other computations.
Introduce a non stoichiometric formula don't change atoms. For example, if you have a TiOx-2 you can draw de PBC structure for normal TiO2. Then, when you have de original structure the only think to do is implement de defects to crystalline structure removing or adding the element according to formula.
For example, in image you have an allyo Ni(x)Ge(y)Mn(z) if you have the formula of Ni(x-2)Ge(y)Mn(z+1) (invented) you should calculate how many Ni remove and how many Mn adds to structure. Normal, this kind of phenomena are related with imperfections in crystal, see image of examples. It is possible that you need draw more than one cell to see the different ratios in formula because one cell could be perfect, but nearest, could be the one that have less atoms.
You can calculate the formula or number of imperfections searching any book of Material science or maybe inorganic too. Sorry for can't search the reference now. If you can't find or have some question, feel free to contact me.
I know that several techniques to do this may exists, but , as you know, each ab initio calculations code has his structure input data-file where the atomic/molecular structure is implemented: periodic bulk, surfaces, films, super-cells and so on. So, the thing I seek is a general rule (if exist) for implementing non stoichiometric alloys such as A(x)BC(1-x) to do calculations for different values of the composition x.
The typical way of doing this is to build a unit cell and define those non-stoichiometric ratios in that and then do periodic boundary condition (PBC-DFT). However, the problem is that if the value of x is too small (which actually is in most cases), you may end up in a very large super cell in order to incorporate the exact ratio, which makes your DFT calculation either computationally very expensive or practically impossible.
In my opinion, the best way is to define the maximum number of atoms that you can have in your unit cell based on your computational resources and then find the number of each constituent atom in the unit cell based on the closest number to your actual non-stoichiometric ratio. If you can set the right number of atoms, go for it!
For instance, consider the Fe0.94O as a non-stoichiometric example. If you have enough computation resources to have 47 Fe atoms and 50 oxygen atoms (to make the ratio exactly 0.94 to 1 which is equal to 47 to 50), go for it! (This is crazy though!! and I'm sure it would be almost impossible). Otherwise, the reasonable way is to assume that it's close enough to Fe0.95O and use 19 Fe atoms and 20 Oxygen atoms to make the 0.95 to 1 ratio. Still large? You can make your unit cells as small as possible (like, even 9 Fe to 10 Oxygen for the above system to build Fe0.9O as an approximation to Fe0.95O), but your results become less and less accurate as you are getting further and further from the actual 0.94 to 1 ratio.
Can you estimate the CPU-time in running an ab initio code based on DFT on a supercomputer/Cluster for a cell containing a number around 39 (20+19) atoms for example.
I would say maybe around 1000-1500 CPU-hours (like 15-24 actual hours on 64 cores). However, it may vary with different softwares or convergence thresholds, etc. Depending on the software you use, it may need a large memory and disk I/O capability since different softwares have different methods to store the integral files.