How to use Lammps to calculate Warren–Cowley parameter?

Hello everyone
i am confused about how to use Lammps to calculate the probability of that a neighboring atom is around it,in other words to calculate Warren–Cowley parameter. i have looked a way to solve it,which is the code “compute rdf”. But this way of calculating may not be efficient. I hope you can give me an effective methods or can developers develop a new efficient and fast way to calculate this parameter.
Nowadays CSRO research has become very popular, and the speed of Warren–Cowley parameter calculation will greatly affect the research progress
Thanks

It seems to me that you have a wrong impression of what it is the developers for a open source scientific software package do, how much time they have available to implement new features, and how the choose such new features.

Please let me remind you, that the majority of features in LAMMPS are contributed, i.e. people that had a specific need for a feature not readily available in LAMMPS implemented it in C++ and contributed their resulting code for inclusion into the LAMMPS distribution. This is particularly true for features that are of use by a rather limited range of research applications versus features that are of general interest for a large number of LAMMPS users or for the research interests of the LAMMPS developers themselves.

oh! thanks your remind,i did not konw this before.

I have done a little research on what this parameter you are looking for actually represents (it is not a term commonly use in the kind of MD simulations that I am familiar with).

It is actually a bit tricky to define it for anything but crystalline solids where the different neighboring shells around atoms are will defined. For anything less structured, you would have to provide the exact min/max radii that you want to include into the shell.

It is probably possible to create a compute similar to compute rdf that will output the property you want, but it will need some significant C++ programming and testing. If you feel this is a compelling proposal, you may submit a feature request issue at Issues · lammps/lammps · GitHub
But be advised, that this will be flagged with “volunteer needed”, since I don’t see any or the core LAMMPS developers having a significant interest in implementing such a feature. This applies to most of those feature requests and - unfortunately - those have remained unimplemented.

So the best chance for you would be to have this implemented would be to program it yourself.
Please note, that LAMMPS has a variety of per-atom order parameter computes. Perhaps one of the others may be suitable to you.

Hi there
Although this is not exactly what you asked for (Lammps command calculating Warren–Cowley parameter), with a bit of effort, you can use the following python library to calculate the WC parameter for your system:
https://pyscal.org/en/latest/examples/10_short_range_order.html

1 Like

oh! thanks