Hi, I am trying to build sqs cells from supercells using generate_sqs_from_supercells. Once created, I would like to see the minimized correlations by the algorithm. Ideas?
If by correlations you mean the cluster-vector you can calculate it with the clusterspace as cluster_space.get_cluster_vector(structure)
, see here.
Thank you for your answer. Anyway I was wondering how one can extrapolate the value of the objective function at the end of the process. I should tune some parameters, but I don’t know how to compare the output structures between themselves. I was thinking about an objective function but I don’t know how to get it.
I dont know what you mean with extrapolate the value of the objective function.
But if you want to evaluate the SQS objective function yourself I recommend looking into the source code for generate_sqs
.
In principle you get a target-SQS-cluster-vector for the given concentration, and so you can compare a structures cluster-vector to this target-cluster-vector, which gives you an indication of how “good” it is. I think the SQS generation uses the function compare_cluster_vectors
to compare two cluster vectors.
Thanks, this is really helpful. So basically if my goal is to build the most random structure as possible, I should compare the cluster vector generated by the sqs with a target cluster vector, that in my case should be completely random. I am still getting acquainted with icet and I don’t know very well how it works. How can I calculate, let’s say by hand, a totally random cluster vector to compare it to my results?
Yes thats correct.
I think it would be useful for you to look into the source code, here
For example the first step in generate_sqs
is to call a function _get_sqs_cluster_vector
which generates the target random cluster vector.
Thanks, this is exactly what I meant.
However, I was looking at the objective function that is reported here
Making the comparison between the two cluster vectors I can get the “second part” of the objective function. What about that omega * L?
I dont remember the exact details, but I do remember being somewhat confused when I looked at the objective function, L and omega some time ago.
I think if you read the code and how the function is called you will get some insights, and also check out the paper were this objective function is defined may be helpful.
Thank you so much for your help!