Sqs

In the input file to generate SQS, Is it necessary to have lat.in (also, rndstr.in) format? For example, can I have lat.in (also, rndstr.in)
(i.e., the first line does not have a, b, c, alpha, beta, gamma)
7.041500 7.243000 -7.012500
-7.041500 7.243000 7.012500
7.041500 -7.243000 7.012500
1.000000 0.000000 0.000000
0.000000 1.000000 0.000000
0.000000 0.000000 1.000000


I hope it will not give me run time error messages, or the code will not freeze!

Thanks,
Gautam

The syntax is

nnshell -l=thesqs.out > outputfile.out

There is only one structure format in all of ATAT.
All commands understand a b c alpha beta gamma or 3x3 matrix format.
The only difference is that some commands allow for multiple species per site and others not, but it logically depend on what the command is supposed to do.

(This is an answer to a post below…)

The
[a] [b] [c] [alpha] [beta] [gamma]
or
[ax] [ay] [az]
[bx] [by] [bz]
[cx] [cy] [cz]
formats are interchangeable.
Any code that reads one format can read the other.
-Axel

Axel,
I am trying to generate SQS of oI158 structure. It has 20 Wyckoff sites, but fortunately the defect chemistry is such that I can get the desired composition (more or less exact) if I generate 632-atom SQS!!

So, I gave it a shot. The bestcorr.out gives me
2 0.015996 -0.250000 -0.250000 0.000000
2 0.156957 0.000000 0.000000 0.000000
2 2.774145 0.000000 0.000000 0.000000
2 2.791156 0.000000 0.000000 0.000000
2 2.799390 0.000000 0.000000 0.000000
2 3.071475 0.250000 0.250000 0.000000
2 3.072919 -0.375000 -0.250000 -0.125000
2 3.074280 0.250000 0.250000 0.000000
3 2.791156 0.000000 0.000000 0.000000
3 2.799390 0.000000 0.000000 0.000000
3 3.072919 0.125000 0.125000 0.000000
3 3.074280 -0.125000 -0.125000 0.000000

Here, I have considered 8 pairs and 4 triplets. As you see in the last column, except one pair all correlations are matching vary well. Would you call it a good or very good SQS?

The value of the objective function is Objective_function= -2.947919! I do not know how you have coded it ATAT, because during MC the objective function may increase or decrease. In this case, I did not follow its evolution, nor do I know if it matters! I guess, the objective function may not have any bearing on the quality of SQS, because its value may depend on the composition of SQS. But, is there a rule of thumb?

Gautam :slight_smile:

The value of the objective function is only comparable within the same SQS generation task, so I can’t given you a cut-off between "good" and "bad". (And it depends on some of the input parameters you provide too.)
But the deviations of the correlations from the rnd value are easy to interpret and give you a criterion.
The question is just, can one do better? Then it’s just a matter of running the code for a little while and if things don’t improve over a few hours, you probably have found close to the best possible.
Sorry I can’t be more helpful!
But before you run a 632-atom SQS, may I suggest using 2 SQS (one a little above and one a little below your target composition) and average the results? Hopefully, this will give you smaller SQSs.

Axel,
Thanks for the tips.

After generating SQS, is there a way to list nn-distances? Do I need to run nnshell? If so, what’s the usage? nnshell ?? < input > output? Is it OK if I have input in lat.in format?

Gautam :slight_smile:

Axel,
I tried to generate 64-atom bcc-SQS for a binary system. Even after letting it run for a while, correlations matched only two pairs and one triplet. I had expected much better than that.

Do you have any idea why is it so?
Thanks,
Gautam :slight_smile:

Sorry, I don’t know. It’s obviously stuck in a local optimum.
Try playing with the values in the sqsparam.in file. (higher T)

Axel,
But, where is the sqsparam.in file? I could not find it in atat dir!

Gautam

Actually sqsparam.in is a file you create yourself - see mcsqs -h

Hi Axel,
I ran into a problem while trying to generate SQS. The case involves a hexagonal structure with a strange defect chemistry. Specifically, its three Wyckoff positions have different occupancies. For example,
(i) Site 2(a) has the occupancy of 0.13 (appr. as 0.125), rest assumed to be Va
(ii) Site 2(b) has the occupancy of 0.33 (appr. as 0.375), rest assumed to be Va
(iii) Site 6(h) has the occupancy of 0.66 (appr. as 0.625), rest assumed to be Va

I tried to generate 256-atom SQS. Despite above approximations, it failed to generate the desired SQS. I ran gensqs several times using different combinations of pairs and triplets, but it failed on each occasion. It basically gets stuck in the beginning and does not (or, for some reason can not) proceed any further. So, I came to the conclusion that gensqs may not work in this particular case because each wyckoff site has different site occupancy!

Do you have suggestion to solve this case? If so, please let me know the possible solution.
Thanks,
Gautam :slight_smile:

The code can generate SQS with different occupations on different wyckoff positions.
The problem here is likely that it takes too long to enumerate all supercells of size 256, which is where the code gets stuck!
My suggestion would be to use the option:

 -rc          Read supercells from file sqscell.out (default: generate internally and write to sqscell.out)

The file looks like this:

[number of supercell in file]
[3x3 matrix of lattice vectors coordinate system given in rndstr.in]
[repeat]