Replies: 6 comments 4 replies
-
Hey retinavr, some things to start. Since everything is implemented in "src/capabilities/optimiser/LBFGSppInterface.h" for the LBFGS part and in "src/core/xtbinterface.cpp" for the xTB part, it should be a good start. However, you have to interface quite a bit, to control all parts of xTB (spin, charge, accuracy) and neither LBFGS nor another BFGS-based optimiser I tried, are as powerfull as I wanted them to be. So, let me be interessed in VR - are you talking about virtual reality? If yes, why not let curcuma work for now as interface between them ( I know, you want to implement some stuff on your own, but is it worth for two developers to keep track of an API that might change) and try to interface curcuma ( I will support that ;-) ) and then improve the curcuma codebase on the other hand? - If you were interested, I would be happy and provide you with some appropriate starting points. Cheers and best regards |
Beta Was this translation helpful? Give feedback.
-
Hi Conrad So, for my purpose, i am not interested in spin and charge for now. The purpose is to provide a fast optimization scheme (5 step optimization within 0.015 seconds for around 200 atoms) for approximate structure optimization. FYI. I am developing on windows. Kind regards |
Beta Was this translation helpful? Give feedback.
-
That sounds pretty cool, but there are some things, that have to be dealt with in the first place:
Actually, the best thing were to have an own BFGS like optimisation, however I currently have no time to do such a big stuff. A better way would even to adopt the ANCopt scheme from xtb, but it is not published yet, so the only way is to work through the source code. So, I will today or tomorrow try to implement a "library"-version of curcuma, which then can be included in any C project and a sample main.cpp file, that just uses it. I think, that is a good start for you to have first look into the problem. And then, let see how it goes from there. Cheers, |
Beta Was this translation helpful? Give feedback.
-
I got my hands on a precompiled build of xTB that works on windows. So far it has been working fine also when using the C API. Kind regards |
Beta Was this translation helpful? Give feedback.
-
I would say, the https://github.com/conradhuebler/curcuma/discussions section is the best part. I will close the Issue with this comment and you can start a topic regarding the problem, and we will continue there. PS: Moved it to Discussion, was easy. |
Beta Was this translation helpful? Give feedback.
-
So, I have just added some "documentation" into a new branch: https://github.com/conradhuebler/curcuma/tree/interface src/helpers/interface.cpp is the file to start with. Have a look and feel free to ask. |
Beta Was this translation helpful? Give feedback.
-
Hi
I am currently working on a project where I want to implement molecular optimization using xTB into a VR platform. This has to be done in C++, but i am very very new at C++. I can see you have used xTB with LBFGS optimizer. I was looking into doing the same. Can you help me writing a simple code that only takes xyz coordinates (array or 2d array) and amount of steps (int) for optimization as input and outputs the optimized coordinates (array or 2d array) and final energy (double)?
Kind regards
Beta Was this translation helpful? Give feedback.
All reactions