Author Topic: Steinhardt order parameters  (Read 1678 times)

avik

  • Newbie
  • *
  • Posts: 3
Steinhardt order parameters
« on: September 14, 2018, 06:19:58 PM »
Is it possible to calculate the Steinhardt order parameters (Phys. Rev. B 28 784–805) from OVITO?


Alexander Stukowski

  • Administrator
  • Hero Member
  • *****
  • Posts: 638
Re: Steinhardt order parameters
« Reply #1 on: September 15, 2018, 10:39:00 AM »
No, Steinhardt parameter calculation is currently not a built-in function of OVITO.

If you are interested in doing this calculation with OVITO, it would be possible to write a user-defined modifier function in Python that implements the calculation of the Steinhardt parameters. The scripting documentation contains a code example demonstrating the calculation of a local order parameter from the neighbor vectors of an atom, which can serve as a good starting point:

Ovito 3.0-dev:
http://ovito.org/manual_testing/python/introduction/examples.html#example-m2-custom-order-parameter-calculation

Ovito 2.9.0:
http://ovito.org/manual/python/introduction/examples.html#implementing-an-advanced-analysis-modifier

Alexander Stukowski

  • Administrator
  • Hero Member
  • *****
  • Posts: 638
Re: Steinhardt order parameters
« Reply #2 on: September 15, 2018, 10:44:01 AM »
This is not related to OVITO, but here is a simple C++ code I wrote more than 6 years ago for a review paper which can calculate the Steinhardt parameters (at least some of them):

http://asa.ovito.org

Reza

  • Newbie
  • *
  • Posts: 3
bond order analysis
« Reply #3 on: October 02, 2018, 01:02:58 PM »
Could you please let me know how to apply "bond order parameter analysis"?
I cannot find it on the
>>add modification -- analysis--

Thanks
Reza

Reza

  • Newbie
  • *
  • Posts: 3
Re: Steinhardt order parameters
« Reply #4 on: October 03, 2018, 02:14:12 AM »
Thanks a lot!

Alexander Stukowski

  • Administrator
  • Hero Member
  • *****
  • Posts: 638
Re: Steinhardt order parameters
« Reply #5 on: October 05, 2018, 05:08:02 PM »
OVITO doesn’t have a function with this name. I’m not sure what is meant with that. Please let me know where you found the term “bond order parameter analysis”. The I can tell you if it is available in OVITO, perhaps under a different name.

Reza

  • Newbie
  • *
  • Posts: 3
Re: Steinhardt order parameters
« Reply #6 on: October 21, 2018, 12:12:58 PM »
have a look at here:

#include "BondOrderParameterAnalysis.h"

~asa-code-1.0.1/src/analysis/bop  :)

Alexander Stukowski

  • Administrator
  • Hero Member
  • *****
  • Posts: 638
Re: Steinhardt order parameters
« Reply #7 on: October 21, 2018, 04:44:24 PM »
Ok, yeah. I'm sorry for the confusion. The "asa-code" package you are referring to is not related to OVITO in any way. I was just not willing to register another top-level internet domain to host this little code package, which was written for academic purposes back in 2012. That's why I decided to simply put the code archive on a sub-domain of the existing ovito.org web server to make it available to the readers of my paper on atomic structure identification methods, which it was written for.

Steinhardt order parameter calculation is currently not part of OVITO. You can either use the ASA code package to calculate them (Note that the code currently computes only two specific ones, I think. So you might have to extend it a little depending on your needs), or you can implement the order parameter calculation yourself within OVITO as a user-defined analysis modifier function using the Python scripting interface. The third option is to create an official feature request on our GitLab site for OVITO.

-Alex

Sacho

  • Newbie
  • *
  • Posts: 11
Re: Steinhardt order parameters
« Reply #8 on: July 21, 2019, 04:45:14 PM »
Dear Alexander

I downloaded the C++ code you wrote for calculating the Steinhardt parameters. But I encountered some problems during the compilation process.

1.   I installed the boost library, but there is always an error that appears in the twenty-fourth line of the CmakeLists.txt file,as shown in the attachment. I can't check the cause of this error. Are there specific requirements for installing the path and directory name of the boost library? Or are there other places to pay attention to?
2.   Can you send me the final running program? I want to calculate the bond order parameters to represent the structure.

Thanks
-Sacho

Alexander Stukowski

  • Administrator
  • Hero Member
  • *****
  • Posts: 638
Re: Steinhardt order parameters
« Reply #9 on: July 22, 2019, 11:22:10 AM »
Hi,
Which Ubuntu package containing the Boost library did you install? I think you'll need the "libboost-program-options-dev" package to build the ASAP code under Ubuntu.
-Alex