Good practices to run molecular dynamics with aiida-vasp

89 views
Skip to first unread message

Sylvian Cadars

unread,
Jul 11, 2022, 12:26:39 PM7/11/22
to aiidausers

Dear all,

I am considering the possibility run molecular dynamics with aiida-vasp. Can I find some information on best practices to this end ? (Note that for some plugin-compatibility issues I still use aiida-core 1.6.8 and aiida-vasp v. 2.1.1 (branch '7c0bee1' develop).

Several questions come to my mind, but I there are probably some other aspects that I haven't anticipated yet ?

- Is there a suitable aiida_vasp workchain to do this ? I initially planned to use the vasp.vasp or vasp.verify but both use higher-level 'relax' parameters instead of the standard 'incar' parameters (e.g. inputs.relax.steps instead of inputs.parameters['nsw']). I thought this was specific to vasp.relax but apparently I was wrong. Setting the relax.perform parameter to True will cause  vasp.vasp or vasp.verify to consider the calculation unconverged in the end (correct ?), which of course does not make sense for a molecular dynamics run. I thought this was specific to vasp.relax but apparently I was wrong (). I could run a direct VaspCalculation but this does not include the basic restart capabilities...

- I understand that my settings should look like :
settings = AttributeDict()
settings.parser_settings = {'output_params': ['total_energies',  'maximum_force'],
                                                  'add_trajectory': True,
                                                  'add_forces': True}
Are there other important settings to add ?

- How fast should I expect that storage will grow as compared to a direct VASP calculation using the same calculation settings ?

- Will AiiDA take the  trajectory by taking 'nblock' INCAR parameter into account (i.e. write trajectory every nblock steps) ?

Thank you for your help.
Best regards.
Sylvian

Zhu, Bonan

unread,
Jul 11, 2022, 4:26:32 PM7/11/22
to aiida...@googlegroups.com

Hi Sylvian,

 

This is more of a specific question regarding a certain use cases of the aiida-vasp plugin not the generate usage of AiiDA, please posted it on aiida-vasp’s issue tracker instead (https://github.com/aiida-vasp/aiida-vasp).

 

For your question, I don’t think is any ready-made workchain for running MD simulations, especially taking into the consideration that long-running MD simulation usually gets killed due to wall time and need to be restarted. This is not included in the `VaspWorkChain`’s current design. Your best bet is to use the `VaspCalculation` directly. It accepts the raw INCAR inputs directly with the `parameters` input port. You should be able to make your own workchain that calls the `VaspCalculation`. Some of the existing code in `VaspWorkChain` can probably be reused.

 

> I initially planned to use the vasp.vasp or vasp.verify but both use higher-level 'relax' parameters instead of the standard 'incar' parameters (e.g. inputs.relax.steps instead of inputs.parameters['nsw']).

 

`VaspWorkChain` should be able to accept INCAR tags – they just need to be passed under the `incar` key of dictionary input of the `parameters` port.

e.g.

builder.parameters = Dict(dict={‘incar': {‘nsw’: 90, ‘encut’:300…})

Of course, then the high-level interfaces should be left empty.

 

> - How fast should I expect that storage will grow as compared to a direct VASP calculation using the same calculation settings ?

If you don’t parse the trajectory it will take space as much as a direct (manual) VASP calculation. The output files can be reparsed later for analysis or interface with other codes. The parsed trajectory should take less storage space than the raw files. Alternatively, you can choose to only store the parsed trajectory and not the raw calculation output, but I would not recommend this unless really necessary (for saving storage). The best way to find out is probably to run some tests.

 

> - Will AiiDA take the  trajectory by taking 'nblock' INCAR parameter into account (i.e. write trajectory every nblock steps) ?

The trajectory is read through the vasprun.xml file, which I don’t think respects the nblock parameter. The plugin does not have a XDATCAR parser at the moment. However, it should be relatively easy to implement one.

 

Best wishes,

Bonan Zhu

 

From: aiida...@googlegroups.com <aiida...@googlegroups.com> On Behalf Of Sylvian Cadars
Sent: 11 July 2022 17:27
To: aiidausers <aiida...@googlegroups.com>
Subject: {SPAM?} [aiidausers] Good practices to run molecular dynamics with aiida-vasp

 

Caution: External sender

--
AiiDA is supported by the NCCR MARVEL (http://nccr-marvel.ch/), funded by the Swiss National Science Foundation, and by the European H2020 MaX Centre of Excellence (http://www.max-centre.eu/).
 
Before posting your first question, please see the posting guidelines at http://www.aiida.net/?page_id=356 .
---
You received this message because you are subscribed to the Google Groups "aiidausers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to aiidausers+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/aiidausers/0677b5e3-c09f-4ec5-bd4d-c0bc9c650cb1n%40googlegroups.com.

Sylvian Cadars

unread,
Jul 13, 2022, 8:28:14 AM7/13/22
to aiidausers
Dear Bonan Zhu,

Thank you for your answer and clarifications therein.
All the best.
Sylvian.
Reply all
Reply to author
Forward
0 new messages