Page 1 of 1

Forth-order predictor-corrector algorithm

Posted: Thu Mar 04, 2010 7:04 am
by maryam
Dear friends,

The answer of this question is important for me! At first, I asked it in the section of physics questions, but I didn't get any reply. So, I thought that it is perhaps a technical question.
I'm doing ab-initio molecular dynamics simulations (IBRION=0), and I want to integrate Newton's equations of motion by forth-order predictor-corrector algorithm NOT Verlet. It has been written in the manual of VASP that, for such doing, VASP must be linked with "stepprecor.o". How can I do this work?
It is noteworthy to mention that, predictor-corrector coordinates are written in the CONTCAR file. What bothers me is that I'm not sure if VASP is using forth-order predictor-corrector algorithm or Verlet.

I'm very thankful for any any help.

Forth-order predictor-corrector algorithm

Posted: Thu Mar 04, 2010 8:10 am
by forsdan
Well, have you tried to link VASP with stepprecor.o then to see if anything changes? I guess the dependencies only are "stepprecor.F symbol.inc base.o" so you can add stepprecor.o somewhere in the end of the SOURCE-tag in the makefile. Then you can also see if there is any valuable information in the stepprecor.F.

I haven't tried this myself, but it's where I would have started.

Cheers,
/Dan

<span class='smallblacktext'>[ Edited Thu Mar 04 2010, 09:12AM ]</span>

Forth-order predictor-corrector algorithm

Posted: Thu Mar 04, 2010 11:03 am
by maryam
Dear Dan,

I'm very grateful!
I removed the stepver.o from the SOURCE-Tag in the Makefile and added steppercor.o. Then, I made a new executable vasp.

All the BEST,

Forth-order predictor-corrector algorithm

Posted: Thu Mar 04, 2010 11:48 am
by forsdan
If I were you I should have been a bit more cautious about removing the stepver.o from the source unless it is explicitly stated that you should. Other parts of the program may still use it instead of steppercor.o. However, I haven't looked into it. Revert back to the original code if something fails (or wait for a proper answer from somebody who knows for sure).

Cheers,
/Dan


<span class='smallblacktext'>[ Edited Thu Mar 04 2010, 12:55PM ]</span>

Forth-order predictor-corrector algorithm

Posted: Thu Mar 04, 2010 3:59 pm
by maryam
Thank you very much!

At first, I hadn't removed stepver.o and only stepprecor.o had been added. But, the executable vasp was not made. I had the error of 'multiple definition of step_'. While, after removing of stepver.o, any error was not appeared. Therefore, I concluded that stepver.o is written in the Makefile, when Verlet algorithm is used and stepprecor.o is for applying predictor-corrector algorithm.