TRPMD in i-PI

318 views
Skip to first unread message

Niels Mikkelsen

unread,
Jul 7, 2023, 8:29:10 AM7/7/23
to ipi-users
Hi i-PI users

I am new to i-PI, and have had some trouble figuring out how to perform thermostatted RPMD (TRPMD) which should be implemented in i-PI according to the features page (https://ipi-code.org/about/features/)

I have tried looking through the manual, assuming that TRPMD would somehow be related to using a specific thermostat, but I am unsure how to actually set up the config.xml file to perform such a simulation.

Are there any examples anywhere on how to perform a TRPMD simulation? I am sure I am just missing something obvious, but seeing as I am quite new to i-PI everything is a bit overwhelming.

Thanks in advance!

Best, Niels

Michele Ceriotti

unread,
Jul 8, 2023, 12:15:34 AM7/8/23
to ipi-users
Hi! You should find some examples with trpmd in the examples folder. In short, you can run trpmd using the pile_g thermostat, using a large value of tau (say nanoseconds). The parameter pile_lambda allows you to scale down the optimal coupling parameters of the internal modes, as explained in the papers.
Hope this helps.
Michele

marian...@gmail.com

unread,
Jul 8, 2023, 3:23:59 PM7/8/23
to ipi-users
Hello,

Alternatively, if you want to try the version that induces less spurious broadening on stretches and bends of vibrational spectra (see https://doi.org/10.1063/1.4990536), you can use these parameters: http://gle4md.org/index.html?page=matrix&kind=trpmd&parset=1_jcp2017C&nbeads=32&temp=300&utemp=k&outmode=ipi&aunits=ps and put them in the thermostat block of i-PI input.

Niels Mikkelsen

unread,
Jul 10, 2023, 3:15:58 AM7/10/23
to ipi-users
Hi Michele and Marian

Thank you so much for the answers. To be more specific, I am looking for the methods described in https://doi.org/10.1063/1.4883861, as I am working with vibrational spectra of water, where spurious resonance is known to appear for high frequency modes. On the featues page on i-PI, this paper is listed, so I assume the exact methods they use in the paper can be done in i-PI. I also assumed TRPMD is used to describe the methods used in that paper, so Michele's answer might be exactly what I am looking for, unless I used TRPMD to describe the wrong thing

Marian, thank you for the link to a newer paper that seems to be doing the exact thing I want to do. I will have a look at that also.

Best, Niels

Niels Mikkelsen

unread,
Jul 10, 2023, 8:21:57 AM7/10/23
to ipi-users
Hi again, small follow up with actual config files. Here is an example of what I have been doing so far to get a RPMD trajectory used for vibrational spectroscopy.

<simulation verbosity='high'>
  <output prefix='testrun'>
    <properties filename='md' stride='1'> [step, time{picosecond}, conserved{kelvin}, temperature{kelvin}, potential{kelvin}, kinetic_cv{kelvin}] </properties>
    <properties filename='force' stride='20'> [atom_f{piconewton}(atom=0;bead=0)] </properties>
    <trajectory filename='pos' stride='1' format='xyz' cell_units='angstrom'> positions{angstrom} </trajectory>
    <checkpoint filename='checkpoint' stride='10' overwrite='True'/>
  </output>
  <total_steps> 100000 </total_steps>
  <ffsocket mode='unix' name='driver'>
    <address>IPI_ADDRESS</address>
  </ffsocket>
  <system>
    <initialize nbeads='64'>
      <file mode='xyz' units='angstrom'> best_structure_90_H2O_10_CO2.xyz </file>
      <cell mode='abc' units='angstrom'>
        [1000,1000,1000]
      </cell>
      <velocities mode='thermal' units='kelvin'> 5 </velocities>
    </initialize>
    <forces>
      <force forcefield='driver'/>
    </forces>
    <ensemble>
      <temperature units='kelvin'> 5 </temperature>
    </ensemble>
    <motion mode='dynamics'>
      <dynamics mode='nvt'>
        <thermostat mode='pile_g'>
          <tau units='femtosecond'> 25 </tau>
        </thermostat>
        <timestep units='femtosecond'> 0.5 </timestep>
      </dynamics>
    </motion>
  </system>
</simulation>


To Michele: For optimal TRPMD, should I then increase the value of tau to the order of nanoseconds to get the desired behavior? I am unsure what an optimal value for the pile_lambda parameter you mention is for water. I might have seen it in a paper under a different name or written in a different way, but I am unsure exactly what the physical interpretation of this parameter is, and how it depends on your system

To Marian: Thank you for the link to the more recent paper. Their findings look very promising, and I would like to try their methods as well. As far as I understand the GLE4MD website you linked, I should simply copy the values of the A matrix and use them as a parameter for the nm_gle thermostat. Do you happen to know if a specific value of tau should also be used in this case, or is it only the A matrix that matters? The generated parameters from the GLE4MD website seems to not include a specific value for tau.

Thanks in advance.

Best, Niels
Reply all
Reply to author
Forward
0 new messages