<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://dospt.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Miguel+Caro</id>
		<title>DoSPT - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://dospt.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Miguel+Caro"/>
		<link rel="alternate" type="text/html" href="http://dospt.org/index.php/Special:Contributions/Miguel_Caro"/>
		<updated>2026-04-21T10:38:13Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.29.2</generator>

	<entry>
		<id>http://dospt.org/index.php?title=Sigma_nu&amp;diff=378</id>
		<title>Sigma nu</title>
		<link rel="alternate" type="text/html" href="http://dospt.org/index.php?title=Sigma_nu&amp;diff=378"/>
				<updated>2021-06-24T18:20:17Z</updated>
		
		<summary type="html">&lt;p&gt;Miguel Caro: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &amp;lt;code&amp;gt;sigma_nu&amp;lt;/code&amp;gt; keyword is an '''optional''' keyword in the &amp;lt;code&amp;gt;[[input]]&amp;lt;/code&amp;gt; file, used in combination with &amp;lt;code&amp;gt;smooth = .true.&amp;lt;/code&amp;gt;. It takes 1 float argument, in units of ps&amp;lt;sup&amp;gt;-1&amp;lt;/sup&amp;gt;. It controls the locality of the smoothing applied to the DoS when the LOWESS filter is enabled (&amp;lt;code&amp;gt;smooth = .true.&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== Summary ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Summary for &amp;lt;code&amp;gt;sigma_nu&amp;lt;/code&amp;gt; keyword&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot;| Required/optional&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot;| Type&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot;| Accepted values&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot;| Default&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot;| See also&lt;br /&gt;
|-&lt;br /&gt;
| Optional&lt;br /&gt;
| Float&lt;br /&gt;
| Any positive float&lt;br /&gt;
| 5/[[tau]]&lt;br /&gt;
| [[Input file]], [[smooth]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
 smooth = .true.&lt;br /&gt;
 sigma_nu = 2.&lt;/div&gt;</summary>
		<author><name>Miguel Caro</name></author>	</entry>

	<entry>
		<id>http://dospt.org/index.php?title=Estimate_velocities&amp;diff=377</id>
		<title>Estimate velocities</title>
		<link rel="alternate" type="text/html" href="http://dospt.org/index.php?title=Estimate_velocities&amp;diff=377"/>
				<updated>2021-06-24T18:19:26Z</updated>
		
		<summary type="html">&lt;p&gt;Miguel Caro: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &amp;lt;code&amp;gt;estimate_velocities&amp;lt;/code&amp;gt; keyword is an '''optional''' keyword in the &amp;lt;code&amp;gt;[[input]]&amp;lt;/code&amp;gt; file. It takes 1 logical argument, &amp;lt;code&amp;gt;.true.&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;.false.&amp;lt;/code&amp;gt;. It is used to enable a quadratic interpolation of the velocities from the positions, useful when the velocities in the trajectory file are not reliable (e.g., positions and velocities are not synchronous). See the discussion in [[Tutorial 1: standard molar entropy of liquid water#Velocity estimation vs. velocities from trajectory|tutorial 1]] for more details.&lt;br /&gt;
&lt;br /&gt;
=== Summary ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Summary for &amp;lt;code&amp;gt;temperature&amp;lt;/code&amp;gt; keyword&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot;| Required/optional&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot;| Type&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot;| Accepted values&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot;| Default&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot;| See also&lt;br /&gt;
|-&lt;br /&gt;
| Optional&lt;br /&gt;
| Logical&lt;br /&gt;
| .false./.true.&lt;br /&gt;
| .false.&lt;br /&gt;
| [[Input file]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
 estimate_velocities = .false.&lt;/div&gt;</summary>
		<author><name>Miguel Caro</name></author>	</entry>

	<entry>
		<id>http://dospt.org/index.php?title=Smooth&amp;diff=376</id>
		<title>Smooth</title>
		<link rel="alternate" type="text/html" href="http://dospt.org/index.php?title=Smooth&amp;diff=376"/>
				<updated>2021-06-24T18:18:48Z</updated>
		
		<summary type="html">&lt;p&gt;Miguel Caro: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &amp;lt;code&amp;gt;smooth&amp;lt;/code&amp;gt; keyword is an '''optional''' keyword in the &amp;lt;code&amp;gt;[[input]]&amp;lt;/code&amp;gt; file. It takes 1 logical argument, &amp;lt;code&amp;gt;.true.&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;.false.&amp;lt;/code&amp;gt;. When used, it applies a [https://en.wikipedia.org/wiki/Local_regression LOWESS filter] to smooth out the DoS. This can help stabilize entropy calculations with insufficient sampling due to the noise in the DoS. The locality of the smoothing is optionally tuned with the [[sigma_nu]] keyword. See an example below:&lt;br /&gt;
&lt;br /&gt;
[[File:Smooth_01.png|center]]&lt;br /&gt;
&lt;br /&gt;
=== Summary ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Summary for &amp;lt;code&amp;gt;smooth&amp;lt;/code&amp;gt; keyword&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot;| Required/optional&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot;| Type&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot;| Accepted values&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot;| Default&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot;| See also&lt;br /&gt;
|-&lt;br /&gt;
| Optional&lt;br /&gt;
| Logical&lt;br /&gt;
| .false./.true.&lt;br /&gt;
| .false.&lt;br /&gt;
| [[Input file]], [[sigma_nu]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
 smooth = .true.&lt;/div&gt;</summary>
		<author><name>Miguel Caro</name></author>	</entry>

	<entry>
		<id>http://dospt.org/index.php?title=User:Miguel_Caro&amp;diff=375</id>
		<title>User:Miguel Caro</title>
		<link rel="alternate" type="text/html" href="http://dospt.org/index.php?title=User:Miguel_Caro&amp;diff=375"/>
				<updated>2021-06-24T11:10:28Z</updated>
		
		<summary type="html">&lt;p&gt;Miguel Caro: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;background-color:#D1F2EB; float:right;&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; width=240&lt;br /&gt;
!align=&amp;quot;center&amp;quot;|&lt;br /&gt;
Contact information:&lt;br /&gt;
----&lt;br /&gt;
DoSPT questions:&lt;br /&gt;
miguel.caro@dospt.org&lt;br /&gt;
----&lt;br /&gt;
Other professional enquiries:&lt;br /&gt;
miguel.caro@aalto.fi&lt;br /&gt;
----&lt;br /&gt;
Google Scholar profile:&lt;br /&gt;
[https://scholar.google.com/citations?user=Crx2VbIAAAAJ Crx2VbIAAAAJ]&lt;br /&gt;
----&lt;br /&gt;
Group's website:&lt;br /&gt;
[https://miguelcaro.org miguelcaro.org]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[File:pic_small.png|thumb|left|160px|Miguel Caro]]&lt;br /&gt;
&lt;br /&gt;
'''Miguel Caro''' is the main DoSPT developer and webmaster for the dospt.org site.&lt;br /&gt;
&lt;br /&gt;
==== About me ====&lt;br /&gt;
&lt;br /&gt;
I am currently Academy of Finland Research Fellow at the Department of Electrical Engineering and Automation in Aalto University, Finland. My work focuses on applying molecular dynamics at both ''ab initio'' (DFT) and classical levels to understand the properties of materials from a computational point of view. More related to the DoSPT project, I am also interested in further developing the 2PT method towards more accurate and more general computational prediction of free energies.&lt;br /&gt;
&lt;br /&gt;
DoSPT questions which are not answered in the [[Frequently asked questions|FAQ]] can be sent to me by email (see contact info on the right-hand-side panel). Code feature requests that may lead to interesting results/collaboration are also welcomed. I am also happy to reply to other professional inquiries regarding my academic activities.&lt;/div&gt;</summary>
		<author><name>Miguel Caro</name></author>	</entry>

	<entry>
		<id>http://dospt.org/index.php?title=DoSPT&amp;diff=374</id>
		<title>DoSPT</title>
		<link rel="alternate" type="text/html" href="http://dospt.org/index.php?title=DoSPT&amp;diff=374"/>
				<updated>2021-06-24T11:08:03Z</updated>
		
		<summary type="html">&lt;p&gt;Miguel Caro: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; width: 45%; margin-top: 0px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;background-color: white;&amp;quot;|&lt;br /&gt;
[[File:Dospt.png|420px|center]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot;|&lt;br /&gt;
''A Fortran implementation of the 2PT method''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot;|&lt;br /&gt;
'''What's new?'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;div style = &amp;quot;height: 200px; overflow-y: scroll;&amp;quot; &amp;gt;&lt;br /&gt;
'''24/06/2021''': The [[smooth]] and [[estimate_velocities]] keywords are now documented. Tutorial 1 has been updated, including discussion of [[estimate_velocities]].&lt;br /&gt;
-----&lt;br /&gt;
'''16/04/2021''': The [[topology file]] usage is now documented. This is useful for bond breaking and formation.&lt;br /&gt;
-----&lt;br /&gt;
'''10/02/2020''': The latest development version of DoSPT features a new capability to handle vacuum in the simulation box, particularly geared towards interfacial simulations.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Welcome to the '''DoSPT''' website. '''DoSPT''' is a code that allows you to compute '''entropies''' from '''molecular dynamics''' simulations within the framework of the 2PT method. You can check out the [[DoSPT publications]] to get a better idea of what this is all about.&lt;br /&gt;
&lt;br /&gt;
At the moment you can [[Download the code|download]] and [[Installation|install]] the code. A list of [[What does DoSPT do|features]] and the [[documentation]] are still incomplete but more info is constantly being added. Example calculations showcasing the basic capabilities of the code are available as [[tutorials]]. More tutorials are coming up!&lt;br /&gt;
&lt;br /&gt;
If you need further information while the website is undergoing quick changes, please directly contact [[User:Miguel Caro|Miguel Caro]], who should be able to help you out.&lt;br /&gt;
&lt;br /&gt;
The DoSPT project is possible thanks to the support from [http://www.aalto.fi Aalto University], [http://www.aka.fi Academy of Finland] and [http://www.csc.fi CSC - IT Center for Science].&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 80%&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| [[File:Aalto_logo.png|250px]]&lt;br /&gt;
| [[File:AKA_logo.jpg|200px]]&lt;br /&gt;
| [[File:CSC_logo.png|200px]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Miguel Caro</name></author>	</entry>

	<entry>
		<id>http://dospt.org/index.php?title=DoSPT&amp;diff=373</id>
		<title>DoSPT</title>
		<link rel="alternate" type="text/html" href="http://dospt.org/index.php?title=DoSPT&amp;diff=373"/>
				<updated>2021-06-24T08:07:20Z</updated>
		
		<summary type="html">&lt;p&gt;Miguel Caro: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; width: 45%; margin-top: 0px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;background-color: white;&amp;quot;|&lt;br /&gt;
[[File:Dospt.png|420px|center]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot;|&lt;br /&gt;
''A Fortran implementation of the 2PT method''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot;|&lt;br /&gt;
'''What's new?'''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height: 100px; overflow-y: scroll;&amp;quot; |&lt;br /&gt;
'''24/06/2021''': The [[smooth]] and [[estimate_velocities]] keywords are now documented. Tutorial 1 has been updated, including discussion of [[estimate_velocities]].&lt;br /&gt;
&lt;br /&gt;
'''16/04/2021''': The [[topology file]] usage is now documented. This is useful for bond breaking and formation.&lt;br /&gt;
&lt;br /&gt;
'''10/02/2020''': The latest development version of DoSPT features a new capability to handle vacuum in the simulation box, particularly geared towards interfacial simulations.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Welcome to the '''DoSPT''' website. '''DoSPT''' is a code that allows you to compute '''entropies''' from '''molecular dynamics''' simulations within the framework of the 2PT method. You can check out the [[DoSPT publications]] to get a better idea of what this is all about.&lt;br /&gt;
&lt;br /&gt;
At the moment you can [[Download the code|download]] and [[Installation|install]] the code. A list of [[What does DoSPT do|features]] and the [[documentation]] are still incomplete but more info is constantly being added. Example calculations showcasing the basic capabilities of the code are available as [[tutorials]]. More tutorials are coming up!&lt;br /&gt;
&lt;br /&gt;
If you need further information while the website is undergoing quick changes, please directly contact [[User:Miguel Caro|Miguel Caro]], who should be able to help you out.&lt;br /&gt;
&lt;br /&gt;
The DoSPT project is possible thanks to the support from [http://www.aalto.fi Aalto University], [http://www.aka.fi Academy of Finland] and [http://www.csc.fi CSC - IT Center for Science].&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 80%&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| [[File:Aalto_logo.png|250px]]&lt;br /&gt;
| [[File:AKA_logo.jpg|200px]]&lt;br /&gt;
| [[File:CSC_logo.png|200px]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Miguel Caro</name></author>	</entry>

	<entry>
		<id>http://dospt.org/index.php?title=DoSPT&amp;diff=372</id>
		<title>DoSPT</title>
		<link rel="alternate" type="text/html" href="http://dospt.org/index.php?title=DoSPT&amp;diff=372"/>
				<updated>2021-06-24T07:57:16Z</updated>
		
		<summary type="html">&lt;p&gt;Miguel Caro: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; width: 45%; margin-top: 0px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;background-color: white;&amp;quot;|&lt;br /&gt;
[[File:Dospt.png|420px|center]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot;|&lt;br /&gt;
''A Fortran implementation of the 2PT method''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot;|&lt;br /&gt;
'''What's new?'''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height: 50px; overflow-y: scroll;&amp;quot; |&lt;br /&gt;
'''24/06/2021''': The [[smooth]] and [[estimate_velocities]] keywords are now documented. Tutorial 1 has been updated, including discussion of [[estimate_velocities]].&lt;br /&gt;
&lt;br /&gt;
'''16/04/2021''': The [[topology file]] usage is now documented. This is useful for bond breaking and formation.&lt;br /&gt;
&lt;br /&gt;
'''10/02/2020''': The latest development version of DoSPT features a new capability to handle vacuum in the simulation box, particularly geared towards interfacial simulations.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Welcome to the '''DoSPT''' website. '''DoSPT''' is a code that allows you to compute '''entropies''' from '''molecular dynamics''' simulations within the framework of the 2PT method. You can check out the [[DoSPT publications]] to get a better idea of what this is all about.&lt;br /&gt;
&lt;br /&gt;
At the moment you can [[Download the code|download]] and [[Installation|install]] the code. A list of [[What does DoSPT do|features]] and the [[documentation]] are still incomplete but more info is constantly being added. Example calculations showcasing the basic capabilities of the code are available as [[tutorials]]. More tutorials are coming up!&lt;br /&gt;
&lt;br /&gt;
If you need further information while the website is undergoing quick changes, please directly contact [[User:Miguel Caro|Miguel Caro]], who should be able to help you out.&lt;br /&gt;
&lt;br /&gt;
The DoSPT project is possible thanks to the support from [http://www.aalto.fi Aalto University], [http://www.aka.fi Academy of Finland] and [http://www.csc.fi CSC - IT Center for Science].&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 80%&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| [[File:Aalto_logo.png|250px]]&lt;br /&gt;
| [[File:AKA_logo.jpg|200px]]&lt;br /&gt;
| [[File:CSC_logo.png|200px]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Miguel Caro</name></author>	</entry>

	<entry>
		<id>http://dospt.org/index.php?title=DoSPT&amp;diff=371</id>
		<title>DoSPT</title>
		<link rel="alternate" type="text/html" href="http://dospt.org/index.php?title=DoSPT&amp;diff=371"/>
				<updated>2021-06-24T07:48:58Z</updated>
		
		<summary type="html">&lt;p&gt;Miguel Caro: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; width: 45%; margin-top: 0px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;background-color: white;&amp;quot;|&lt;br /&gt;
[[File:Dospt.png|420px|center]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot;|&lt;br /&gt;
''A Fortran implementation of the 2PT method''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot;|&lt;br /&gt;
'''What's new?'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
'''24/06/2021''': The [[smooth]] and [[estimate_velocities]] keywords are now documented. Tutorial 1 has been updated, including discussion of [[estimate_velocities]].&lt;br /&gt;
&lt;br /&gt;
'''16/04/2021''': The [[topology file]] usage is now documented. This is useful for bond breaking and formation.&lt;br /&gt;
&lt;br /&gt;
'''10/02/2020''': The latest development version of DoSPT features a new capability to handle vacuum in the simulation box, particularly geared towards interfacial simulations.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Welcome to the '''DoSPT''' website. '''DoSPT''' is a code that allows you to compute '''entropies''' from '''molecular dynamics''' simulations within the framework of the 2PT method. You can check out the [[DoSPT publications]] to get a better idea of what this is all about.&lt;br /&gt;
&lt;br /&gt;
At the moment you can [[Download the code|download]] and [[Installation|install]] the code. A list of [[What does DoSPT do|features]] and the [[documentation]] are still incomplete but more info is constantly being added. Example calculations showcasing the basic capabilities of the code are available as [[tutorials]]. More tutorials are coming up!&lt;br /&gt;
&lt;br /&gt;
If you need further information while the website is undergoing quick changes, please directly contact [[User:Miguel Caro|Miguel Caro]], who should be able to help you out.&lt;br /&gt;
&lt;br /&gt;
The DoSPT project is possible thanks to the support from [http://www.aalto.fi Aalto University], [http://www.aka.fi Academy of Finland] and [http://www.csc.fi CSC - IT Center for Science].&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 80%&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| [[File:Aalto_logo.png|250px]]&lt;br /&gt;
| [[File:AKA_logo.jpg|200px]]&lt;br /&gt;
| [[File:CSC_logo.png|200px]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Miguel Caro</name></author>	</entry>

	<entry>
		<id>http://dospt.org/index.php?title=Smooth&amp;diff=370</id>
		<title>Smooth</title>
		<link rel="alternate" type="text/html" href="http://dospt.org/index.php?title=Smooth&amp;diff=370"/>
				<updated>2021-06-24T07:46:55Z</updated>
		
		<summary type="html">&lt;p&gt;Miguel Caro: /* Summary */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &amp;lt;code&amp;gt;smooth&amp;lt;/code&amp;gt; keyword is an '''optional''' keyword in the &amp;lt;code&amp;gt;[[input]]&amp;lt;/code&amp;gt; file. It takes 1 logical argument, &amp;lt;code&amp;gt;.true.&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;.false.&amp;lt;/code&amp;gt;. When used, it applies a [https://en.wikipedia.org/wiki/Local_regression LOWESS filter] to smooth out the DoS. This can help stabilize entropy calculations with insufficient sampling due to the noise in the DoS. The locality of the smoothing is optionally tuned with the [[sigma_nu]] keyword. See an example below:&lt;br /&gt;
&lt;br /&gt;
[[File:Smooth_01.png|center]]&lt;br /&gt;
&lt;br /&gt;
=== Summary ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Summary for &amp;lt;code&amp;gt;smooth&amp;lt;/code&amp;gt; keyword&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot;| Required/optional&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot;| Type&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot;| Accepted values&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot;| Default&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot;| See also&lt;br /&gt;
|-&lt;br /&gt;
| Optional&lt;br /&gt;
| Logical&lt;br /&gt;
| .false.|.true.&lt;br /&gt;
| .false.&lt;br /&gt;
| [[Input file]], [[sigma_nu]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
 smooth = .true.&lt;/div&gt;</summary>
		<author><name>Miguel Caro</name></author>	</entry>

	<entry>
		<id>http://dospt.org/index.php?title=Sigma_nu&amp;diff=369</id>
		<title>Sigma nu</title>
		<link rel="alternate" type="text/html" href="http://dospt.org/index.php?title=Sigma_nu&amp;diff=369"/>
				<updated>2021-06-24T07:46:29Z</updated>
		
		<summary type="html">&lt;p&gt;Miguel Caro: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &amp;lt;code&amp;gt;sigma_nu&amp;lt;/code&amp;gt; keyword is an '''optional''' keyword in the &amp;lt;code&amp;gt;[[input]]&amp;lt;/code&amp;gt; file, unsed in combination with &amp;lt;code&amp;gt;smooth = .true.&amp;lt;/code&amp;gt;. It takes 1 float argument, in units of ps&amp;lt;sup&amp;gt;-1&amp;lt;/sup&amp;gt;. It controls the locality of the smoothing applied to the DoS when the LOWESS filter is enabled (&amp;lt;code&amp;gt;smooth = .true.&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== Summary ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Summary for &amp;lt;code&amp;gt;sigma_nu&amp;lt;/code&amp;gt; keyword&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot;| Required/optional&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot;| Type&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot;| Accepted values&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot;| Default&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot;| See also&lt;br /&gt;
|-&lt;br /&gt;
| Optional&lt;br /&gt;
| Float&lt;br /&gt;
| Any positive float&lt;br /&gt;
| 5/[[tau]]&lt;br /&gt;
| [[Input file]], [[smooth]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
 smooth = .true.&lt;br /&gt;
 sigma_nu = 2.&lt;/div&gt;</summary>
		<author><name>Miguel Caro</name></author>	</entry>

	<entry>
		<id>http://dospt.org/index.php?title=Sigma_nu&amp;diff=368</id>
		<title>Sigma nu</title>
		<link rel="alternate" type="text/html" href="http://dospt.org/index.php?title=Sigma_nu&amp;diff=368"/>
				<updated>2021-06-24T07:45:49Z</updated>
		
		<summary type="html">&lt;p&gt;Miguel Caro: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &amp;lt;code&amp;gt;sigma_nu&amp;lt;/code&amp;gt; keyword is an '''optional''' keyword in the &amp;lt;code&amp;gt;[[input]]&amp;lt;/code&amp;gt; file, unsed in combination with &amp;lt;code&amp;gt;smooth = .true.&amp;lt;/code&amp;gt;. It takes 1 float argument, in units of &amp;lt;math&amp;gt;ps^{-1}&amp;lt;/math&amp;gt;. It controls the locality of the smoothing applied to the DoS when the LOWESS filter is enabled (&amp;lt;code&amp;gt;smooth = .true.&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== Summary ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Summary for &amp;lt;code&amp;gt;sigma_nu&amp;lt;/code&amp;gt; keyword&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot;| Required/optional&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot;| Type&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot;| Accepted values&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot;| Default&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot;| See also&lt;br /&gt;
|-&lt;br /&gt;
| Optional&lt;br /&gt;
| Float&lt;br /&gt;
| Any positive float&lt;br /&gt;
| 5/[[tau]]&lt;br /&gt;
| [[Input file]], [[smooth]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
 smooth = .true.&lt;br /&gt;
 sigma_nu = 2.&lt;/div&gt;</summary>
		<author><name>Miguel Caro</name></author>	</entry>

	<entry>
		<id>http://dospt.org/index.php?title=Sigma_nu&amp;diff=367</id>
		<title>Sigma nu</title>
		<link rel="alternate" type="text/html" href="http://dospt.org/index.php?title=Sigma_nu&amp;diff=367"/>
				<updated>2021-06-24T07:44:51Z</updated>
		
		<summary type="html">&lt;p&gt;Miguel Caro: Created page with &amp;quot;The &amp;lt;code&amp;gt;sigma_nu&amp;lt;/code&amp;gt; keyword is an '''optional''' keyword in the &amp;lt;code&amp;gt;input&amp;lt;/code&amp;gt; file, unsed in combination with &amp;lt;code&amp;gt;smooth = .true.&amp;lt;/code&amp;gt;. It takes 1 float arg...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &amp;lt;code&amp;gt;sigma_nu&amp;lt;/code&amp;gt; keyword is an '''optional''' keyword in the &amp;lt;code&amp;gt;[[input]]&amp;lt;/code&amp;gt; file, unsed in combination with &amp;lt;code&amp;gt;smooth = .true.&amp;lt;/code&amp;gt;. It takes 1 float argument, in units of &amp;lt;math&amp;gt;ps^{-1}&amp;lt;/math&amp;gt;. It controls the locality of the smoothing applied to the DoS when the LOWESS filter is enabled (&amp;lt;code&amp;gt;smooth = .true.&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== Summary ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Summary for &amp;lt;code&amp;gt;sigma_nu&amp;lt;/code&amp;gt; keyword&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot;| Required/optional&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot;| Type&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot;| Accepted values&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot;| Default&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot;| See also&lt;br /&gt;
|-&lt;br /&gt;
| Optional&lt;br /&gt;
| Float&lt;br /&gt;
| Any positive float&lt;br /&gt;
| 1/[[tau]]&lt;br /&gt;
| [[Input file]], [[smooth]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
 smooth = .true.&lt;br /&gt;
 sigma_nu = 2.&lt;/div&gt;</summary>
		<author><name>Miguel Caro</name></author>	</entry>

	<entry>
		<id>http://dospt.org/index.php?title=File:Smooth_01.png&amp;diff=366</id>
		<title>File:Smooth 01.png</title>
		<link rel="alternate" type="text/html" href="http://dospt.org/index.php?title=File:Smooth_01.png&amp;diff=366"/>
				<updated>2021-06-24T07:40:57Z</updated>
		
		<summary type="html">&lt;p&gt;Miguel Caro: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Miguel Caro</name></author>	</entry>

	<entry>
		<id>http://dospt.org/index.php?title=Smooth&amp;diff=365</id>
		<title>Smooth</title>
		<link rel="alternate" type="text/html" href="http://dospt.org/index.php?title=Smooth&amp;diff=365"/>
				<updated>2021-06-24T07:40:46Z</updated>
		
		<summary type="html">&lt;p&gt;Miguel Caro: Created page with &amp;quot;The &amp;lt;code&amp;gt;smooth&amp;lt;/code&amp;gt; keyword is an '''optional''' keyword in the &amp;lt;code&amp;gt;input&amp;lt;/code&amp;gt; file. It takes 1 logical argument, &amp;lt;code&amp;gt;.true.&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;.false.&amp;lt;/code&amp;gt;. When...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &amp;lt;code&amp;gt;smooth&amp;lt;/code&amp;gt; keyword is an '''optional''' keyword in the &amp;lt;code&amp;gt;[[input]]&amp;lt;/code&amp;gt; file. It takes 1 logical argument, &amp;lt;code&amp;gt;.true.&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;.false.&amp;lt;/code&amp;gt;. When used, it applies a [https://en.wikipedia.org/wiki/Local_regression LOWESS filter] to smooth out the DoS. This can help stabilize entropy calculations with insufficient sampling due to the noise in the DoS. The locality of the smoothing is optionally tuned with the [[sigma_nu]] keyword. See an example below:&lt;br /&gt;
&lt;br /&gt;
[[File:Smooth_01.png|center]]&lt;br /&gt;
&lt;br /&gt;
=== Summary ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Summary for &amp;lt;code&amp;gt;temperature&amp;lt;/code&amp;gt; keyword&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot;| Required/optional&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot;| Type&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot;| Accepted values&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot;| Default&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot;| See also&lt;br /&gt;
|-&lt;br /&gt;
| Optional&lt;br /&gt;
| Logical&lt;br /&gt;
| .false.|.true.&lt;br /&gt;
| .false.&lt;br /&gt;
| [[Input file]], [[sigma_nu]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
 smooth = .true.&lt;/div&gt;</summary>
		<author><name>Miguel Caro</name></author>	</entry>

	<entry>
		<id>http://dospt.org/index.php?title=Estimate_velocities&amp;diff=364</id>
		<title>Estimate velocities</title>
		<link rel="alternate" type="text/html" href="http://dospt.org/index.php?title=Estimate_velocities&amp;diff=364"/>
				<updated>2021-06-24T07:28:18Z</updated>
		
		<summary type="html">&lt;p&gt;Miguel Caro: Created page with &amp;quot;The &amp;lt;code&amp;gt;estimate_velocities&amp;lt;/code&amp;gt; keyword is an '''optional''' keyword in the &amp;lt;code&amp;gt;input&amp;lt;/code&amp;gt; file. It takes 1 logical argument, &amp;lt;code&amp;gt;.true.&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;.false....&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &amp;lt;code&amp;gt;estimate_velocities&amp;lt;/code&amp;gt; keyword is an '''optional''' keyword in the &amp;lt;code&amp;gt;[[input]]&amp;lt;/code&amp;gt; file. It takes 1 logical argument, &amp;lt;code&amp;gt;.true.&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;.false.&amp;lt;/code&amp;gt;. It is used to enable a quadratic interpolation of the velocities from the positions, useful when the velocities in the trajectory file are not reliable (e.g., positions and velocities are not synchronous). See the discussion in [[Tutorial 1: standard molar entropy of liquid water#Velocity estimation vs. velocities from trajectory|tutorial 1]] for more details.&lt;br /&gt;
&lt;br /&gt;
=== Summary ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Summary for &amp;lt;code&amp;gt;temperature&amp;lt;/code&amp;gt; keyword&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot;| Required/optional&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot;| Type&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot;| Accepted values&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot;| Default&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot;| See also&lt;br /&gt;
|-&lt;br /&gt;
| Optional&lt;br /&gt;
| Logical&lt;br /&gt;
| .false.|.true.&lt;br /&gt;
| .false.&lt;br /&gt;
| [[Input file]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
 estimate_velocities = .false.&lt;/div&gt;</summary>
		<author><name>Miguel Caro</name></author>	</entry>

	<entry>
		<id>http://dospt.org/index.php?title=File:Tutorial01_04.png&amp;diff=363</id>
		<title>File:Tutorial01 04.png</title>
		<link rel="alternate" type="text/html" href="http://dospt.org/index.php?title=File:Tutorial01_04.png&amp;diff=363"/>
				<updated>2021-06-24T07:21:58Z</updated>
		
		<summary type="html">&lt;p&gt;Miguel Caro: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Miguel Caro</name></author>	</entry>

	<entry>
		<id>http://dospt.org/index.php?title=Tutorial_1:_standard_molar_entropy_of_liquid_water&amp;diff=362</id>
		<title>Tutorial 1: standard molar entropy of liquid water</title>
		<link rel="alternate" type="text/html" href="http://dospt.org/index.php?title=Tutorial_1:_standard_molar_entropy_of_liquid_water&amp;diff=362"/>
				<updated>2021-06-24T07:21:43Z</updated>
		
		<summary type="html">&lt;p&gt;Miguel Caro: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''Note added on 24/06/2021: This tutorial has been updated to accommodate defaults in newer Gromacs versions and includes more information on the issues to keep in mind when using the velocity estimation option. We have also updated the Python code to accommodate Python3 syntax.''&lt;br /&gt;
&lt;br /&gt;
The first tutorial is the simplest calculation you can carry out with DoSPT: estimating the standard molar entropy of liquid water.&lt;br /&gt;
&lt;br /&gt;
=== Generate the trajectory ===&lt;br /&gt;
&lt;br /&gt;
'''Note:''' ''If you have already generated a trajectory file, you can skip this step. Also note that Gromacs (or else) topology files are '''not''' required to run a DoSPT calculation: you only need a trajectory file generated with your MD package of choice (*.xyz and *.gro are currently supported formats) and DoSPT input files.''&lt;br /&gt;
&lt;br /&gt;
DoSPT cannot generate a molecular dynamics trajectory, therefore we need to generate our MD trajectory using some other package. At the moment DoSPT has native support for .xyz and .gro trajectory files. Since [http://www.gromacs.org Gromacs] is an easy-to-use and freely available package, we will be generating our trajectory with Gromacs. We will assume that you are already familiar with MD calculations.&lt;br /&gt;
&lt;br /&gt;
[[File:100_water_molecules.png|thumb|200px|Initial configuration with 100 TIP4P water molecules]]&lt;br /&gt;
&lt;br /&gt;
To avoid wasting time on equilibrating the system, you can download this pre-equilibrated system made up of [http://dospt.org/tutorials/tutorial01/water.gro 100 water molecules]. The model used is TIP4P, which contains one dummy atom per water molecule. Therefore each water molecule is assigned a total of 4 atoms (three real and one dummy). The file name is &amp;quot;water.gro&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Now we generate a trajectory from this initial configuration. We are not going to worry about the quality of the dynamics for this tutorial, since we only need an example trajectory for post-processing with DoSPT. The Gromacs files needed are &amp;quot;topol.top&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 #include &amp;quot;oplsaa.ff/forcefield.itp&amp;quot;&lt;br /&gt;
 #include &amp;quot;oplsaa.ff/tip4p.itp&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 [ system ]&lt;br /&gt;
 Water&lt;br /&gt;
 &lt;br /&gt;
 [ molecules ]&lt;br /&gt;
 SOL      100&lt;br /&gt;
&lt;br /&gt;
And an &amp;quot;md.mdp&amp;quot; file with some basic options:&lt;br /&gt;
&lt;br /&gt;
 integrator =  md&lt;br /&gt;
 ;integrator =  md-vv ; use this to avoid issues with asynchronous velocities and positions&lt;br /&gt;
 dt = 0.001&lt;br /&gt;
 nsteps = 20000&lt;br /&gt;
 constraints = h-bonds&lt;br /&gt;
 constraint_algorithm = lincs&lt;br /&gt;
 lincs_order = 4&lt;br /&gt;
 nstxout = 4&lt;br /&gt;
 nstvout = 4&lt;br /&gt;
 cutoff-scheme = group&lt;br /&gt;
 ns_type = grid&lt;br /&gt;
 nstlist = 5&lt;br /&gt;
 rlist = 0.7&lt;br /&gt;
 coulombtype = PME&lt;br /&gt;
 rcoulomb = 0.7&lt;br /&gt;
 vdw-type = cut-off&lt;br /&gt;
 rvdw = 0.7&lt;br /&gt;
 tc-grps = SOL&lt;br /&gt;
 Tcoupl = nose-hoover&lt;br /&gt;
 tau_t = 0.2&lt;br /&gt;
 ref_t =  298.15&lt;br /&gt;
&lt;br /&gt;
Note that we are running dynamics for a total of 20ps and we are saving position and velocity information every 4 steps, which is every 4fs in this case given our 1fs time step. It is also very important to note that if we are using the &amp;quot;md&amp;quot; integrator, which is a &amp;quot;leap-frog&amp;quot; integrator, velocities and positions are offset by half a time step, and cannot be used to accurately estimate angular momenta. We will compare below between &amp;quot;md&amp;quot; and &amp;quot;md-vv&amp;quot;, which uses the Velocity Verlet integrator and allows us to directly use velocities from the simulation.&lt;br /&gt;
&lt;br /&gt;
We generate our topology files and run the dynamics:&lt;br /&gt;
&lt;br /&gt;
 gmx grompp -f md.mdp -c water.gro -p topol.top -o md.tpr&lt;br /&gt;
 &lt;br /&gt;
 gmx mdrun -v -deffnm md&lt;br /&gt;
&lt;br /&gt;
After a few seconds the simulation will be finished. We now need to extract the required trajectory information to a file called &amp;quot;traj.gro&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 gmx trjconv -f md.trr -s md.tpr -o traj.gro -dt 0.004 -ndec 5 -vel&lt;br /&gt;
&lt;br /&gt;
Note that we are extracting velocity and position information every 0.004ps = 4fs, and we are requesting 5 decimal places for positions (the default 0.001 nm precision of Gromacs is not enough for the 2PT analysis). If we ran with the &amp;quot;md&amp;quot; integrator, we should not use the velocities because of the mentioned issue with leap-frog, so we could as well have left the &amp;quot;-vel&amp;quot; option out.&lt;br /&gt;
&lt;br /&gt;
The generated trajectory file is quite large, 132MB in this case. You'll have to take memory limitations into account when extracting trajectory info.&lt;br /&gt;
&lt;br /&gt;
=== Prepare the DoSPT input files ===&lt;br /&gt;
&lt;br /&gt;
Now that we have generated a trajectory DoSPT comes into play. We need 5 files to run this simulation, which should all be located within the same directory:&lt;br /&gt;
&lt;br /&gt;
* traj.gro (trajectory file from the MD simulation)&lt;br /&gt;
* input (all the DoSPT input options)&lt;br /&gt;
* groups (defines the groups of atoms)&lt;br /&gt;
* supergroups (all groups of the same type)&lt;br /&gt;
* masses (defines atomic masses)&lt;br /&gt;
&lt;br /&gt;
The following input file will be enough for our purposes:&lt;br /&gt;
&lt;br /&gt;
 # Number of points in the trajectory (5001)&lt;br /&gt;
 points = 5001&lt;br /&gt;
 # Trajectory period in ps (20)&lt;br /&gt;
 tau = 20.&lt;br /&gt;
 # Size of the box in nm&lt;br /&gt;
 cell = 1.472 1.472 1.472&lt;br /&gt;
 # Temperature in K&lt;br /&gt;
 temperature = 298.15&lt;br /&gt;
 # Trajectory info&lt;br /&gt;
 format = gro&lt;br /&gt;
 # Estimate velocities from positions&lt;br /&gt;
 estimate_velocities = .true.&lt;br /&gt;
&lt;br /&gt;
Note that we had to enable velocity estimation because of the problem with leap-frog integration. The cell size can be taken from the last line in the &amp;quot;water.gro&amp;quot; file. The units in this input file are strictly given in the units specified in the comments. Comments always start with a &amp;quot;#&amp;quot; symbol.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;masses&amp;quot; file assigns a mass in a.m.u. to the atomic labels. For TIP4P, atomic labels are &amp;quot;OW&amp;quot;, &amp;quot;HW1&amp;quot;, &amp;quot;HW2&amp;quot; and &amp;quot;MW&amp;quot;, for oxygen, the two hydrogens, and the dummy atom, respectively. Our &amp;quot;masses&amp;quot; file looks like this:&lt;br /&gt;
&lt;br /&gt;
 OW   16.00&lt;br /&gt;
 HW1   1.01&lt;br /&gt;
 HW2   1.01&lt;br /&gt;
 MW    0.00&lt;br /&gt;
&lt;br /&gt;
We have assigned zero mass to the dummy atom. You will need to adapt the mass definitions depending on the specific topology of your molecule when dummy atoms are included.&lt;br /&gt;
&lt;br /&gt;
Now we need to generate the &amp;quot;groups&amp;quot; file. The mandatory structure is as follows:&lt;br /&gt;
&lt;br /&gt;
 natoms ngroups&lt;br /&gt;
 n1 s1&lt;br /&gt;
 n1_1 n1_2 n1_3 ...&lt;br /&gt;
 n2 s2&lt;br /&gt;
 n2_1 n2_2 n2_3 ...&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
The first line contains the total number of atoms &amp;quot;natoms&amp;quot; in the system followed by the number of groups &amp;quot;ngroups&amp;quot;. This is then followed by two lines for each group, one line with the number of atoms in the group (&amp;quot;n1&amp;quot;, &amp;quot;n2&amp;quot;, etc.) and the symmetry number of the group (&amp;quot;s1&amp;quot;, &amp;quot;s2&amp;quot;, etc.) and another line with the labels of all the atoms belonging to that group. In our present example, TIP4P water molecules have 4 atoms, and their symmetry number is 2; therefore our &amp;quot;groups&amp;quot; file will look like this:&lt;br /&gt;
&lt;br /&gt;
 400 100&lt;br /&gt;
 4 2&lt;br /&gt;
 1 2 3 4&lt;br /&gt;
 4 2&lt;br /&gt;
 5 6 7 8&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
The easiest way to generate this file is with a Python script &amp;quot;setup_groups.py&amp;quot;, e.g.:&lt;br /&gt;
&lt;br /&gt;
 print(400, 100)&lt;br /&gt;
 &lt;br /&gt;
 for i in range(0,100):&lt;br /&gt;
     print(4,2)&lt;br /&gt;
     print(4*i+1, 4*i+2, 4*i+3, 4*i+4)&lt;br /&gt;
&lt;br /&gt;
Then run:&lt;br /&gt;
&lt;br /&gt;
 python3 setup_groups.py &amp;gt; groups&lt;br /&gt;
&lt;br /&gt;
Finally, we need a &amp;quot;supergroups&amp;quot; file. Since this is a monocomponent system, all the groups, from 1 to 100, belong to the same supergroup. The &amp;quot;supergroups&amp;quot; file can be constructed like this:&lt;br /&gt;
&lt;br /&gt;
 1-100&lt;br /&gt;
&lt;br /&gt;
=== Run DoSPT and analyze the results ===&lt;br /&gt;
&lt;br /&gt;
At this point we have everything we need to run a DoSPT calculation. Simply type &amp;quot;DoSPT&amp;quot; and look at the program's progress being printed on the screen. At the end of the execution several files will have been created. The entropy information is contained in the &amp;quot;entropy&amp;quot; file. Type &amp;quot;tail -2 entropy&amp;quot; to get this info printed on the screen:&lt;br /&gt;
&lt;br /&gt;
 # Supergroup; Entropies in eV/K [trans, rot, vib]; Total entropy in eV/K; Total entropy in J/K&lt;br /&gt;
       1   5.46004868E-02   1.05552205E-02   1.56976588E-06   6.51572771E-02   6.28682368E+03&lt;br /&gt;
&lt;br /&gt;
The last number tells you that the total entropy for this system is 6286.2 J/K, if this system constituted one molecule of the substance under study. Since we have 100 molecules, this means that the calculated molar entropy is 62.862 J/K/mol. Compare this to the experimental value of 69.9 J/K/mol. Note that the discrepancy with experiment is mostly due to the water model, force field used and simulation box size (finite-size effects).&lt;br /&gt;
&lt;br /&gt;
The density of states for supergroups is written to file &amp;quot;dos_sg&amp;quot;. You can visualize it using for instance &amp;quot;gnuplot&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 set xlabel &amp;quot;Frequency (ps^{-1})&amp;quot;&lt;br /&gt;
 set ylabel &amp;quot;DoS (ps)&amp;quot;&lt;br /&gt;
 plot &amp;quot;dos_sg&amp;quot; u 1:2 t &amp;quot;Trans&amp;quot; w l, &amp;quot;&amp;quot; u 1:3 t &amp;quot;Rot&amp;quot; w l, &amp;quot;&amp;quot; u 1:4 t &amp;quot;Vib&amp;quot; w l&lt;br /&gt;
&lt;br /&gt;
[[File:tutorial01_01.png|center]]&lt;br /&gt;
&lt;br /&gt;
As expected there are no vibrational contributions to the DoS since TIP4P is a rigid model. Since there are no high frequency vibrational contributions, we can plot a close-up:&lt;br /&gt;
&lt;br /&gt;
[[File:tutorial01_02.png|center]]&lt;br /&gt;
&lt;br /&gt;
Since the integral of the DoS should equal the total number of degrees of freedom (DoF), we can use the &amp;quot;smooth cumulative&amp;quot; option of gnuplot to get a quick estimate of this number (the distance between data points is 0.05 ps^-1):&lt;br /&gt;
&lt;br /&gt;
 set key bottom&lt;br /&gt;
 set ylabel &amp;quot;Integrated no. of DoF&amp;quot;&lt;br /&gt;
 plot &amp;quot;dos_sg&amp;quot; u 1:($2*0.05) smooth cumulative t &amp;quot;Trans DoF&amp;quot; w l, &amp;quot;&amp;quot; u 1:($3*0.05) smooth cumulative t &amp;quot;Rot DoF&amp;quot; w l&lt;br /&gt;
&lt;br /&gt;
[[File:tutorial01_03.png|center]]&lt;br /&gt;
&lt;br /&gt;
It's easy to see that the computed number of DoFs is less than expected: 300 translational and 300 vibrational - adjusted to the specifics of your MD code, which might be subtracting the linear and/or angular velocities of the center of mass of your system (i.e., minus 3 degrees of freedom for each). The problem of underestimation of the number of degrees of freedom is associated to equilibration, total trajectory time and system size, and severely affects the rate of convergence of calculated entropy results. Check out the [[DoS renormalization]] article to learn how DoSPT can correct the leading error and significantly speed up convergence of results with respect to the number of sampled configurations.&lt;br /&gt;
&lt;br /&gt;
=== Velocity estimation vs. velocities from trajectory ===&lt;br /&gt;
&lt;br /&gt;
As mentioned above, with the leap-frog integrator the velocities from Gromacs are useless, because they are offset by half a time step from the positions. This means that the calculated angular momenta would be wrong. '''DoSPT''' allows you to use the [[estimate_velocities]] keyword to discard the velocities given in the trajectory file and use a quadratic interpolation to estimate them from the positions. The problem with this is that you need very fine sampling to get accurate velocities with this method, leading to large trajectory files. Instead, the preferred method is to use a Velocity Verlet integrator (&amp;quot;md-vv&amp;quot; in Gromacs) to get synchronous velocities and positions out of the trajectory file. This is more accurate and requires less fine sampling. Below are examples with (&amp;quot;md&amp;quot;) and without (&amp;quot;md-vv&amp;quot;) velocity estimation for different sampling frequencies:&lt;br /&gt;
&lt;br /&gt;
[[File:tutorial01_04.png|center]]&lt;br /&gt;
&lt;br /&gt;
The issue is clear. Particularly, high-frequency modes are suppressed by the velocity smoothing, which should be used with caution.&lt;br /&gt;
&lt;br /&gt;
=== Homework ===&lt;br /&gt;
&lt;br /&gt;
Repeat this tutorial with other water models to get an idea of the impact of the force field on the results. Also, repeat the calculation for different starting configurations/number of molecules (with the same force field) to get an idea of the statistical variation of entropy results and the impact of system size.&lt;/div&gt;</summary>
		<author><name>Miguel Caro</name></author>	</entry>

	<entry>
		<id>http://dospt.org/index.php?title=File:Tutorial01_03.png&amp;diff=361</id>
		<title>File:Tutorial01 03.png</title>
		<link rel="alternate" type="text/html" href="http://dospt.org/index.php?title=File:Tutorial01_03.png&amp;diff=361"/>
				<updated>2021-06-24T06:59:19Z</updated>
		
		<summary type="html">&lt;p&gt;Miguel Caro: Miguel Caro uploaded a new version of File:Tutorial01 03.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Miguel Caro</name></author>	</entry>

	<entry>
		<id>http://dospt.org/index.php?title=File:Tutorial01_02.png&amp;diff=360</id>
		<title>File:Tutorial01 02.png</title>
		<link rel="alternate" type="text/html" href="http://dospt.org/index.php?title=File:Tutorial01_02.png&amp;diff=360"/>
				<updated>2021-06-24T06:58:34Z</updated>
		
		<summary type="html">&lt;p&gt;Miguel Caro: Miguel Caro uploaded a new version of File:Tutorial01 02.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Miguel Caro</name></author>	</entry>

	<entry>
		<id>http://dospt.org/index.php?title=File:Tutorial01_01.png&amp;diff=359</id>
		<title>File:Tutorial01 01.png</title>
		<link rel="alternate" type="text/html" href="http://dospt.org/index.php?title=File:Tutorial01_01.png&amp;diff=359"/>
				<updated>2021-06-24T06:58:10Z</updated>
		
		<summary type="html">&lt;p&gt;Miguel Caro: Miguel Caro uploaded a new version of File:Tutorial01 01.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Miguel Caro</name></author>	</entry>

	<entry>
		<id>http://dospt.org/index.php?title=Tutorial_1:_standard_molar_entropy_of_liquid_water&amp;diff=358</id>
		<title>Tutorial 1: standard molar entropy of liquid water</title>
		<link rel="alternate" type="text/html" href="http://dospt.org/index.php?title=Tutorial_1:_standard_molar_entropy_of_liquid_water&amp;diff=358"/>
				<updated>2021-06-24T06:56:14Z</updated>
		
		<summary type="html">&lt;p&gt;Miguel Caro: /* Run DoSPT and analyze the results */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''Note added on 24/06/2021: This tutorial has been updated to accommodate defaults in newer Gromacs versions and includes more information on the issues to keep in mind when using the velocity estimation option. We have also updated the Python code to accommodate Python3 syntax.''&lt;br /&gt;
&lt;br /&gt;
The first tutorial is the simplest calculation you can carry out with DoSPT: estimating the standard molar entropy of liquid water.&lt;br /&gt;
&lt;br /&gt;
=== Generate the trajectory ===&lt;br /&gt;
&lt;br /&gt;
'''Note:''' ''If you have already generated a trajectory file, you can skip this step. Also note that Gromacs (or else) topology files are '''not''' required to run a DoSPT calculation: you only need a trajectory file generated with your MD package of choice (*.xyz and *.gro are currently supported formats) and DoSPT input files.''&lt;br /&gt;
&lt;br /&gt;
DoSPT cannot generate a molecular dynamics trajectory, therefore we need to generate our MD trajectory using some other package. At the moment DoSPT has native support for .xyz and .gro trajectory files. Since [http://www.gromacs.org Gromacs] is an easy-to-use and freely available package, we will be generating our trajectory with Gromacs. We will assume that you are already familiar with MD calculations.&lt;br /&gt;
&lt;br /&gt;
[[File:100_water_molecules.png|thumb|200px|Initial configuration with 100 TIP4P water molecules]]&lt;br /&gt;
&lt;br /&gt;
To avoid wasting time on equilibrating the system, you can download this pre-equilibrated system made up of [http://dospt.org/tutorials/tutorial01/water.gro 100 water molecules]. The model used is TIP4P, which contains one dummy atom per water molecule. Therefore each water molecule is assigned a total of 4 atoms (three real and one dummy). The file name is &amp;quot;water.gro&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Now we generate a trajectory from this initial configuration. We are not going to worry about the quality of the dynamics for this tutorial, since we only need an example trajectory for post-processing with DoSPT. The Gromacs files needed are &amp;quot;topol.top&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 #include &amp;quot;oplsaa.ff/forcefield.itp&amp;quot;&lt;br /&gt;
 #include &amp;quot;oplsaa.ff/tip4p.itp&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 [ system ]&lt;br /&gt;
 Water&lt;br /&gt;
 &lt;br /&gt;
 [ molecules ]&lt;br /&gt;
 SOL      100&lt;br /&gt;
&lt;br /&gt;
And an &amp;quot;md.mdp&amp;quot; file with some basic options:&lt;br /&gt;
&lt;br /&gt;
 integrator =  md&lt;br /&gt;
 ;integrator =  md-vv ; use this to avoid issues with asynchronous velocities and positions&lt;br /&gt;
 dt = 0.001&lt;br /&gt;
 nsteps = 20000&lt;br /&gt;
 constraints = h-bonds&lt;br /&gt;
 constraint_algorithm = lincs&lt;br /&gt;
 lincs_order = 4&lt;br /&gt;
 nstxout = 4&lt;br /&gt;
 nstvout = 4&lt;br /&gt;
 cutoff-scheme = group&lt;br /&gt;
 ns_type = grid&lt;br /&gt;
 nstlist = 5&lt;br /&gt;
 rlist = 0.7&lt;br /&gt;
 coulombtype = PME&lt;br /&gt;
 rcoulomb = 0.7&lt;br /&gt;
 vdw-type = cut-off&lt;br /&gt;
 rvdw = 0.7&lt;br /&gt;
 tc-grps = SOL&lt;br /&gt;
 Tcoupl = nose-hoover&lt;br /&gt;
 tau_t = 0.2&lt;br /&gt;
 ref_t =  298.15&lt;br /&gt;
&lt;br /&gt;
Note that we are running dynamics for a total of 20ps and we are saving position and velocity information every 4 steps, which is every 4fs in this case given our 1fs time step. It is also very important to note that if we are using the &amp;quot;md&amp;quot; integrator, which is a &amp;quot;leap-frog&amp;quot; integrator, velocities and positions are offset by half a time step, and cannot be used to accurately estimate angular momenta. We will compare below between &amp;quot;md&amp;quot; and &amp;quot;md-vv&amp;quot;, which uses the Velocity Verlet integrator and allows us to directly use velocities from the simulation.&lt;br /&gt;
&lt;br /&gt;
We generate our topology files and run the dynamics:&lt;br /&gt;
&lt;br /&gt;
 gmx grompp -f md.mdp -c water.gro -p topol.top -o md.tpr&lt;br /&gt;
 &lt;br /&gt;
 gmx mdrun -v -deffnm md&lt;br /&gt;
&lt;br /&gt;
After a few seconds the simulation will be finished. We now need to extract the required trajectory information to a file called &amp;quot;traj.gro&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 gmx trjconv -f md.trr -s md.tpr -o traj.gro -dt 0.004 -ndec 5 -vel&lt;br /&gt;
&lt;br /&gt;
Note that we are extracting velocity and position information every 0.004ps = 4fs, and we are requesting 5 decimal places for positions (the default 0.001 nm precision of Gromacs is not enough for the 2PT analysis). If we ran with the &amp;quot;md&amp;quot; integrator, we should not use the velocities because of the mentioned issue with leap-frog, so we could as well have left the &amp;quot;-vel&amp;quot; option out.&lt;br /&gt;
&lt;br /&gt;
The generated trajectory file is quite large, 132MB in this case. You'll have to take memory limitations into account when extracting trajectory info.&lt;br /&gt;
&lt;br /&gt;
=== Prepare the DoSPT input files ===&lt;br /&gt;
&lt;br /&gt;
Now that we have generated a trajectory DoSPT comes into play. We need 5 files to run this simulation, which should all be located within the same directory:&lt;br /&gt;
&lt;br /&gt;
* traj.gro (trajectory file from the MD simulation)&lt;br /&gt;
* input (all the DoSPT input options)&lt;br /&gt;
* groups (defines the groups of atoms)&lt;br /&gt;
* supergroups (all groups of the same type)&lt;br /&gt;
* masses (defines atomic masses)&lt;br /&gt;
&lt;br /&gt;
The following input file will be enough for our purposes:&lt;br /&gt;
&lt;br /&gt;
 # Number of points in the trajectory (5001)&lt;br /&gt;
 points = 5001&lt;br /&gt;
 # Trajectory period in ps (20)&lt;br /&gt;
 tau = 20.&lt;br /&gt;
 # Size of the box in nm&lt;br /&gt;
 cell = 1.472 1.472 1.472&lt;br /&gt;
 # Temperature in K&lt;br /&gt;
 temperature = 298.15&lt;br /&gt;
 # Trajectory info&lt;br /&gt;
 format = gro&lt;br /&gt;
 # Estimate velocities from positions&lt;br /&gt;
 estimate_velocities = .true.&lt;br /&gt;
&lt;br /&gt;
Note that we had to enable velocity estimation because of the problem with leap-frog integration. The cell size can be taken from the last line in the &amp;quot;water.gro&amp;quot; file. The units in this input file are strictly given in the units specified in the comments. Comments always start with a &amp;quot;#&amp;quot; symbol.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;masses&amp;quot; file assigns a mass in a.m.u. to the atomic labels. For TIP4P, atomic labels are &amp;quot;OW&amp;quot;, &amp;quot;HW1&amp;quot;, &amp;quot;HW2&amp;quot; and &amp;quot;MW&amp;quot;, for oxygen, the two hydrogens, and the dummy atom, respectively. Our &amp;quot;masses&amp;quot; file looks like this:&lt;br /&gt;
&lt;br /&gt;
 OW   16.00&lt;br /&gt;
 HW1   1.01&lt;br /&gt;
 HW2   1.01&lt;br /&gt;
 MW    0.00&lt;br /&gt;
&lt;br /&gt;
We have assigned zero mass to the dummy atom. You will need to adapt the mass definitions depending on the specific topology of your molecule when dummy atoms are included.&lt;br /&gt;
&lt;br /&gt;
Now we need to generate the &amp;quot;groups&amp;quot; file. The mandatory structure is as follows:&lt;br /&gt;
&lt;br /&gt;
 natoms ngroups&lt;br /&gt;
 n1 s1&lt;br /&gt;
 n1_1 n1_2 n1_3 ...&lt;br /&gt;
 n2 s2&lt;br /&gt;
 n2_1 n2_2 n2_3 ...&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
The first line contains the total number of atoms &amp;quot;natoms&amp;quot; in the system followed by the number of groups &amp;quot;ngroups&amp;quot;. This is then followed by two lines for each group, one line with the number of atoms in the group (&amp;quot;n1&amp;quot;, &amp;quot;n2&amp;quot;, etc.) and the symmetry number of the group (&amp;quot;s1&amp;quot;, &amp;quot;s2&amp;quot;, etc.) and another line with the labels of all the atoms belonging to that group. In our present example, TIP4P water molecules have 4 atoms, and their symmetry number is 2; therefore our &amp;quot;groups&amp;quot; file will look like this:&lt;br /&gt;
&lt;br /&gt;
 400 100&lt;br /&gt;
 4 2&lt;br /&gt;
 1 2 3 4&lt;br /&gt;
 4 2&lt;br /&gt;
 5 6 7 8&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
The easiest way to generate this file is with a Python script &amp;quot;setup_groups.py&amp;quot;, e.g.:&lt;br /&gt;
&lt;br /&gt;
 print(400, 100)&lt;br /&gt;
 &lt;br /&gt;
 for i in range(0,100):&lt;br /&gt;
     print(4,2)&lt;br /&gt;
     print(4*i+1, 4*i+2, 4*i+3, 4*i+4)&lt;br /&gt;
&lt;br /&gt;
Then run:&lt;br /&gt;
&lt;br /&gt;
 python3 setup_groups.py &amp;gt; groups&lt;br /&gt;
&lt;br /&gt;
Finally, we need a &amp;quot;supergroups&amp;quot; file. Since this is a monocomponent system, all the groups, from 1 to 100, belong to the same supergroup. The &amp;quot;supergroups&amp;quot; file can be constructed like this:&lt;br /&gt;
&lt;br /&gt;
 1-100&lt;br /&gt;
&lt;br /&gt;
=== Run DoSPT and analyze the results ===&lt;br /&gt;
&lt;br /&gt;
At this point we have everything we need to run a DoSPT calculation. Simply type &amp;quot;DoSPT&amp;quot; and look at the program's progress being printed on the screen. At the end of the execution several files will have been created. The entropy information is contained in the &amp;quot;entropy&amp;quot; file. Type &amp;quot;tail -2 entropy&amp;quot; to get this info printed on the screen:&lt;br /&gt;
&lt;br /&gt;
 # Supergroup; Entropies in eV/K [trans, rot, vib]; Total entropy in eV/K; Total entropy in J/K&lt;br /&gt;
       1   5.46004868E-02   1.05552205E-02   1.56976588E-06   6.51572771E-02   6.28682368E+03&lt;br /&gt;
&lt;br /&gt;
The last number tells you that the total entropy for this system is 6286.2 J/K, if this system constituted one molecule of the substance under study. Since we have 100 molecules, this means that the calculated molar entropy is 62.862 J/K/mol. Compare this to the experimental value of 69.9 J/K/mol. Note that the discrepancy with experiment is mostly due to the water model, force field used and simulation box size (finite-size effects).&lt;br /&gt;
&lt;br /&gt;
The density of states for supergroups is written to file &amp;quot;dos_sg&amp;quot;. You can visualize it using for instance &amp;quot;gnuplot&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 set xlabel &amp;quot;Frequency (ps^{-1})&amp;quot;&lt;br /&gt;
 set ylabel &amp;quot;DoS (ps)&amp;quot;&lt;br /&gt;
 plot &amp;quot;dos_sg&amp;quot; u 1:2 t &amp;quot;Trans&amp;quot; w l, &amp;quot;&amp;quot; u 1:3 t &amp;quot;Rot&amp;quot; w l, &amp;quot;&amp;quot; u 1:4 t &amp;quot;Vib&amp;quot; w l&lt;br /&gt;
&lt;br /&gt;
[[File:tutorial01_01.png|center]]&lt;br /&gt;
&lt;br /&gt;
As expected there are no vibrational contributions to the DoS since TIP4P is a rigid model. Since there are no high frequency vibrational contributions, we can plot a close-up:&lt;br /&gt;
&lt;br /&gt;
[[File:tutorial01_02.png|center]]&lt;br /&gt;
&lt;br /&gt;
Since the integral of the DoS should equal the total number of degrees of freedom (DoF), we can use the &amp;quot;smooth cumulative&amp;quot; option of gnuplot to get a quick estimate of this number (the distance between data points is 0.05 ps^-1):&lt;br /&gt;
&lt;br /&gt;
 set key bottom&lt;br /&gt;
 set ylabel &amp;quot;Integrated no. of DoF&amp;quot;&lt;br /&gt;
 plot &amp;quot;dos_sg&amp;quot; u 1:($2*0.05) smooth cumulative t &amp;quot;Trans DoF&amp;quot; w l, &amp;quot;&amp;quot; u 1:($3*0.05) smooth cumulative t &amp;quot;Rot DoF&amp;quot; w l&lt;br /&gt;
&lt;br /&gt;
[[File:tutorial01_03.png|center]]&lt;br /&gt;
&lt;br /&gt;
It's easy to see that the computed number of DoFs is less than expected: 300 translational and 300 vibrational - adjusted to the specifics of your MD code, which might be subtracting the linear and/or angular velocities of the center of mass of your system (i.e., minus 3 degrees of freedom for each). The problem of underestimation of the number of degrees of freedom is associated to equilibration, total trajectory time and system size, and severely affects the rate of convergence of calculated entropy results. Check out the [[DoS renormalization]] article to learn how DoSPT can correct the leading error and significantly speed up convergence of results with respect to the number of sampled configurations.&lt;br /&gt;
&lt;br /&gt;
=== Homework ===&lt;br /&gt;
&lt;br /&gt;
Repeat this tutorial with other water models to get an idea of the impact of the force field on the results. Also, repeat the calculation for different starting configurations/number of molecules (with the same force field) to get an idea of the statistical variation of entropy results and the impact of system size.&lt;/div&gt;</summary>
		<author><name>Miguel Caro</name></author>	</entry>

	<entry>
		<id>http://dospt.org/index.php?title=Tutorial_1:_standard_molar_entropy_of_liquid_water&amp;diff=357</id>
		<title>Tutorial 1: standard molar entropy of liquid water</title>
		<link rel="alternate" type="text/html" href="http://dospt.org/index.php?title=Tutorial_1:_standard_molar_entropy_of_liquid_water&amp;diff=357"/>
				<updated>2021-06-24T06:55:06Z</updated>
		
		<summary type="html">&lt;p&gt;Miguel Caro: /* Run DoSPT and analyze the results */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''Note added on 24/06/2021: This tutorial has been updated to accommodate defaults in newer Gromacs versions and includes more information on the issues to keep in mind when using the velocity estimation option. We have also updated the Python code to accommodate Python3 syntax.''&lt;br /&gt;
&lt;br /&gt;
The first tutorial is the simplest calculation you can carry out with DoSPT: estimating the standard molar entropy of liquid water.&lt;br /&gt;
&lt;br /&gt;
=== Generate the trajectory ===&lt;br /&gt;
&lt;br /&gt;
'''Note:''' ''If you have already generated a trajectory file, you can skip this step. Also note that Gromacs (or else) topology files are '''not''' required to run a DoSPT calculation: you only need a trajectory file generated with your MD package of choice (*.xyz and *.gro are currently supported formats) and DoSPT input files.''&lt;br /&gt;
&lt;br /&gt;
DoSPT cannot generate a molecular dynamics trajectory, therefore we need to generate our MD trajectory using some other package. At the moment DoSPT has native support for .xyz and .gro trajectory files. Since [http://www.gromacs.org Gromacs] is an easy-to-use and freely available package, we will be generating our trajectory with Gromacs. We will assume that you are already familiar with MD calculations.&lt;br /&gt;
&lt;br /&gt;
[[File:100_water_molecules.png|thumb|200px|Initial configuration with 100 TIP4P water molecules]]&lt;br /&gt;
&lt;br /&gt;
To avoid wasting time on equilibrating the system, you can download this pre-equilibrated system made up of [http://dospt.org/tutorials/tutorial01/water.gro 100 water molecules]. The model used is TIP4P, which contains one dummy atom per water molecule. Therefore each water molecule is assigned a total of 4 atoms (three real and one dummy). The file name is &amp;quot;water.gro&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Now we generate a trajectory from this initial configuration. We are not going to worry about the quality of the dynamics for this tutorial, since we only need an example trajectory for post-processing with DoSPT. The Gromacs files needed are &amp;quot;topol.top&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 #include &amp;quot;oplsaa.ff/forcefield.itp&amp;quot;&lt;br /&gt;
 #include &amp;quot;oplsaa.ff/tip4p.itp&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 [ system ]&lt;br /&gt;
 Water&lt;br /&gt;
 &lt;br /&gt;
 [ molecules ]&lt;br /&gt;
 SOL      100&lt;br /&gt;
&lt;br /&gt;
And an &amp;quot;md.mdp&amp;quot; file with some basic options:&lt;br /&gt;
&lt;br /&gt;
 integrator =  md&lt;br /&gt;
 ;integrator =  md-vv ; use this to avoid issues with asynchronous velocities and positions&lt;br /&gt;
 dt = 0.001&lt;br /&gt;
 nsteps = 20000&lt;br /&gt;
 constraints = h-bonds&lt;br /&gt;
 constraint_algorithm = lincs&lt;br /&gt;
 lincs_order = 4&lt;br /&gt;
 nstxout = 4&lt;br /&gt;
 nstvout = 4&lt;br /&gt;
 cutoff-scheme = group&lt;br /&gt;
 ns_type = grid&lt;br /&gt;
 nstlist = 5&lt;br /&gt;
 rlist = 0.7&lt;br /&gt;
 coulombtype = PME&lt;br /&gt;
 rcoulomb = 0.7&lt;br /&gt;
 vdw-type = cut-off&lt;br /&gt;
 rvdw = 0.7&lt;br /&gt;
 tc-grps = SOL&lt;br /&gt;
 Tcoupl = nose-hoover&lt;br /&gt;
 tau_t = 0.2&lt;br /&gt;
 ref_t =  298.15&lt;br /&gt;
&lt;br /&gt;
Note that we are running dynamics for a total of 20ps and we are saving position and velocity information every 4 steps, which is every 4fs in this case given our 1fs time step. It is also very important to note that if we are using the &amp;quot;md&amp;quot; integrator, which is a &amp;quot;leap-frog&amp;quot; integrator, velocities and positions are offset by half a time step, and cannot be used to accurately estimate angular momenta. We will compare below between &amp;quot;md&amp;quot; and &amp;quot;md-vv&amp;quot;, which uses the Velocity Verlet integrator and allows us to directly use velocities from the simulation.&lt;br /&gt;
&lt;br /&gt;
We generate our topology files and run the dynamics:&lt;br /&gt;
&lt;br /&gt;
 gmx grompp -f md.mdp -c water.gro -p topol.top -o md.tpr&lt;br /&gt;
 &lt;br /&gt;
 gmx mdrun -v -deffnm md&lt;br /&gt;
&lt;br /&gt;
After a few seconds the simulation will be finished. We now need to extract the required trajectory information to a file called &amp;quot;traj.gro&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 gmx trjconv -f md.trr -s md.tpr -o traj.gro -dt 0.004 -ndec 5 -vel&lt;br /&gt;
&lt;br /&gt;
Note that we are extracting velocity and position information every 0.004ps = 4fs, and we are requesting 5 decimal places for positions (the default 0.001 nm precision of Gromacs is not enough for the 2PT analysis). If we ran with the &amp;quot;md&amp;quot; integrator, we should not use the velocities because of the mentioned issue with leap-frog, so we could as well have left the &amp;quot;-vel&amp;quot; option out.&lt;br /&gt;
&lt;br /&gt;
The generated trajectory file is quite large, 132MB in this case. You'll have to take memory limitations into account when extracting trajectory info.&lt;br /&gt;
&lt;br /&gt;
=== Prepare the DoSPT input files ===&lt;br /&gt;
&lt;br /&gt;
Now that we have generated a trajectory DoSPT comes into play. We need 5 files to run this simulation, which should all be located within the same directory:&lt;br /&gt;
&lt;br /&gt;
* traj.gro (trajectory file from the MD simulation)&lt;br /&gt;
* input (all the DoSPT input options)&lt;br /&gt;
* groups (defines the groups of atoms)&lt;br /&gt;
* supergroups (all groups of the same type)&lt;br /&gt;
* masses (defines atomic masses)&lt;br /&gt;
&lt;br /&gt;
The following input file will be enough for our purposes:&lt;br /&gt;
&lt;br /&gt;
 # Number of points in the trajectory (5001)&lt;br /&gt;
 points = 5001&lt;br /&gt;
 # Trajectory period in ps (20)&lt;br /&gt;
 tau = 20.&lt;br /&gt;
 # Size of the box in nm&lt;br /&gt;
 cell = 1.472 1.472 1.472&lt;br /&gt;
 # Temperature in K&lt;br /&gt;
 temperature = 298.15&lt;br /&gt;
 # Trajectory info&lt;br /&gt;
 format = gro&lt;br /&gt;
 # Estimate velocities from positions&lt;br /&gt;
 estimate_velocities = .true.&lt;br /&gt;
&lt;br /&gt;
Note that we had to enable velocity estimation because of the problem with leap-frog integration. The cell size can be taken from the last line in the &amp;quot;water.gro&amp;quot; file. The units in this input file are strictly given in the units specified in the comments. Comments always start with a &amp;quot;#&amp;quot; symbol.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;masses&amp;quot; file assigns a mass in a.m.u. to the atomic labels. For TIP4P, atomic labels are &amp;quot;OW&amp;quot;, &amp;quot;HW1&amp;quot;, &amp;quot;HW2&amp;quot; and &amp;quot;MW&amp;quot;, for oxygen, the two hydrogens, and the dummy atom, respectively. Our &amp;quot;masses&amp;quot; file looks like this:&lt;br /&gt;
&lt;br /&gt;
 OW   16.00&lt;br /&gt;
 HW1   1.01&lt;br /&gt;
 HW2   1.01&lt;br /&gt;
 MW    0.00&lt;br /&gt;
&lt;br /&gt;
We have assigned zero mass to the dummy atom. You will need to adapt the mass definitions depending on the specific topology of your molecule when dummy atoms are included.&lt;br /&gt;
&lt;br /&gt;
Now we need to generate the &amp;quot;groups&amp;quot; file. The mandatory structure is as follows:&lt;br /&gt;
&lt;br /&gt;
 natoms ngroups&lt;br /&gt;
 n1 s1&lt;br /&gt;
 n1_1 n1_2 n1_3 ...&lt;br /&gt;
 n2 s2&lt;br /&gt;
 n2_1 n2_2 n2_3 ...&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
The first line contains the total number of atoms &amp;quot;natoms&amp;quot; in the system followed by the number of groups &amp;quot;ngroups&amp;quot;. This is then followed by two lines for each group, one line with the number of atoms in the group (&amp;quot;n1&amp;quot;, &amp;quot;n2&amp;quot;, etc.) and the symmetry number of the group (&amp;quot;s1&amp;quot;, &amp;quot;s2&amp;quot;, etc.) and another line with the labels of all the atoms belonging to that group. In our present example, TIP4P water molecules have 4 atoms, and their symmetry number is 2; therefore our &amp;quot;groups&amp;quot; file will look like this:&lt;br /&gt;
&lt;br /&gt;
 400 100&lt;br /&gt;
 4 2&lt;br /&gt;
 1 2 3 4&lt;br /&gt;
 4 2&lt;br /&gt;
 5 6 7 8&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
The easiest way to generate this file is with a Python script &amp;quot;setup_groups.py&amp;quot;, e.g.:&lt;br /&gt;
&lt;br /&gt;
 print(400, 100)&lt;br /&gt;
 &lt;br /&gt;
 for i in range(0,100):&lt;br /&gt;
     print(4,2)&lt;br /&gt;
     print(4*i+1, 4*i+2, 4*i+3, 4*i+4)&lt;br /&gt;
&lt;br /&gt;
Then run:&lt;br /&gt;
&lt;br /&gt;
 python3 setup_groups.py &amp;gt; groups&lt;br /&gt;
&lt;br /&gt;
Finally, we need a &amp;quot;supergroups&amp;quot; file. Since this is a monocomponent system, all the groups, from 1 to 100, belong to the same supergroup. The &amp;quot;supergroups&amp;quot; file can be constructed like this:&lt;br /&gt;
&lt;br /&gt;
 1-100&lt;br /&gt;
&lt;br /&gt;
=== Run DoSPT and analyze the results ===&lt;br /&gt;
&lt;br /&gt;
At this point we have everything we need to run a DoSPT calculation. Simply type &amp;quot;DoSPT&amp;quot; and look at the program's progress being printed on the screen. At the end of the execution several files will have been created. The entropy information is contained in the &amp;quot;entropy&amp;quot; file. Type &amp;quot;tail -2 entropy&amp;quot; to get this info printed on the screen:&lt;br /&gt;
&lt;br /&gt;
 # Supergroup; Entropies in eV/K [trans, rot, vib]; Total entropy in eV/K; Total entropy in J/K&lt;br /&gt;
       1   5.46004868E-02   1.05552205E-02   1.56976588E-06   6.51572771E-02   6.28682368E+03&lt;br /&gt;
&lt;br /&gt;
The last number tells you that the total entropy for this system is 6286.2 J/K, if this system constituted one molecule of the substance under study. Since we have 100 molecules, this means that the calculated molar entropy is 62.862 J/K/mol. Compare this to the experimental value of 69.9 J/K/mol. Note that the discrepancy with experiment is mostly due to the water model, force field used and simulation box size (finite-size effects).&lt;br /&gt;
&lt;br /&gt;
The density of states for supergroups is written to file &amp;quot;dos_sg&amp;quot;. You can visualize it using for instance &amp;quot;gnuplot&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 set xlabel &amp;quot;Frequency (ps^{-1})&amp;quot;&lt;br /&gt;
 set ylabel &amp;quot;DoS (ps)&amp;quot;&lt;br /&gt;
 plot &amp;quot;dos_sg&amp;quot; u 1:2 t &amp;quot;Trans&amp;quot; w l lw 4, &amp;quot;&amp;quot; u 1:3 t &amp;quot;Rot&amp;quot; w l lw 4, &amp;quot;&amp;quot; u 1:4 t &amp;quot;Vib&amp;quot; w l lw 4&lt;br /&gt;
&lt;br /&gt;
[[File:tutorial01_01.png|center]]&lt;br /&gt;
&lt;br /&gt;
As expected there are no vibrational contributions to the DoS since TIP4P is a rigid model. Since there are no high frequency vibrational contributions, we can plot a close-up:&lt;br /&gt;
&lt;br /&gt;
[[File:tutorial01_02.png|center]]&lt;br /&gt;
&lt;br /&gt;
Since the integral of the DoS should equal the total number of degrees of freedom (DoF), we can use the &amp;quot;smooth cumulative&amp;quot; option of gnuplot to get a quick estimate of this number (the distance between data points is 0.05 ps^-1):&lt;br /&gt;
&lt;br /&gt;
 set key bottom&lt;br /&gt;
 set ylabel &amp;quot;Integrated no. of DoF&amp;quot;&lt;br /&gt;
 plot &amp;quot;dos_sg&amp;quot; u 1:($2*0.05) smooth cumulative t &amp;quot;Trans DoF&amp;quot; w l lw 4, &amp;quot;&amp;quot; u 1:($3*0.05) smooth cumulative t &amp;quot;Rot DoF&amp;quot; w l lw 5&lt;br /&gt;
&lt;br /&gt;
[[File:tutorial01_03.png|center]]&lt;br /&gt;
&lt;br /&gt;
It's easy to see that the computed number of DoFs is less than expected: 300 translational and 300 vibrational - adjusted to the specifics of your MD code, which might be subtracting the linear and/or angular velocities of the center of mass of your system (i.e., minus 3 degrees of freedom for each). The problem of underestimation of the number of degrees of freedom is associated to equilibration, total trajectory time and system size, and severely affects the rate of convergence of calculated entropy results. Check out the [[DoS renormalization]] article to learn how DoSPT can correct the leading error and significantly speed up convergence of results with respect to the number of sampled configurations.&lt;br /&gt;
&lt;br /&gt;
=== Homework ===&lt;br /&gt;
&lt;br /&gt;
Repeat this tutorial with other water models to get an idea of the impact of the force field on the results. Also, repeat the calculation for different starting configurations/number of molecules (with the same force field) to get an idea of the statistical variation of entropy results and the impact of system size.&lt;/div&gt;</summary>
		<author><name>Miguel Caro</name></author>	</entry>

	<entry>
		<id>http://dospt.org/index.php?title=Tutorial_1:_standard_molar_entropy_of_liquid_water&amp;diff=356</id>
		<title>Tutorial 1: standard molar entropy of liquid water</title>
		<link rel="alternate" type="text/html" href="http://dospt.org/index.php?title=Tutorial_1:_standard_molar_entropy_of_liquid_water&amp;diff=356"/>
				<updated>2021-06-24T06:52:30Z</updated>
		
		<summary type="html">&lt;p&gt;Miguel Caro: /* Run DoSPT and analyze the results */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''Note added on 24/06/2021: This tutorial has been updated to accommodate defaults in newer Gromacs versions and includes more information on the issues to keep in mind when using the velocity estimation option. We have also updated the Python code to accommodate Python3 syntax.''&lt;br /&gt;
&lt;br /&gt;
The first tutorial is the simplest calculation you can carry out with DoSPT: estimating the standard molar entropy of liquid water.&lt;br /&gt;
&lt;br /&gt;
=== Generate the trajectory ===&lt;br /&gt;
&lt;br /&gt;
'''Note:''' ''If you have already generated a trajectory file, you can skip this step. Also note that Gromacs (or else) topology files are '''not''' required to run a DoSPT calculation: you only need a trajectory file generated with your MD package of choice (*.xyz and *.gro are currently supported formats) and DoSPT input files.''&lt;br /&gt;
&lt;br /&gt;
DoSPT cannot generate a molecular dynamics trajectory, therefore we need to generate our MD trajectory using some other package. At the moment DoSPT has native support for .xyz and .gro trajectory files. Since [http://www.gromacs.org Gromacs] is an easy-to-use and freely available package, we will be generating our trajectory with Gromacs. We will assume that you are already familiar with MD calculations.&lt;br /&gt;
&lt;br /&gt;
[[File:100_water_molecules.png|thumb|200px|Initial configuration with 100 TIP4P water molecules]]&lt;br /&gt;
&lt;br /&gt;
To avoid wasting time on equilibrating the system, you can download this pre-equilibrated system made up of [http://dospt.org/tutorials/tutorial01/water.gro 100 water molecules]. The model used is TIP4P, which contains one dummy atom per water molecule. Therefore each water molecule is assigned a total of 4 atoms (three real and one dummy). The file name is &amp;quot;water.gro&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Now we generate a trajectory from this initial configuration. We are not going to worry about the quality of the dynamics for this tutorial, since we only need an example trajectory for post-processing with DoSPT. The Gromacs files needed are &amp;quot;topol.top&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 #include &amp;quot;oplsaa.ff/forcefield.itp&amp;quot;&lt;br /&gt;
 #include &amp;quot;oplsaa.ff/tip4p.itp&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 [ system ]&lt;br /&gt;
 Water&lt;br /&gt;
 &lt;br /&gt;
 [ molecules ]&lt;br /&gt;
 SOL      100&lt;br /&gt;
&lt;br /&gt;
And an &amp;quot;md.mdp&amp;quot; file with some basic options:&lt;br /&gt;
&lt;br /&gt;
 integrator =  md&lt;br /&gt;
 ;integrator =  md-vv ; use this to avoid issues with asynchronous velocities and positions&lt;br /&gt;
 dt = 0.001&lt;br /&gt;
 nsteps = 20000&lt;br /&gt;
 constraints = h-bonds&lt;br /&gt;
 constraint_algorithm = lincs&lt;br /&gt;
 lincs_order = 4&lt;br /&gt;
 nstxout = 4&lt;br /&gt;
 nstvout = 4&lt;br /&gt;
 cutoff-scheme = group&lt;br /&gt;
 ns_type = grid&lt;br /&gt;
 nstlist = 5&lt;br /&gt;
 rlist = 0.7&lt;br /&gt;
 coulombtype = PME&lt;br /&gt;
 rcoulomb = 0.7&lt;br /&gt;
 vdw-type = cut-off&lt;br /&gt;
 rvdw = 0.7&lt;br /&gt;
 tc-grps = SOL&lt;br /&gt;
 Tcoupl = nose-hoover&lt;br /&gt;
 tau_t = 0.2&lt;br /&gt;
 ref_t =  298.15&lt;br /&gt;
&lt;br /&gt;
Note that we are running dynamics for a total of 20ps and we are saving position and velocity information every 4 steps, which is every 4fs in this case given our 1fs time step. It is also very important to note that if we are using the &amp;quot;md&amp;quot; integrator, which is a &amp;quot;leap-frog&amp;quot; integrator, velocities and positions are offset by half a time step, and cannot be used to accurately estimate angular momenta. We will compare below between &amp;quot;md&amp;quot; and &amp;quot;md-vv&amp;quot;, which uses the Velocity Verlet integrator and allows us to directly use velocities from the simulation.&lt;br /&gt;
&lt;br /&gt;
We generate our topology files and run the dynamics:&lt;br /&gt;
&lt;br /&gt;
 gmx grompp -f md.mdp -c water.gro -p topol.top -o md.tpr&lt;br /&gt;
 &lt;br /&gt;
 gmx mdrun -v -deffnm md&lt;br /&gt;
&lt;br /&gt;
After a few seconds the simulation will be finished. We now need to extract the required trajectory information to a file called &amp;quot;traj.gro&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 gmx trjconv -f md.trr -s md.tpr -o traj.gro -dt 0.004 -ndec 5 -vel&lt;br /&gt;
&lt;br /&gt;
Note that we are extracting velocity and position information every 0.004ps = 4fs, and we are requesting 5 decimal places for positions (the default 0.001 nm precision of Gromacs is not enough for the 2PT analysis). If we ran with the &amp;quot;md&amp;quot; integrator, we should not use the velocities because of the mentioned issue with leap-frog, so we could as well have left the &amp;quot;-vel&amp;quot; option out.&lt;br /&gt;
&lt;br /&gt;
The generated trajectory file is quite large, 132MB in this case. You'll have to take memory limitations into account when extracting trajectory info.&lt;br /&gt;
&lt;br /&gt;
=== Prepare the DoSPT input files ===&lt;br /&gt;
&lt;br /&gt;
Now that we have generated a trajectory DoSPT comes into play. We need 5 files to run this simulation, which should all be located within the same directory:&lt;br /&gt;
&lt;br /&gt;
* traj.gro (trajectory file from the MD simulation)&lt;br /&gt;
* input (all the DoSPT input options)&lt;br /&gt;
* groups (defines the groups of atoms)&lt;br /&gt;
* supergroups (all groups of the same type)&lt;br /&gt;
* masses (defines atomic masses)&lt;br /&gt;
&lt;br /&gt;
The following input file will be enough for our purposes:&lt;br /&gt;
&lt;br /&gt;
 # Number of points in the trajectory (5001)&lt;br /&gt;
 points = 5001&lt;br /&gt;
 # Trajectory period in ps (20)&lt;br /&gt;
 tau = 20.&lt;br /&gt;
 # Size of the box in nm&lt;br /&gt;
 cell = 1.472 1.472 1.472&lt;br /&gt;
 # Temperature in K&lt;br /&gt;
 temperature = 298.15&lt;br /&gt;
 # Trajectory info&lt;br /&gt;
 format = gro&lt;br /&gt;
 # Estimate velocities from positions&lt;br /&gt;
 estimate_velocities = .true.&lt;br /&gt;
&lt;br /&gt;
Note that we had to enable velocity estimation because of the problem with leap-frog integration. The cell size can be taken from the last line in the &amp;quot;water.gro&amp;quot; file. The units in this input file are strictly given in the units specified in the comments. Comments always start with a &amp;quot;#&amp;quot; symbol.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;masses&amp;quot; file assigns a mass in a.m.u. to the atomic labels. For TIP4P, atomic labels are &amp;quot;OW&amp;quot;, &amp;quot;HW1&amp;quot;, &amp;quot;HW2&amp;quot; and &amp;quot;MW&amp;quot;, for oxygen, the two hydrogens, and the dummy atom, respectively. Our &amp;quot;masses&amp;quot; file looks like this:&lt;br /&gt;
&lt;br /&gt;
 OW   16.00&lt;br /&gt;
 HW1   1.01&lt;br /&gt;
 HW2   1.01&lt;br /&gt;
 MW    0.00&lt;br /&gt;
&lt;br /&gt;
We have assigned zero mass to the dummy atom. You will need to adapt the mass definitions depending on the specific topology of your molecule when dummy atoms are included.&lt;br /&gt;
&lt;br /&gt;
Now we need to generate the &amp;quot;groups&amp;quot; file. The mandatory structure is as follows:&lt;br /&gt;
&lt;br /&gt;
 natoms ngroups&lt;br /&gt;
 n1 s1&lt;br /&gt;
 n1_1 n1_2 n1_3 ...&lt;br /&gt;
 n2 s2&lt;br /&gt;
 n2_1 n2_2 n2_3 ...&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
The first line contains the total number of atoms &amp;quot;natoms&amp;quot; in the system followed by the number of groups &amp;quot;ngroups&amp;quot;. This is then followed by two lines for each group, one line with the number of atoms in the group (&amp;quot;n1&amp;quot;, &amp;quot;n2&amp;quot;, etc.) and the symmetry number of the group (&amp;quot;s1&amp;quot;, &amp;quot;s2&amp;quot;, etc.) and another line with the labels of all the atoms belonging to that group. In our present example, TIP4P water molecules have 4 atoms, and their symmetry number is 2; therefore our &amp;quot;groups&amp;quot; file will look like this:&lt;br /&gt;
&lt;br /&gt;
 400 100&lt;br /&gt;
 4 2&lt;br /&gt;
 1 2 3 4&lt;br /&gt;
 4 2&lt;br /&gt;
 5 6 7 8&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
The easiest way to generate this file is with a Python script &amp;quot;setup_groups.py&amp;quot;, e.g.:&lt;br /&gt;
&lt;br /&gt;
 print(400, 100)&lt;br /&gt;
 &lt;br /&gt;
 for i in range(0,100):&lt;br /&gt;
     print(4,2)&lt;br /&gt;
     print(4*i+1, 4*i+2, 4*i+3, 4*i+4)&lt;br /&gt;
&lt;br /&gt;
Then run:&lt;br /&gt;
&lt;br /&gt;
 python3 setup_groups.py &amp;gt; groups&lt;br /&gt;
&lt;br /&gt;
Finally, we need a &amp;quot;supergroups&amp;quot; file. Since this is a monocomponent system, all the groups, from 1 to 100, belong to the same supergroup. The &amp;quot;supergroups&amp;quot; file can be constructed like this:&lt;br /&gt;
&lt;br /&gt;
 1-100&lt;br /&gt;
&lt;br /&gt;
=== Run DoSPT and analyze the results ===&lt;br /&gt;
&lt;br /&gt;
At this point we have everything we need to run a DoSPT calculation. Simply type &amp;quot;DoSPT&amp;quot; and look at the program's progress being printed on the screen. At the end of the execution several files will have been created. The entropy information is contained in the &amp;quot;entropy&amp;quot; file. Type &amp;quot;tail -2 entropy&amp;quot; to get this info printed on the screen:&lt;br /&gt;
&lt;br /&gt;
 # Supergroup; Entropies in eV/K [trans, rot, vib]; Total entropy in eV/K; Total entropy in J/K&lt;br /&gt;
       1   5.46004868E-02   1.05552205E-02   1.56976588E-06   6.51572771E-02   6.28682368E+03&lt;br /&gt;
&lt;br /&gt;
The last number tells you that the total entropy for this system is 6286.2 J/K, if this system constituted one molecule of the substance under study. Since we have 100 molecules, this means that the calculated molar entropy is 62.862 J/K/mol. Compare this to the experimental value of 69.9 J/K/mol. Note that the discrepancy with experiment is mostly due to the water model, force field used and simulation box size (finite-size effects).&lt;br /&gt;
&lt;br /&gt;
The density of states for supergroups is written to file &amp;quot;dos_sg&amp;quot;. You can visualize it using for instance &amp;quot;gnuplot&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 set xlabel &amp;quot;Frequency (ps^-1)&amp;quot;&lt;br /&gt;
 set ylabel &amp;quot;DoS (ps)&amp;quot;&lt;br /&gt;
 plot &amp;quot;dos_sg&amp;quot; u 1:2 t &amp;quot;Trans&amp;quot; w l, &amp;quot;&amp;quot; u 1:3 t &amp;quot;Rot&amp;quot; w l, &amp;quot;&amp;quot; u 1:4 t &amp;quot;Vib&amp;quot; w l&lt;br /&gt;
&lt;br /&gt;
[[File:tutorial01_01.png|center]]&lt;br /&gt;
&lt;br /&gt;
As expected there are no vibrational contributions to the DoS since TIP4P is a rigid model. Since there are no high frequency vibrational contributions, we can plot a close-up:&lt;br /&gt;
&lt;br /&gt;
[[File:tutorial01_02.png|center]]&lt;br /&gt;
&lt;br /&gt;
Since the integral of the DoS should equal the total number of degrees of freedom (DoF), we can use the &amp;quot;smooth cumulative&amp;quot; option of gnuplot to get a quick estimate of this number (the distance between data points is 0.05 ps^-1):&lt;br /&gt;
&lt;br /&gt;
 set key bottom&lt;br /&gt;
 set ylabel &amp;quot;Integrated no. of DoF&amp;quot;&lt;br /&gt;
 plot &amp;quot;dos_sg&amp;quot; u 1:($2*0.05) smooth cumulative t &amp;quot;Trans DoF&amp;quot; w l, &amp;quot;&amp;quot; u 1:($3*0.05) smooth cumulative t &amp;quot;Rot DoF&amp;quot; w l&lt;br /&gt;
&lt;br /&gt;
[[File:tutorial01_03.png|center]]&lt;br /&gt;
&lt;br /&gt;
It's easy to see that the computed number of DoFs is less than expected: 300 translational and 300 vibrational - adjusted to the specifics of your MD code, which might be subtracting the linear and/or angular velocities of the center of mass of your system (i.e., minus 3 degrees of freedom for each). The problem of underestimation of the number of degrees of freedom is associated to equilibration, total trajectory time and system size, and severely affects the rate of convergence of calculated entropy results. Check out the [[DoS renormalization]] article to learn how DoSPT can correct the leading error and significantly speed up convergence of results with respect to the number of sampled configurations.&lt;br /&gt;
&lt;br /&gt;
=== Homework ===&lt;br /&gt;
&lt;br /&gt;
Repeat this tutorial with other water models to get an idea of the impact of the force field on the results. Also, repeat the calculation for different starting configurations/number of molecules (with the same force field) to get an idea of the statistical variation of entropy results and the impact of system size.&lt;/div&gt;</summary>
		<author><name>Miguel Caro</name></author>	</entry>

	<entry>
		<id>http://dospt.org/index.php?title=Tutorial_1:_standard_molar_entropy_of_liquid_water&amp;diff=355</id>
		<title>Tutorial 1: standard molar entropy of liquid water</title>
		<link rel="alternate" type="text/html" href="http://dospt.org/index.php?title=Tutorial_1:_standard_molar_entropy_of_liquid_water&amp;diff=355"/>
				<updated>2021-06-24T06:49:46Z</updated>
		
		<summary type="html">&lt;p&gt;Miguel Caro: /* Prepare the DoSPT input files */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''Note added on 24/06/2021: This tutorial has been updated to accommodate defaults in newer Gromacs versions and includes more information on the issues to keep in mind when using the velocity estimation option. We have also updated the Python code to accommodate Python3 syntax.''&lt;br /&gt;
&lt;br /&gt;
The first tutorial is the simplest calculation you can carry out with DoSPT: estimating the standard molar entropy of liquid water.&lt;br /&gt;
&lt;br /&gt;
=== Generate the trajectory ===&lt;br /&gt;
&lt;br /&gt;
'''Note:''' ''If you have already generated a trajectory file, you can skip this step. Also note that Gromacs (or else) topology files are '''not''' required to run a DoSPT calculation: you only need a trajectory file generated with your MD package of choice (*.xyz and *.gro are currently supported formats) and DoSPT input files.''&lt;br /&gt;
&lt;br /&gt;
DoSPT cannot generate a molecular dynamics trajectory, therefore we need to generate our MD trajectory using some other package. At the moment DoSPT has native support for .xyz and .gro trajectory files. Since [http://www.gromacs.org Gromacs] is an easy-to-use and freely available package, we will be generating our trajectory with Gromacs. We will assume that you are already familiar with MD calculations.&lt;br /&gt;
&lt;br /&gt;
[[File:100_water_molecules.png|thumb|200px|Initial configuration with 100 TIP4P water molecules]]&lt;br /&gt;
&lt;br /&gt;
To avoid wasting time on equilibrating the system, you can download this pre-equilibrated system made up of [http://dospt.org/tutorials/tutorial01/water.gro 100 water molecules]. The model used is TIP4P, which contains one dummy atom per water molecule. Therefore each water molecule is assigned a total of 4 atoms (three real and one dummy). The file name is &amp;quot;water.gro&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Now we generate a trajectory from this initial configuration. We are not going to worry about the quality of the dynamics for this tutorial, since we only need an example trajectory for post-processing with DoSPT. The Gromacs files needed are &amp;quot;topol.top&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 #include &amp;quot;oplsaa.ff/forcefield.itp&amp;quot;&lt;br /&gt;
 #include &amp;quot;oplsaa.ff/tip4p.itp&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 [ system ]&lt;br /&gt;
 Water&lt;br /&gt;
 &lt;br /&gt;
 [ molecules ]&lt;br /&gt;
 SOL      100&lt;br /&gt;
&lt;br /&gt;
And an &amp;quot;md.mdp&amp;quot; file with some basic options:&lt;br /&gt;
&lt;br /&gt;
 integrator =  md&lt;br /&gt;
 ;integrator =  md-vv ; use this to avoid issues with asynchronous velocities and positions&lt;br /&gt;
 dt = 0.001&lt;br /&gt;
 nsteps = 20000&lt;br /&gt;
 constraints = h-bonds&lt;br /&gt;
 constraint_algorithm = lincs&lt;br /&gt;
 lincs_order = 4&lt;br /&gt;
 nstxout = 4&lt;br /&gt;
 nstvout = 4&lt;br /&gt;
 cutoff-scheme = group&lt;br /&gt;
 ns_type = grid&lt;br /&gt;
 nstlist = 5&lt;br /&gt;
 rlist = 0.7&lt;br /&gt;
 coulombtype = PME&lt;br /&gt;
 rcoulomb = 0.7&lt;br /&gt;
 vdw-type = cut-off&lt;br /&gt;
 rvdw = 0.7&lt;br /&gt;
 tc-grps = SOL&lt;br /&gt;
 Tcoupl = nose-hoover&lt;br /&gt;
 tau_t = 0.2&lt;br /&gt;
 ref_t =  298.15&lt;br /&gt;
&lt;br /&gt;
Note that we are running dynamics for a total of 20ps and we are saving position and velocity information every 4 steps, which is every 4fs in this case given our 1fs time step. It is also very important to note that if we are using the &amp;quot;md&amp;quot; integrator, which is a &amp;quot;leap-frog&amp;quot; integrator, velocities and positions are offset by half a time step, and cannot be used to accurately estimate angular momenta. We will compare below between &amp;quot;md&amp;quot; and &amp;quot;md-vv&amp;quot;, which uses the Velocity Verlet integrator and allows us to directly use velocities from the simulation.&lt;br /&gt;
&lt;br /&gt;
We generate our topology files and run the dynamics:&lt;br /&gt;
&lt;br /&gt;
 gmx grompp -f md.mdp -c water.gro -p topol.top -o md.tpr&lt;br /&gt;
 &lt;br /&gt;
 gmx mdrun -v -deffnm md&lt;br /&gt;
&lt;br /&gt;
After a few seconds the simulation will be finished. We now need to extract the required trajectory information to a file called &amp;quot;traj.gro&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 gmx trjconv -f md.trr -s md.tpr -o traj.gro -dt 0.004 -ndec 5 -vel&lt;br /&gt;
&lt;br /&gt;
Note that we are extracting velocity and position information every 0.004ps = 4fs, and we are requesting 5 decimal places for positions (the default 0.001 nm precision of Gromacs is not enough for the 2PT analysis). If we ran with the &amp;quot;md&amp;quot; integrator, we should not use the velocities because of the mentioned issue with leap-frog, so we could as well have left the &amp;quot;-vel&amp;quot; option out.&lt;br /&gt;
&lt;br /&gt;
The generated trajectory file is quite large, 132MB in this case. You'll have to take memory limitations into account when extracting trajectory info.&lt;br /&gt;
&lt;br /&gt;
=== Prepare the DoSPT input files ===&lt;br /&gt;
&lt;br /&gt;
Now that we have generated a trajectory DoSPT comes into play. We need 5 files to run this simulation, which should all be located within the same directory:&lt;br /&gt;
&lt;br /&gt;
* traj.gro (trajectory file from the MD simulation)&lt;br /&gt;
* input (all the DoSPT input options)&lt;br /&gt;
* groups (defines the groups of atoms)&lt;br /&gt;
* supergroups (all groups of the same type)&lt;br /&gt;
* masses (defines atomic masses)&lt;br /&gt;
&lt;br /&gt;
The following input file will be enough for our purposes:&lt;br /&gt;
&lt;br /&gt;
 # Number of points in the trajectory (5001)&lt;br /&gt;
 points = 5001&lt;br /&gt;
 # Trajectory period in ps (20)&lt;br /&gt;
 tau = 20.&lt;br /&gt;
 # Size of the box in nm&lt;br /&gt;
 cell = 1.472 1.472 1.472&lt;br /&gt;
 # Temperature in K&lt;br /&gt;
 temperature = 298.15&lt;br /&gt;
 # Trajectory info&lt;br /&gt;
 format = gro&lt;br /&gt;
 # Estimate velocities from positions&lt;br /&gt;
 estimate_velocities = .true.&lt;br /&gt;
&lt;br /&gt;
Note that we had to enable velocity estimation because of the problem with leap-frog integration. The cell size can be taken from the last line in the &amp;quot;water.gro&amp;quot; file. The units in this input file are strictly given in the units specified in the comments. Comments always start with a &amp;quot;#&amp;quot; symbol.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;masses&amp;quot; file assigns a mass in a.m.u. to the atomic labels. For TIP4P, atomic labels are &amp;quot;OW&amp;quot;, &amp;quot;HW1&amp;quot;, &amp;quot;HW2&amp;quot; and &amp;quot;MW&amp;quot;, for oxygen, the two hydrogens, and the dummy atom, respectively. Our &amp;quot;masses&amp;quot; file looks like this:&lt;br /&gt;
&lt;br /&gt;
 OW   16.00&lt;br /&gt;
 HW1   1.01&lt;br /&gt;
 HW2   1.01&lt;br /&gt;
 MW    0.00&lt;br /&gt;
&lt;br /&gt;
We have assigned zero mass to the dummy atom. You will need to adapt the mass definitions depending on the specific topology of your molecule when dummy atoms are included.&lt;br /&gt;
&lt;br /&gt;
Now we need to generate the &amp;quot;groups&amp;quot; file. The mandatory structure is as follows:&lt;br /&gt;
&lt;br /&gt;
 natoms ngroups&lt;br /&gt;
 n1 s1&lt;br /&gt;
 n1_1 n1_2 n1_3 ...&lt;br /&gt;
 n2 s2&lt;br /&gt;
 n2_1 n2_2 n2_3 ...&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
The first line contains the total number of atoms &amp;quot;natoms&amp;quot; in the system followed by the number of groups &amp;quot;ngroups&amp;quot;. This is then followed by two lines for each group, one line with the number of atoms in the group (&amp;quot;n1&amp;quot;, &amp;quot;n2&amp;quot;, etc.) and the symmetry number of the group (&amp;quot;s1&amp;quot;, &amp;quot;s2&amp;quot;, etc.) and another line with the labels of all the atoms belonging to that group. In our present example, TIP4P water molecules have 4 atoms, and their symmetry number is 2; therefore our &amp;quot;groups&amp;quot; file will look like this:&lt;br /&gt;
&lt;br /&gt;
 400 100&lt;br /&gt;
 4 2&lt;br /&gt;
 1 2 3 4&lt;br /&gt;
 4 2&lt;br /&gt;
 5 6 7 8&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
The easiest way to generate this file is with a Python script &amp;quot;setup_groups.py&amp;quot;, e.g.:&lt;br /&gt;
&lt;br /&gt;
 print(400, 100)&lt;br /&gt;
 &lt;br /&gt;
 for i in range(0,100):&lt;br /&gt;
     print(4,2)&lt;br /&gt;
     print(4*i+1, 4*i+2, 4*i+3, 4*i+4)&lt;br /&gt;
&lt;br /&gt;
Then run:&lt;br /&gt;
&lt;br /&gt;
 python3 setup_groups.py &amp;gt; groups&lt;br /&gt;
&lt;br /&gt;
Finally, we need a &amp;quot;supergroups&amp;quot; file. Since this is a monocomponent system, all the groups, from 1 to 100, belong to the same supergroup. The &amp;quot;supergroups&amp;quot; file can be constructed like this:&lt;br /&gt;
&lt;br /&gt;
 1-100&lt;br /&gt;
&lt;br /&gt;
=== Run DoSPT and analyze the results ===&lt;br /&gt;
&lt;br /&gt;
At this point we have everything we need to run a DoSPT calculation. Simply type &amp;quot;DoSPT&amp;quot; and look at the program's progress being printed on the screen. At the end of the execution several files will have been created. The entropy information is contained in the &amp;quot;entropy&amp;quot; file. Type &amp;quot;tail -2 entropy&amp;quot; to get this info printed on the screen:&lt;br /&gt;
&lt;br /&gt;
 # Supergroup; Entropies in eV/K [trans, rot, vib]; Total entropy in eV/K; Total entropy in J/K&lt;br /&gt;
       1   5.29264712E-02   1.06849280E-02   4.54780340E-07   6.36118540E-02   6.13771060E+03&lt;br /&gt;
&lt;br /&gt;
The last number tells you that the total entropy for this system is 6137.7 J/K, if this system constituted one molecule of the substance under study. Since we have 100 molecules, this means that the calculated molar entropy is 61.377 J/K/mol. Compare this to the experimental value of 69.9 J/K/mol. Note that the discrepancy with experiment is mostly due to the water model and force field used.&lt;br /&gt;
&lt;br /&gt;
The density of states for supergroups is written to file &amp;quot;dos_sg&amp;quot;. You can visualize it using for instance &amp;quot;gnuplot&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 set xlabel &amp;quot;Frequency (ps^-1)&amp;quot;&lt;br /&gt;
 set ylabel &amp;quot;DoS (ps)&amp;quot;&lt;br /&gt;
 plot &amp;quot;dos_sg&amp;quot; u 1:2 t &amp;quot;Trans&amp;quot; w l, &amp;quot;&amp;quot; u 1:3 t &amp;quot;Rot&amp;quot; w l, &amp;quot;&amp;quot; u 1:4 t &amp;quot;Vib&amp;quot; w l&lt;br /&gt;
&lt;br /&gt;
[[File:tutorial01_01.png|center]]&lt;br /&gt;
&lt;br /&gt;
As expected there are no vibrational contributions to the DoS since TIP4P is a rigid model. Since there are no high frequency vibrational contributions, we can plot a close-up:&lt;br /&gt;
&lt;br /&gt;
[[File:tutorial01_02.png|center]]&lt;br /&gt;
&lt;br /&gt;
Since the integral of the DoS should equal the total number of degrees of freedom (DoF), we can use the &amp;quot;smooth cumulative&amp;quot; option of gnuplot to get a quick estimate of this number (the distance between data points is 0.05 ps^-1):&lt;br /&gt;
&lt;br /&gt;
 set key bottom&lt;br /&gt;
 set ylabel &amp;quot;Integrated no. of DoF&amp;quot;&lt;br /&gt;
 plot &amp;quot;dos_sg&amp;quot; u 1:($2*0.05) smooth cumulative t &amp;quot;Trans DoF&amp;quot; w l, &amp;quot;&amp;quot; u 1:($3*0.05) smooth cumulative t &amp;quot;Rot DoF&amp;quot; w l&lt;br /&gt;
&lt;br /&gt;
[[File:tutorial01_03.png|center]]&lt;br /&gt;
&lt;br /&gt;
It's easy to see that the computed number of DoFs is less than expected: 300 translational and 300 vibrational - adjusted to the specifics of your MD code, which might be subtracting the linear and/or angular velocities of the center of mass of your system (i.e., minus 3 degrees of freedom for each). The problem of underestimation of the number of degrees of freedom is associated to equilibration, total trajectory time and system size, and severely affects the rate of convergence of calculated entropy results. Check out the [[DoS renormalization]] article to learn how DoSPT can correct the leading error and significantly speed up convergence of results with respect to the number of sampled configurations.&lt;br /&gt;
&lt;br /&gt;
=== Homework ===&lt;br /&gt;
&lt;br /&gt;
Repeat this tutorial with other water models to get an idea of the impact of the force field on the results. Also, repeat the calculation for different starting configurations/number of molecules (with the same force field) to get an idea of the statistical variation of entropy results and the impact of system size.&lt;/div&gt;</summary>
		<author><name>Miguel Caro</name></author>	</entry>

	<entry>
		<id>http://dospt.org/index.php?title=Tutorial_1:_standard_molar_entropy_of_liquid_water&amp;diff=354</id>
		<title>Tutorial 1: standard molar entropy of liquid water</title>
		<link rel="alternate" type="text/html" href="http://dospt.org/index.php?title=Tutorial_1:_standard_molar_entropy_of_liquid_water&amp;diff=354"/>
				<updated>2021-06-24T06:49:07Z</updated>
		
		<summary type="html">&lt;p&gt;Miguel Caro: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''Note added on 24/06/2021: This tutorial has been updated to accommodate defaults in newer Gromacs versions and includes more information on the issues to keep in mind when using the velocity estimation option. We have also updated the Python code to accommodate Python3 syntax.''&lt;br /&gt;
&lt;br /&gt;
The first tutorial is the simplest calculation you can carry out with DoSPT: estimating the standard molar entropy of liquid water.&lt;br /&gt;
&lt;br /&gt;
=== Generate the trajectory ===&lt;br /&gt;
&lt;br /&gt;
'''Note:''' ''If you have already generated a trajectory file, you can skip this step. Also note that Gromacs (or else) topology files are '''not''' required to run a DoSPT calculation: you only need a trajectory file generated with your MD package of choice (*.xyz and *.gro are currently supported formats) and DoSPT input files.''&lt;br /&gt;
&lt;br /&gt;
DoSPT cannot generate a molecular dynamics trajectory, therefore we need to generate our MD trajectory using some other package. At the moment DoSPT has native support for .xyz and .gro trajectory files. Since [http://www.gromacs.org Gromacs] is an easy-to-use and freely available package, we will be generating our trajectory with Gromacs. We will assume that you are already familiar with MD calculations.&lt;br /&gt;
&lt;br /&gt;
[[File:100_water_molecules.png|thumb|200px|Initial configuration with 100 TIP4P water molecules]]&lt;br /&gt;
&lt;br /&gt;
To avoid wasting time on equilibrating the system, you can download this pre-equilibrated system made up of [http://dospt.org/tutorials/tutorial01/water.gro 100 water molecules]. The model used is TIP4P, which contains one dummy atom per water molecule. Therefore each water molecule is assigned a total of 4 atoms (three real and one dummy). The file name is &amp;quot;water.gro&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Now we generate a trajectory from this initial configuration. We are not going to worry about the quality of the dynamics for this tutorial, since we only need an example trajectory for post-processing with DoSPT. The Gromacs files needed are &amp;quot;topol.top&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 #include &amp;quot;oplsaa.ff/forcefield.itp&amp;quot;&lt;br /&gt;
 #include &amp;quot;oplsaa.ff/tip4p.itp&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 [ system ]&lt;br /&gt;
 Water&lt;br /&gt;
 &lt;br /&gt;
 [ molecules ]&lt;br /&gt;
 SOL      100&lt;br /&gt;
&lt;br /&gt;
And an &amp;quot;md.mdp&amp;quot; file with some basic options:&lt;br /&gt;
&lt;br /&gt;
 integrator =  md&lt;br /&gt;
 ;integrator =  md-vv ; use this to avoid issues with asynchronous velocities and positions&lt;br /&gt;
 dt = 0.001&lt;br /&gt;
 nsteps = 20000&lt;br /&gt;
 constraints = h-bonds&lt;br /&gt;
 constraint_algorithm = lincs&lt;br /&gt;
 lincs_order = 4&lt;br /&gt;
 nstxout = 4&lt;br /&gt;
 nstvout = 4&lt;br /&gt;
 cutoff-scheme = group&lt;br /&gt;
 ns_type = grid&lt;br /&gt;
 nstlist = 5&lt;br /&gt;
 rlist = 0.7&lt;br /&gt;
 coulombtype = PME&lt;br /&gt;
 rcoulomb = 0.7&lt;br /&gt;
 vdw-type = cut-off&lt;br /&gt;
 rvdw = 0.7&lt;br /&gt;
 tc-grps = SOL&lt;br /&gt;
 Tcoupl = nose-hoover&lt;br /&gt;
 tau_t = 0.2&lt;br /&gt;
 ref_t =  298.15&lt;br /&gt;
&lt;br /&gt;
Note that we are running dynamics for a total of 20ps and we are saving position and velocity information every 4 steps, which is every 4fs in this case given our 1fs time step. It is also very important to note that if we are using the &amp;quot;md&amp;quot; integrator, which is a &amp;quot;leap-frog&amp;quot; integrator, velocities and positions are offset by half a time step, and cannot be used to accurately estimate angular momenta. We will compare below between &amp;quot;md&amp;quot; and &amp;quot;md-vv&amp;quot;, which uses the Velocity Verlet integrator and allows us to directly use velocities from the simulation.&lt;br /&gt;
&lt;br /&gt;
We generate our topology files and run the dynamics:&lt;br /&gt;
&lt;br /&gt;
 gmx grompp -f md.mdp -c water.gro -p topol.top -o md.tpr&lt;br /&gt;
 &lt;br /&gt;
 gmx mdrun -v -deffnm md&lt;br /&gt;
&lt;br /&gt;
After a few seconds the simulation will be finished. We now need to extract the required trajectory information to a file called &amp;quot;traj.gro&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 gmx trjconv -f md.trr -s md.tpr -o traj.gro -dt 0.004 -ndec 5 -vel&lt;br /&gt;
&lt;br /&gt;
Note that we are extracting velocity and position information every 0.004ps = 4fs, and we are requesting 5 decimal places for positions (the default 0.001 nm precision of Gromacs is not enough for the 2PT analysis). If we ran with the &amp;quot;md&amp;quot; integrator, we should not use the velocities because of the mentioned issue with leap-frog, so we could as well have left the &amp;quot;-vel&amp;quot; option out.&lt;br /&gt;
&lt;br /&gt;
The generated trajectory file is quite large, 132MB in this case. You'll have to take memory limitations into account when extracting trajectory info.&lt;br /&gt;
&lt;br /&gt;
=== Prepare the DoSPT input files ===&lt;br /&gt;
&lt;br /&gt;
Now that we have generated a trajectory DoSPT comes into play. We need 5 files to run this simulation, which should all be located within the same directory:&lt;br /&gt;
&lt;br /&gt;
* traj.gro (trajectory file from the MD simulation)&lt;br /&gt;
* input (all the DoSPT input options)&lt;br /&gt;
* groups (defines the groups of atoms)&lt;br /&gt;
* supergroups (all groups of the same type)&lt;br /&gt;
* masses (defines atomic masses)&lt;br /&gt;
&lt;br /&gt;
The following input file will be enough for our purposes:&lt;br /&gt;
&lt;br /&gt;
 # Number of points in the trajectory (5001)&lt;br /&gt;
 points = 5001&lt;br /&gt;
 # Trajectory period in ps (20)&lt;br /&gt;
 tau = 20.&lt;br /&gt;
 # Size of the box in nm&lt;br /&gt;
 cell = 1.472 1.472 1.472&lt;br /&gt;
 # Temperature in K&lt;br /&gt;
 temperature = 298.15&lt;br /&gt;
 # Trajectory info&lt;br /&gt;
 format = gro&lt;br /&gt;
 # Estimate velocities from positions&lt;br /&gt;
 estimate_velocities = .true.&lt;br /&gt;
&lt;br /&gt;
Note that we had to enable velocity estimation because of the problem with leap-frog integration. The cell size can be taken from the last line in the &amp;quot;water.gro&amp;quot; file. The units in this input file are strictly given in the units specified in the comments. Comments always start with a &amp;quot;#&amp;quot; symbol.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;masses&amp;quot; file assigns a mass in a.m.u. to the atomic labels. For TIP4P, atomic labels are &amp;quot;OW&amp;quot;, &amp;quot;HW1&amp;quot;, &amp;quot;HW2&amp;quot; and &amp;quot;MW&amp;quot;, for oxygen, the two hydrogens, and the dummy atom, respectively. Our &amp;quot;masses&amp;quot; file looks like this:&lt;br /&gt;
&lt;br /&gt;
 OW   16.00&lt;br /&gt;
 HW1   1.01&lt;br /&gt;
 HW2   1.01&lt;br /&gt;
 MW    0.00&lt;br /&gt;
&lt;br /&gt;
We have assigned zero mass to the dummy atom. You will need to adapt the mass definitions depending on the specific topology of your molecule when dummy atoms are included.&lt;br /&gt;
&lt;br /&gt;
Now we need to generate the &amp;quot;groups&amp;quot; file. The mandatory structure is as follows:&lt;br /&gt;
&lt;br /&gt;
 natoms ngroups&lt;br /&gt;
 n1 s1&lt;br /&gt;
 n1_1 n1_2 n1_3 ...&lt;br /&gt;
 n2 s2&lt;br /&gt;
 n2_1 n2_2 n2_3 ...&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
The first line contains the total number of atoms &amp;quot;natoms&amp;quot; in the system followed by the number of groups &amp;quot;ngroups&amp;quot;. This is then followed by two lines for each group, one line with the number of atoms in the group (&amp;quot;n1&amp;quot;, &amp;quot;n2&amp;quot;, etc.) and the symmetry number of the group (&amp;quot;s1&amp;quot;, &amp;quot;s2&amp;quot;, etc.) and another line with the labels of all the atoms belonging to that group. In our present example, TIP4P water molecules have 4 atoms, and their symmetry number is 2; therefore our &amp;quot;groups&amp;quot; file will look like this:&lt;br /&gt;
&lt;br /&gt;
 400 100&lt;br /&gt;
 4 2&lt;br /&gt;
 1 2 3 4&lt;br /&gt;
 4 2&lt;br /&gt;
 5 6 7 8&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
The easiest way to generate this file is with a Python script &amp;quot;setup_groups.py&amp;quot;, e.g.:&lt;br /&gt;
&lt;br /&gt;
 print 400, 100&lt;br /&gt;
 &lt;br /&gt;
 for i in range(0,100):&lt;br /&gt;
     print(4,2)&lt;br /&gt;
     print(4*i+1, 4*i+2, 4*i+3, 4*i+4)&lt;br /&gt;
&lt;br /&gt;
Then run:&lt;br /&gt;
&lt;br /&gt;
 python3 setup_groups.py &amp;gt; groups&lt;br /&gt;
&lt;br /&gt;
Finally, we need a &amp;quot;supergroups&amp;quot; file. Since this is a monocomponent system, all the groups, from 1 to 100, belong to the same supergroup. The &amp;quot;supergroups&amp;quot; file can be constructed like this:&lt;br /&gt;
&lt;br /&gt;
 1-100&lt;br /&gt;
&lt;br /&gt;
=== Run DoSPT and analyze the results ===&lt;br /&gt;
&lt;br /&gt;
At this point we have everything we need to run a DoSPT calculation. Simply type &amp;quot;DoSPT&amp;quot; and look at the program's progress being printed on the screen. At the end of the execution several files will have been created. The entropy information is contained in the &amp;quot;entropy&amp;quot; file. Type &amp;quot;tail -2 entropy&amp;quot; to get this info printed on the screen:&lt;br /&gt;
&lt;br /&gt;
 # Supergroup; Entropies in eV/K [trans, rot, vib]; Total entropy in eV/K; Total entropy in J/K&lt;br /&gt;
       1   5.29264712E-02   1.06849280E-02   4.54780340E-07   6.36118540E-02   6.13771060E+03&lt;br /&gt;
&lt;br /&gt;
The last number tells you that the total entropy for this system is 6137.7 J/K, if this system constituted one molecule of the substance under study. Since we have 100 molecules, this means that the calculated molar entropy is 61.377 J/K/mol. Compare this to the experimental value of 69.9 J/K/mol. Note that the discrepancy with experiment is mostly due to the water model and force field used.&lt;br /&gt;
&lt;br /&gt;
The density of states for supergroups is written to file &amp;quot;dos_sg&amp;quot;. You can visualize it using for instance &amp;quot;gnuplot&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 set xlabel &amp;quot;Frequency (ps^-1)&amp;quot;&lt;br /&gt;
 set ylabel &amp;quot;DoS (ps)&amp;quot;&lt;br /&gt;
 plot &amp;quot;dos_sg&amp;quot; u 1:2 t &amp;quot;Trans&amp;quot; w l, &amp;quot;&amp;quot; u 1:3 t &amp;quot;Rot&amp;quot; w l, &amp;quot;&amp;quot; u 1:4 t &amp;quot;Vib&amp;quot; w l&lt;br /&gt;
&lt;br /&gt;
[[File:tutorial01_01.png|center]]&lt;br /&gt;
&lt;br /&gt;
As expected there are no vibrational contributions to the DoS since TIP4P is a rigid model. Since there are no high frequency vibrational contributions, we can plot a close-up:&lt;br /&gt;
&lt;br /&gt;
[[File:tutorial01_02.png|center]]&lt;br /&gt;
&lt;br /&gt;
Since the integral of the DoS should equal the total number of degrees of freedom (DoF), we can use the &amp;quot;smooth cumulative&amp;quot; option of gnuplot to get a quick estimate of this number (the distance between data points is 0.05 ps^-1):&lt;br /&gt;
&lt;br /&gt;
 set key bottom&lt;br /&gt;
 set ylabel &amp;quot;Integrated no. of DoF&amp;quot;&lt;br /&gt;
 plot &amp;quot;dos_sg&amp;quot; u 1:($2*0.05) smooth cumulative t &amp;quot;Trans DoF&amp;quot; w l, &amp;quot;&amp;quot; u 1:($3*0.05) smooth cumulative t &amp;quot;Rot DoF&amp;quot; w l&lt;br /&gt;
&lt;br /&gt;
[[File:tutorial01_03.png|center]]&lt;br /&gt;
&lt;br /&gt;
It's easy to see that the computed number of DoFs is less than expected: 300 translational and 300 vibrational - adjusted to the specifics of your MD code, which might be subtracting the linear and/or angular velocities of the center of mass of your system (i.e., minus 3 degrees of freedom for each). The problem of underestimation of the number of degrees of freedom is associated to equilibration, total trajectory time and system size, and severely affects the rate of convergence of calculated entropy results. Check out the [[DoS renormalization]] article to learn how DoSPT can correct the leading error and significantly speed up convergence of results with respect to the number of sampled configurations.&lt;br /&gt;
&lt;br /&gt;
=== Homework ===&lt;br /&gt;
&lt;br /&gt;
Repeat this tutorial with other water models to get an idea of the impact of the force field on the results. Also, repeat the calculation for different starting configurations/number of molecules (with the same force field) to get an idea of the statistical variation of entropy results and the impact of system size.&lt;/div&gt;</summary>
		<author><name>Miguel Caro</name></author>	</entry>

	<entry>
		<id>http://dospt.org/index.php?title=Tutorial_1:_standard_molar_entropy_of_liquid_water&amp;diff=353</id>
		<title>Tutorial 1: standard molar entropy of liquid water</title>
		<link rel="alternate" type="text/html" href="http://dospt.org/index.php?title=Tutorial_1:_standard_molar_entropy_of_liquid_water&amp;diff=353"/>
				<updated>2021-06-24T06:47:38Z</updated>
		
		<summary type="html">&lt;p&gt;Miguel Caro: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Note added on 24/06/2021: This tutorial has been updated to accommodate defaults in newer Gromacs versions and includes more information on the issues to keep in mind when using the velocity estimation option.'''&lt;br /&gt;
&lt;br /&gt;
The first tutorial is the simplest calculation you can carry out with DoSPT: estimating the standard molar entropy of liquid water.&lt;br /&gt;
&lt;br /&gt;
=== Generate the trajectory ===&lt;br /&gt;
&lt;br /&gt;
'''Note:''' ''If you have already generated a trajectory file, you can skip this step. Also note that Gromacs (or else) topology files are '''not''' required to run a DoSPT calculation: you only need a trajectory file generated with your MD package of choice (*.xyz and *.gro are currently supported formats) and DoSPT input files.''&lt;br /&gt;
&lt;br /&gt;
DoSPT cannot generate a molecular dynamics trajectory, therefore we need to generate our MD trajectory using some other package. At the moment DoSPT has native support for .xyz and .gro trajectory files. Since [http://www.gromacs.org Gromacs] is an easy-to-use and freely available package, we will be generating our trajectory with Gromacs. We will assume that you are already familiar with MD calculations.&lt;br /&gt;
&lt;br /&gt;
[[File:100_water_molecules.png|thumb|200px|Initial configuration with 100 TIP4P water molecules]]&lt;br /&gt;
&lt;br /&gt;
To avoid wasting time on equilibrating the system, you can download this pre-equilibrated system made up of [http://dospt.org/tutorials/tutorial01/water.gro 100 water molecules]. The model used is TIP4P, which contains one dummy atom per water molecule. Therefore each water molecule is assigned a total of 4 atoms (three real and one dummy). The file name is &amp;quot;water.gro&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Now we generate a trajectory from this initial configuration. We are not going to worry about the quality of the dynamics for this tutorial, since we only need an example trajectory for post-processing with DoSPT. The Gromacs files needed are &amp;quot;topol.top&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 #include &amp;quot;oplsaa.ff/forcefield.itp&amp;quot;&lt;br /&gt;
 #include &amp;quot;oplsaa.ff/tip4p.itp&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 [ system ]&lt;br /&gt;
 Water&lt;br /&gt;
 &lt;br /&gt;
 [ molecules ]&lt;br /&gt;
 SOL      100&lt;br /&gt;
&lt;br /&gt;
And an &amp;quot;md.mdp&amp;quot; file with some basic options:&lt;br /&gt;
&lt;br /&gt;
 integrator =  md&lt;br /&gt;
 ;integrator =  md-vv ; use this to avoid issues with asynchronous velocities and positions&lt;br /&gt;
 dt = 0.001&lt;br /&gt;
 nsteps = 20000&lt;br /&gt;
 constraints = h-bonds&lt;br /&gt;
 constraint_algorithm = lincs&lt;br /&gt;
 lincs_order = 4&lt;br /&gt;
 nstxout = 4&lt;br /&gt;
 nstvout = 4&lt;br /&gt;
 cutoff-scheme = group&lt;br /&gt;
 ns_type = grid&lt;br /&gt;
 nstlist = 5&lt;br /&gt;
 rlist = 0.7&lt;br /&gt;
 coulombtype = PME&lt;br /&gt;
 rcoulomb = 0.7&lt;br /&gt;
 vdw-type = cut-off&lt;br /&gt;
 rvdw = 0.7&lt;br /&gt;
 tc-grps = SOL&lt;br /&gt;
 Tcoupl = nose-hoover&lt;br /&gt;
 tau_t = 0.2&lt;br /&gt;
 ref_t =  298.15&lt;br /&gt;
&lt;br /&gt;
Note that we are running dynamics for a total of 20ps and we are saving position and velocity information every 4 steps, which is every 4fs in this case given our 1fs time step. It is also very important to note that if we are using the &amp;quot;md&amp;quot; integrator, which is a &amp;quot;leap-frog&amp;quot; integrator, velocities and positions are offset by half a time step, and cannot be used to accurately estimate angular momenta. We will compare below between &amp;quot;md&amp;quot; and &amp;quot;md-vv&amp;quot;, which uses the Velocity Verlet integrator and allows us to directly use velocities from the simulation.&lt;br /&gt;
&lt;br /&gt;
We generate our topology files and run the dynamics:&lt;br /&gt;
&lt;br /&gt;
 gmx grompp -f md.mdp -c water.gro -p topol.top -o md.tpr&lt;br /&gt;
 &lt;br /&gt;
 gmx mdrun -v -deffnm md&lt;br /&gt;
&lt;br /&gt;
After a few seconds the simulation will be finished. We now need to extract the required trajectory information to a file called &amp;quot;traj.gro&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 gmx trjconv -f md.trr -s md.tpr -o traj.gro -dt 0.004 -ndec 5 -vel&lt;br /&gt;
&lt;br /&gt;
Note that we are extracting velocity and position information every 0.004ps = 4fs, and we are requesting 5 decimal places for positions (the default 0.001 nm precision of Gromacs is not enough for the 2PT analysis). If we ran with the &amp;quot;md&amp;quot; integrator, we should not use the velocities because of the mentioned issue with leap-frog, so we could as well have left the &amp;quot;-vel&amp;quot; option out.&lt;br /&gt;
&lt;br /&gt;
The generated trajectory file is quite large, 132MB in this case. You'll have to take memory limitations into account when extracting trajectory info.&lt;br /&gt;
&lt;br /&gt;
=== Prepare the DoSPT input files ===&lt;br /&gt;
&lt;br /&gt;
Now that we have generated a trajectory DoSPT comes into play. We need 5 files to run this simulation, which should all be located within the same directory:&lt;br /&gt;
&lt;br /&gt;
* traj.gro (trajectory file from the MD simulation)&lt;br /&gt;
* input (all the DoSPT input options)&lt;br /&gt;
* groups (defines the groups of atoms)&lt;br /&gt;
* supergroups (all groups of the same type)&lt;br /&gt;
* masses (defines atomic masses)&lt;br /&gt;
&lt;br /&gt;
The following input file will be enough for our purposes:&lt;br /&gt;
&lt;br /&gt;
 # Number of points in the trajectory (5001)&lt;br /&gt;
 points = 5001&lt;br /&gt;
 # Trajectory period in ps (20)&lt;br /&gt;
 tau = 20.&lt;br /&gt;
 # Size of the box in nm&lt;br /&gt;
 cell = 1.472 1.472 1.472&lt;br /&gt;
 # Temperature in K&lt;br /&gt;
 temperature = 298.15&lt;br /&gt;
 # Trajectory info&lt;br /&gt;
 format = gro&lt;br /&gt;
 # Estimate velocities from positions&lt;br /&gt;
 estimate_velocities = .true.&lt;br /&gt;
&lt;br /&gt;
Note that we had to enable velocity estimation because of the problem with leap-frog integration. The cell size can be taken from the last line in the &amp;quot;water.gro&amp;quot; file. The units in this input file are strictly given in the units specified in the comments. Comments always start with a &amp;quot;#&amp;quot; symbol.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;masses&amp;quot; file assigns a mass in a.m.u. to the atomic labels. For TIP4P, atomic labels are &amp;quot;OW&amp;quot;, &amp;quot;HW1&amp;quot;, &amp;quot;HW2&amp;quot; and &amp;quot;MW&amp;quot;, for oxygen, the two hydrogens, and the dummy atom, respectively. Our &amp;quot;masses&amp;quot; file looks like this:&lt;br /&gt;
&lt;br /&gt;
 OW   16.00&lt;br /&gt;
 HW1   1.01&lt;br /&gt;
 HW2   1.01&lt;br /&gt;
 MW    0.00&lt;br /&gt;
&lt;br /&gt;
We have assigned zero mass to the dummy atom. You will need to adapt the mass definitions depending on the specific topology of your molecule when dummy atoms are included.&lt;br /&gt;
&lt;br /&gt;
Now we need to generate the &amp;quot;groups&amp;quot; file. The mandatory structure is as follows:&lt;br /&gt;
&lt;br /&gt;
 natoms ngroups&lt;br /&gt;
 n1 s1&lt;br /&gt;
 n1_1 n1_2 n1_3 ...&lt;br /&gt;
 n2 s2&lt;br /&gt;
 n2_1 n2_2 n2_3 ...&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
The first line contains the total number of atoms &amp;quot;natoms&amp;quot; in the system followed by the number of groups &amp;quot;ngroups&amp;quot;. This is then followed by two lines for each group, one line with the number of atoms in the group (&amp;quot;n1&amp;quot;, &amp;quot;n2&amp;quot;, etc.) and the symmetry number of the group (&amp;quot;s1&amp;quot;, &amp;quot;s2&amp;quot;, etc.) and another line with the labels of all the atoms belonging to that group. In our present example, TIP4P water molecules have 4 atoms, and their symmetry number is 2; therefore our &amp;quot;groups&amp;quot; file will look like this:&lt;br /&gt;
&lt;br /&gt;
 400 100&lt;br /&gt;
 4 2&lt;br /&gt;
 1 2 3 4&lt;br /&gt;
 4 2&lt;br /&gt;
 5 6 7 8&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
The easiest way to generate this file is with a Python script &amp;quot;setup_groups.py&amp;quot;, e.g.:&lt;br /&gt;
&lt;br /&gt;
 print 400, 100&lt;br /&gt;
 &lt;br /&gt;
 for i in range(0,100):&lt;br /&gt;
     print 4,2&lt;br /&gt;
     print 4*i+1, 4*i+2, 4*i+3, 4*i+4&lt;br /&gt;
&lt;br /&gt;
Then run:&lt;br /&gt;
&lt;br /&gt;
 python setup_groups.py &amp;gt; groups&lt;br /&gt;
&lt;br /&gt;
Finally, we need a &amp;quot;supergroups&amp;quot; file. Since this is a monocomponent system, all the groups, from 1 to 100, belong to the same supergroup. The &amp;quot;supergroups&amp;quot; file can be constructed like this:&lt;br /&gt;
&lt;br /&gt;
 1-100&lt;br /&gt;
&lt;br /&gt;
=== Run DoSPT and analyze the results ===&lt;br /&gt;
&lt;br /&gt;
At this point we have everything we need to run a DoSPT calculation. Simply type &amp;quot;DoSPT&amp;quot; and look at the program's progress being printed on the screen. At the end of the execution several files will have been created. The entropy information is contained in the &amp;quot;entropy&amp;quot; file. Type &amp;quot;tail -2 entropy&amp;quot; to get this info printed on the screen:&lt;br /&gt;
&lt;br /&gt;
 # Supergroup; Entropies in eV/K [trans, rot, vib]; Total entropy in eV/K; Total entropy in J/K&lt;br /&gt;
       1   5.29264712E-02   1.06849280E-02   4.54780340E-07   6.36118540E-02   6.13771060E+03&lt;br /&gt;
&lt;br /&gt;
The last number tells you that the total entropy for this system is 6137.7 J/K, if this system constituted one molecule of the substance under study. Since we have 100 molecules, this means that the calculated molar entropy is 61.377 J/K/mol. Compare this to the experimental value of 69.9 J/K/mol. Note that the discrepancy with experiment is mostly due to the water model and force field used.&lt;br /&gt;
&lt;br /&gt;
The density of states for supergroups is written to file &amp;quot;dos_sg&amp;quot;. You can visualize it using for instance &amp;quot;gnuplot&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 set xlabel &amp;quot;Frequency (ps^-1)&amp;quot;&lt;br /&gt;
 set ylabel &amp;quot;DoS (ps)&amp;quot;&lt;br /&gt;
 plot &amp;quot;dos_sg&amp;quot; u 1:2 t &amp;quot;Trans&amp;quot; w l, &amp;quot;&amp;quot; u 1:3 t &amp;quot;Rot&amp;quot; w l, &amp;quot;&amp;quot; u 1:4 t &amp;quot;Vib&amp;quot; w l&lt;br /&gt;
&lt;br /&gt;
[[File:tutorial01_01.png|center]]&lt;br /&gt;
&lt;br /&gt;
As expected there are no vibrational contributions to the DoS since TIP4P is a rigid model. Since there are no high frequency vibrational contributions, we can plot a close-up:&lt;br /&gt;
&lt;br /&gt;
[[File:tutorial01_02.png|center]]&lt;br /&gt;
&lt;br /&gt;
Since the integral of the DoS should equal the total number of degrees of freedom (DoF), we can use the &amp;quot;smooth cumulative&amp;quot; option of gnuplot to get a quick estimate of this number (the distance between data points is 0.05 ps^-1):&lt;br /&gt;
&lt;br /&gt;
 set key bottom&lt;br /&gt;
 set ylabel &amp;quot;Integrated no. of DoF&amp;quot;&lt;br /&gt;
 plot &amp;quot;dos_sg&amp;quot; u 1:($2*0.05) smooth cumulative t &amp;quot;Trans DoF&amp;quot; w l, &amp;quot;&amp;quot; u 1:($3*0.05) smooth cumulative t &amp;quot;Rot DoF&amp;quot; w l&lt;br /&gt;
&lt;br /&gt;
[[File:tutorial01_03.png|center]]&lt;br /&gt;
&lt;br /&gt;
It's easy to see that the computed number of DoFs is less than expected: 300 translational and 300 vibrational - adjusted to the specifics of your MD code, which might be subtracting the linear and/or angular velocities of the center of mass of your system (i.e., minus 3 degrees of freedom for each). The problem of underestimation of the number of degrees of freedom is associated to equilibration, total trajectory time and system size, and severely affects the rate of convergence of calculated entropy results. Check out the [[DoS renormalization]] article to learn how DoSPT can correct the leading error and significantly speed up convergence of results with respect to the number of sampled configurations.&lt;br /&gt;
&lt;br /&gt;
=== Homework ===&lt;br /&gt;
&lt;br /&gt;
Repeat this tutorial with other water models to get an idea of the impact of the force field on the results. Also, repeat the calculation for different starting configurations/number of molecules (with the same force field) to get an idea of the statistical variation of entropy results and the impact of system size.&lt;/div&gt;</summary>
		<author><name>Miguel Caro</name></author>	</entry>

	<entry>
		<id>http://dospt.org/index.php?title=DoSPT_publications&amp;diff=352</id>
		<title>DoSPT publications</title>
		<link rel="alternate" type="text/html" href="http://dospt.org/index.php?title=DoSPT_publications&amp;diff=352"/>
				<updated>2021-06-03T07:22:11Z</updated>
		
		<summary type="html">&lt;p&gt;Miguel Caro: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a list of publications that highlight the capabilities and/or make use of the '''DoSPT''' code. Papers by '''DoSPT''' authors are in '''bold'''. Papers that cite but do not ''use'' '''DoSPT''' are not listed here.&lt;br /&gt;
&lt;br /&gt;
== 2021 ==&lt;br /&gt;
&lt;br /&gt;
'''H. Muhli, X. Chen, A.P. Bartók, P. Hernández-León, G. Csányi, T. Ala-Nissila, M.A. Caro''';&amp;lt;br /&amp;gt;&lt;br /&gt;
''Machine learning force fields based on local parametrization of dispersion interactions: Application to the phase diagram of C&amp;lt;sub&amp;gt;60&amp;lt;/sub&amp;gt;'';&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://arxiv.org/abs/2105.02525 arXiv preprint arXiv:2105.02525].&lt;br /&gt;
&lt;br /&gt;
A. Henao, J.M. Salazar-Rios, E. Guardia, L.C. Pardo;&amp;lt;br /&amp;gt;&lt;br /&gt;
''Structure and dynamics of water plastic crystals from computer simulations'';&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://aip.scitation.org/doi/full/10.1063/5.0038762 J. Chem. Phys. 154, 104501 (2021)].&lt;br /&gt;
&lt;br /&gt;
== 2020 ==&lt;br /&gt;
&lt;br /&gt;
S. Mukherjee, B. Bagchi;&amp;lt;br /&amp;gt;&lt;br /&gt;
''Entropic Origin of the Attenuated Width of the Ice–Water Interface'';&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://pubs.acs.org/doi/abs/10.1021/acs.jpcc.0c02030 J. Phys. Chem. C 124, 7334 (2020)].&lt;br /&gt;
&lt;br /&gt;
== 2018 ==&lt;br /&gt;
&lt;br /&gt;
S.R. Varanasi, Y. Subramanian, S.K. Bhatia;&amp;lt;br /&amp;gt;&lt;br /&gt;
''High Interfacial Barriers at Narrow Carbon Nanotube--Water Interfaces'';&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://pubs.acs.org/doi/abs/10.1021/acs.langmuir.8b00616 Langmuir 34, 8099 (2018)].&lt;br /&gt;
&lt;br /&gt;
== 2017 ==&lt;br /&gt;
&lt;br /&gt;
'''Miguel A. Caro, Olga Lopez-Acevedo, and Tomi Laurila''';&amp;lt;br /&amp;gt;&lt;br /&gt;
''Redox Potentials from Ab Initio Molecular Dynamics and Explicit Entropy Calculations: Application to Transition Metals in Aqueous Solution''; &amp;lt;br /&amp;gt;&lt;br /&gt;
[http://pubs.acs.org/doi/abs/10.1021/acs.jctc.7b00314 J. Chem. Theory Comput. 13, 3432 (2017)].&lt;br /&gt;
&lt;br /&gt;
== 2016 ==&lt;br /&gt;
&lt;br /&gt;
'''Miguel A. Caro, Tomi Laurila, and Olga Lopez-Acevedo''';&amp;lt;br /&amp;gt;&lt;br /&gt;
''Accurate schemes for calculation of thermodynamic properties of liquid mixtures from molecular dynamics simulations'';&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://aip.scitation.org/doi/pdf/10.1063/1.4973001 J. Chem. Phys. 145, 244504 (2016)].&lt;/div&gt;</summary>
		<author><name>Miguel Caro</name></author>	</entry>

	<entry>
		<id>http://dospt.org/index.php?title=DoSPT_publications&amp;diff=351</id>
		<title>DoSPT publications</title>
		<link rel="alternate" type="text/html" href="http://dospt.org/index.php?title=DoSPT_publications&amp;diff=351"/>
				<updated>2021-05-26T11:23:07Z</updated>
		
		<summary type="html">&lt;p&gt;Miguel Caro: /* 2021 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a list of publications that highlight the capabilities and/or make use of the DoSPT code. Papers by DoSPT authors are in '''bold'''.&lt;br /&gt;
&lt;br /&gt;
== 2021 ==&lt;br /&gt;
&lt;br /&gt;
'''H. Muhli, X. Chen, A.P. Bartók, P. Hernández-León, G. Csányi, T. Ala-Nissila, M.A. Caro''';&amp;lt;br /&amp;gt;&lt;br /&gt;
''Machine learning force fields based on local parametrization of dispersion interactions: Application to the phase diagram of C&amp;lt;sub&amp;gt;60&amp;lt;/sub&amp;gt;'';&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://arxiv.org/abs/2105.02525 arXiv preprint arXiv:2105.02525].&lt;br /&gt;
&lt;br /&gt;
A. Henao, J.M. Salazar-Rios, E. Guardia, L.C. Pardo;&amp;lt;br /&amp;gt;&lt;br /&gt;
''Structure and dynamics of water plastic crystals from computer simulations'';&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://aip.scitation.org/doi/full/10.1063/5.0038762 J. Chem. Phys. 154, 104501 (2021)].&lt;br /&gt;
&lt;br /&gt;
== 2020 ==&lt;br /&gt;
&lt;br /&gt;
S. Mukherjee, B. Bagchi;&amp;lt;br /&amp;gt;&lt;br /&gt;
''Entropic Origin of the Attenuated Width of the Ice–Water Interface'';&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://pubs.acs.org/doi/abs/10.1021/acs.jpcc.0c02030 J. Phys. Chem. C 124, 7334 (2020)].&lt;br /&gt;
&lt;br /&gt;
== 2018 ==&lt;br /&gt;
&lt;br /&gt;
S.R. Varanasi, Y. Subramanian, S.K. Bhatia;&amp;lt;br /&amp;gt;&lt;br /&gt;
''High Interfacial Barriers at Narrow Carbon Nanotube--Water Interfaces'';&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://pubs.acs.org/doi/abs/10.1021/acs.langmuir.8b00616 Langmuir 34, 8099 (2018)].&lt;br /&gt;
&lt;br /&gt;
== 2017 ==&lt;br /&gt;
&lt;br /&gt;
'''Miguel A. Caro, Olga Lopez-Acevedo, and Tomi Laurila''';&amp;lt;br /&amp;gt;&lt;br /&gt;
''Redox Potentials from Ab Initio Molecular Dynamics and Explicit Entropy Calculations: Application to Transition Metals in Aqueous Solution''; &amp;lt;br /&amp;gt;&lt;br /&gt;
[http://pubs.acs.org/doi/abs/10.1021/acs.jctc.7b00314 J. Chem. Theory Comput. 13, 3432 (2017)].&lt;br /&gt;
&lt;br /&gt;
== 2016 ==&lt;br /&gt;
&lt;br /&gt;
'''Miguel A. Caro, Tomi Laurila, and Olga Lopez-Acevedo''';&amp;lt;br /&amp;gt;&lt;br /&gt;
''Accurate schemes for calculation of thermodynamic properties of liquid mixtures from molecular dynamics simulations'';&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://aip.scitation.org/doi/pdf/10.1063/1.4973001 J. Chem. Phys. 145, 244504 (2016)].&lt;/div&gt;</summary>
		<author><name>Miguel Caro</name></author>	</entry>

	<entry>
		<id>http://dospt.org/index.php?title=Topology_file&amp;diff=350</id>
		<title>Topology file</title>
		<link rel="alternate" type="text/html" href="http://dospt.org/index.php?title=Topology_file&amp;diff=350"/>
				<updated>2021-04-16T07:47:04Z</updated>
		
		<summary type="html">&lt;p&gt;Miguel Caro: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &amp;lt;code&amp;gt;topology&amp;lt;/code&amp;gt; file allows you to handle bond breaking and formation in your simulation. The scientific details are reported in Ref.&amp;lt;ref name=&amp;quot;caro_2017b&amp;quot; /&amp;gt;. In essence, the &amp;lt;code&amp;gt;topology&amp;lt;/code&amp;gt; file allows you to define topology information for your system in the form of connectivity between atoms. This will allow '''DoSPT''' to rebuild groups and supergroups dynamically as the simulation progresses, if there is bond breaking and formation, as in Ref.&amp;lt;ref name=&amp;quot;caro_2017b&amp;quot; /&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Imagine for instance the case where you are simulating a hydronium ion in water. The extra proton is highly mobile, and it will switch between adjacent water molecules dynamically, with hopping times below the ps range. In this situation, for the purpose of computing the decomposition of the degrees of freedom into translational, rotational and vibrational, regular water molecules (H&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;O) are different from protons (H&amp;lt;sup&amp;gt;+&amp;lt;/sup&amp;gt;), hydronium ions (H&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;O&amp;lt;sup&amp;gt;+&amp;lt;/sup&amp;gt;) and other more complex structures like the Zundel cation (H&amp;lt;sub&amp;gt;5&amp;lt;/sub&amp;gt;O&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;&amp;lt;sup&amp;gt;+&amp;lt;/sup&amp;gt;). If these molecules did not change during the course of the simulation (i.e., via rebonding), we could use the regular way to generate a &amp;lt;code&amp;gt;groups&amp;lt;/code&amp;gt; file. However, in ab initio MD this will not be the case.&lt;br /&gt;
&lt;br /&gt;
'''DoSPT''' deals with this problem by assigning a &amp;quot;lifetime&amp;quot; to single groups, delimited by rebonding events. The lifetime divided by the total MD time gives the weight of the group to the supergroup properties. In regular classical MD simulations, all groups have weight 1 since there is no rebonding.&lt;br /&gt;
&lt;br /&gt;
An example &amp;lt;code&amp;gt;topology&amp;lt;/code&amp;gt; file for a water simulation looks like this:&lt;br /&gt;
&lt;br /&gt;
 bond  O  H  0.11 0.13&lt;br /&gt;
 group H 2 O 1 sym 2 sup 1&lt;br /&gt;
 group H 3 O 1 sym 3 sup 2&lt;br /&gt;
 group H 1 O 1 sym 1 sup 3&lt;br /&gt;
 group H 1 sym 1 sup 4&lt;br /&gt;
 group H 5 O 2 sym 2 sup 5&lt;br /&gt;
&lt;br /&gt;
In the first line we have defined bonds between O and H atoms only. These bonds &amp;quot;form&amp;quot; whenever an O and a H atom come closer than 0.11 nm from each other. The bond &amp;quot;breaks&amp;quot; when the atoms move further than 0.13 nm from each other. Then come the group definitions, where you can define a group as containing 2 H atoms and 1 O atom, all connected in accordance to the provided bond definition(s). This group has symmetry number 2 and belongs to supergroup 1 (so it will contribute to the thermodynamic properties of that supergroup). The following lines define other groups similarly. '''DoSPT''' will monitor bond breaking in the simulation, and every time it detects bonds breaking or formation it will rebuild the system's topology. A clear limitation of the current implementation is that you cannot distinguish between isomers. That is, a specific chemical formula can currently only be assigned to a single group.&lt;br /&gt;
&lt;br /&gt;
The topology reconstruction routine will generate a &amp;lt;code&amp;gt;topol/&amp;lt;/code&amp;gt; subdirectory with &amp;lt;code&amp;gt;groups.n&amp;lt;/code&amp;gt; files, where &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; is the time step during which the topology was rebuilt, and the file contains similar information to a regular &amp;lt;code&amp;gt;[[groups file|groups]]&amp;lt;/code&amp;gt; file, with extra information about group &amp;quot;deaths&amp;quot; and &amp;quot;births&amp;quot;. This file can then be used for keeping track of topology changes or perhaps for restarting a simulation with a specific topology (after some preprocessing is done).&lt;br /&gt;
&lt;br /&gt;
Note that the current implementation is &amp;lt;math&amp;gt;O(N^2)&amp;lt;/math&amp;gt; scaling (or worse) and will perform very poorly for very large systems. It is possible to code a &amp;lt;math&amp;gt;O(N)&amp;lt;/math&amp;gt; algorithm to handle big systems. This may get implemented in the future since bond breaking and formation for large systems can now be routinely performed with machine learning interatomic potentials.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
{{Reference list}}&lt;/div&gt;</summary>
		<author><name>Miguel Caro</name></author>	</entry>

	<entry>
		<id>http://dospt.org/index.php?title=Topology_file&amp;diff=349</id>
		<title>Topology file</title>
		<link rel="alternate" type="text/html" href="http://dospt.org/index.php?title=Topology_file&amp;diff=349"/>
				<updated>2021-04-16T07:08:10Z</updated>
		
		<summary type="html">&lt;p&gt;Miguel Caro: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &amp;lt;code&amp;gt;topology&amp;lt;/code&amp;gt; file allows you to handle bond breaking and formation in your simulation. The scientific details are reported in Ref.&amp;lt;ref name=&amp;quot;caro_2017b&amp;quot; /&amp;gt;. In essence, the &amp;lt;code&amp;gt;topology&amp;lt;/code&amp;gt; file allows you to define topology information for your system in the form of connectivity between atoms. This will allow '''DoSPT''' to rebuild groups and supergroups dynamically as the simulation progresses, if there is bond breaking and formation, as in Ref.&amp;lt;ref name=&amp;quot;caro_2017b&amp;quot; /&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Imagine for instance the case where you are simulating a hydronium ion in water. The extra proton is highly mobile, and it will switch between adjacent water molecules dynamically, with hopping times below the ps range. In this situation, for the purpose of computing the decomposition of the degrees of freedom into translational, rotational and vibrational, regular water molecules (H&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;O) are different from protons (H&amp;lt;sup&amp;gt;+&amp;lt;/sup&amp;gt;), hydronium ions (H&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;O&amp;lt;sup&amp;gt;+&amp;lt;/sup&amp;gt;) and other more complex structures like the Zundel cation (H&amp;lt;sub&amp;gt;5&amp;lt;/sub&amp;gt;O&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;&amp;lt;sup&amp;gt;+&amp;lt;/sup&amp;gt;). If these molecules did not change during the course of the simulation (i.e., via rebonding), we could use the regular way to generate a &amp;lt;code&amp;gt;groups&amp;lt;/code&amp;gt; file. However, in ab initio MD this will not be the case.&lt;br /&gt;
&lt;br /&gt;
DoSPT deal with this problem by assigning a &amp;quot;lifetime&amp;quot; to single groups, delimited by rebonding events. The lifetime divided by the total MD time gives the weight of the group to the supergroup properties. In regular classical MD simulations, all groups have weight 1 since there is no rebonding.&lt;br /&gt;
&lt;br /&gt;
An example &amp;lt;code&amp;gt;topology&amp;lt;/code&amp;gt; file for a water simulation looks like this:&lt;br /&gt;
&lt;br /&gt;
 bond  O  H  0.11 0.13&lt;br /&gt;
 group H 2 O 1 sym 2 sup 1&lt;br /&gt;
 group H 3 O 1 sym 3 sup 2&lt;br /&gt;
 group H 1 O 1 sym 1 sup 3&lt;br /&gt;
 group H 1 sym 1 sup 4&lt;br /&gt;
 group H 5 O 2 sym 2 sup 5&lt;br /&gt;
&lt;br /&gt;
In the first line we have defined bonds between O and H atoms only. These bonds &amp;quot;form&amp;quot; whenever an O and a H atom come closer than 0.11 nm from each other. The bond &amp;quot;breaks&amp;quot; when the atoms move further than 0.13 nm from each other. Then come the group definitions, where you can define a group as containing 2 H atoms and 1 O atom, all connected in accordance to the provided bond definition(s). This group has symmetry number 2 and belongs to supergroup 1 (so it will contribute to the thermodynamic properties of that supergroup). The following lines define other group times similarly. DoSPT will monitor bond breaking in the simulation, and every time it detects bonds breaking or forming it will rebuild the system's topology. A clear limitation of the current implementation is that you cannot distinguish between isomers. That is, a specific chemical formula can currently only be assigned to a single group time.&lt;br /&gt;
&lt;br /&gt;
The topology reconstruction routine will generate a &amp;lt;code&amp;gt;topol/&amp;lt;/code&amp;gt; subdirectory with &amp;lt;code&amp;gt;groups.n&amp;lt;/code&amp;gt; files, where &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; is the time step during which the topology was rebuilt, and the file contains similar information to a regular &amp;lt;code&amp;gt;[[groups file|groups]]&amp;lt;/code&amp;gt; file, with extra information about group &amp;quot;deaths&amp;quot; and &amp;quot;births&amp;quot;. This file can then be used for keeping track of topology changes or perhaps for restarting a simulation with a specific topology (after some preprocessing is done).&lt;br /&gt;
&lt;br /&gt;
Note that the current implementation is &amp;lt;math&amp;gt;O(N^2)&amp;lt;/math&amp;gt; scaling (or worse) and will perform very poorly for very large systems. It is possible to code a &amp;lt;math&amp;gt;O(N)&amp;lt;/math&amp;gt; algorithm to handle big systems. This may get implemented in the future since bond breaking and formation for large systems can now be routinely performed with machine learning interatomic potentials.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
{{Reference list}}&lt;/div&gt;</summary>
		<author><name>Miguel Caro</name></author>	</entry>

	<entry>
		<id>http://dospt.org/index.php?title=Topology_file&amp;diff=348</id>
		<title>Topology file</title>
		<link rel="alternate" type="text/html" href="http://dospt.org/index.php?title=Topology_file&amp;diff=348"/>
				<updated>2021-04-16T07:04:53Z</updated>
		
		<summary type="html">&lt;p&gt;Miguel Caro: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &amp;lt;code&amp;gt;topology&amp;lt;/code&amp;gt; file allows you to handle bond breaking and formation in your simulation. The scientific details are reported in Ref.&amp;lt;ref name=&amp;quot;caro_2017b&amp;quot; /&amp;gt;. In essence, the &amp;lt;code&amp;gt;topology&amp;lt;/code&amp;gt; file allows you to define topology information for your system in the form of connectivity between atoms. This will allow '''DoSPT''' to rebuild groups and supergroups dynamically as the simulation progresses, if there is bond breaking and formation, as in Ref.&amp;lt;ref name=&amp;quot;caro_2017b&amp;quot; /&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Imagine for instance the case where you are simulating a hydronium ion in water. The extra proton is highly mobile, and it will switch between adjacent water molecules dynamically, with hopping times below the ps range. In this situation, for the purpose of computing the decomposition of the degrees of freedom into translational, rotational and vibrational, regular water molecules (H&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;O) are different from protons (H&amp;lt;sup&amp;gt;+&amp;lt;/sup&amp;gt;), hydronium ions (H&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;O&amp;lt;sup&amp;gt;+&amp;lt;/sup&amp;gt;) and other more complex structures like the Zundel cation (H&amp;lt;sub&amp;gt;5&amp;lt;/sub&amp;gt;O&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;&amp;lt;sup&amp;gt;+&amp;lt;/sup&amp;gt;). If these molecules did not change during the course of the simulation (i.e., via rebonding), we could use the regular way to generate a &amp;lt;code&amp;gt;groups&amp;lt;/code&amp;gt; file. However, in ab initio MD this will not be the case.&lt;br /&gt;
&lt;br /&gt;
DoSPT deal with this problem by assigning a &amp;quot;lifetime&amp;quot; to single groups, delimited by rebonding events. The lifetime divided by the total MD time gives the weight of the group to the supergroup properties. In regular classical MD simulations, all groups have weight 1 since there is no rebonding.&lt;br /&gt;
&lt;br /&gt;
An example &amp;lt;code&amp;gt;topology&amp;lt;/code&amp;gt; file for a water simulation looks like this:&lt;br /&gt;
&lt;br /&gt;
 bond  O  H  0.11 0.13&lt;br /&gt;
 group H 2 O 1 sym 2 sup 1&lt;br /&gt;
 group H 3 O 1 sym 3 sup 2&lt;br /&gt;
 group H 1 O 1 sym 1 sup 3&lt;br /&gt;
 group H 1 sym 1 sup 4&lt;br /&gt;
 group H 5 O 2 sym 2 sup 5&lt;br /&gt;
&lt;br /&gt;
In the first line we have defined bonds between O and H atoms only. These bonds &amp;quot;form&amp;quot; whenever an O and a H atom come closer than 0.11 nm from each other. The bond &amp;quot;breaks&amp;quot; when the atoms move further than 0.13 nm from each other. Then come the group definitions, where you can define a group as containing 2 H atoms and 1 O atom, all connected in accordance to the provided bond definition(s). This group has symmetry number 2 and belongs to supergroup 1 (so it will contribute to the thermodynamic properties of that supergroup). The following lines define other group times similarly. DoSPT will monitor bond breaking in the simulation, and every time it detects bonds breaking or forming it will rebuild the system's topology. A clear limitation of the current implementation is that you cannot distinguish between isomers. That is, a specific chemical formula can currently only be assigned to a single group time.&lt;br /&gt;
&lt;br /&gt;
The topology reconstruction routine will generate a &amp;lt;code&amp;gt;topol/&amp;lt;/code&amp;gt; subdirectory with &amp;lt;code&amp;gt;groups.n&amp;lt;/code&amp;gt; files, where &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; is the time step during which the topology was rebuilt, and the file contains the same information as a regular &amp;lt;code&amp;gt;[[groups file|groups]]&amp;lt;/code&amp;gt; file. This file can then be used for keeping track of topology changes or perhaps for restarting a simulation with a specific topology.&lt;br /&gt;
&lt;br /&gt;
Note that the current implementation is &amp;lt;math&amp;gt;O(N^2)&amp;lt;/math&amp;gt; scaling (or worse) and will perform very poorly for very large systems. It is possible to code a &amp;lt;math&amp;gt;O(N)&amp;lt;/math&amp;gt; algorithm to handle big systems. This may get implemented in the future since bond breaking and formation for large systems can now be routinely performed with machine learning interatomic potentials.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
{{Reference list}}&lt;/div&gt;</summary>
		<author><name>Miguel Caro</name></author>	</entry>

	<entry>
		<id>http://dospt.org/index.php?title=Topology_file&amp;diff=347</id>
		<title>Topology file</title>
		<link rel="alternate" type="text/html" href="http://dospt.org/index.php?title=Topology_file&amp;diff=347"/>
				<updated>2021-04-16T07:04:24Z</updated>
		
		<summary type="html">&lt;p&gt;Miguel Caro: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &amp;lt;code&amp;gt;topology&amp;lt;/code&amp;gt; file allows you to handle bond breaking and formation in your simulation. The scientific details are reported in Ref.&amp;lt;ref name=&amp;quot;caro_2017b&amp;quot; /&amp;gt;. In essence, the &amp;lt;code&amp;gt;topology&amp;lt;/code&amp;gt; file allows you to define topology information for your system in the form of connectivity between atoms. This will allow '''DoSPT''' to rebuild groups and supergroups dynamically as the simulation progresses, if there is bond breaking and formation, as in Ref.&amp;lt;ref name=&amp;quot;caro_2017b&amp;quot; /&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Imagine for instance the case where you are simulating a hydronium ion in water. The extra proton is highly mobile, and it will switch between adjacent water molecules dynamically, with hopping times below the ps range. In this situation, for the purpose of computing the decomposition of the degrees of freedom into translational, rotational and vibrational, regular water molecules (H&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;O) are different from protons (H&amp;lt;sup&amp;gt;+&amp;lt;/sup&amp;gt;), hydronium ions (H&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;O&amp;lt;sup&amp;gt;+&amp;lt;/sup&amp;gt;) and other more complex structures like the Zundel cation (H&amp;lt;sub&amp;gt;5&amp;lt;/sub&amp;gt;O&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;&amp;lt;sup&amp;gt;+&amp;lt;/sup&amp;gt;). If these molecules did not change during the course of the simulation (i.e., via rebonding), we could use the regular way to generate a &amp;lt;code&amp;gt;groups&amp;lt;/code&amp;gt; file. However, in ab initio MD this will not be the case.&lt;br /&gt;
&lt;br /&gt;
DoSPT deal with this problem by assigning a &amp;quot;lifetime&amp;quot; to single groups, delimited by rebonding events. The lifetime divided by the total MD time gives the weight of the group to the supergroup properties. In regular classical MD simulations, all groups have weight 1 since there is no rebonding.&lt;br /&gt;
&lt;br /&gt;
An example &amp;lt;code&amp;gt;topology&amp;lt;/code&amp;gt; file for a water simulation looks like this:&lt;br /&gt;
&lt;br /&gt;
 bond  O  H  0.11 0.13&lt;br /&gt;
 group H 2 O 1 sym 2 sup 1&lt;br /&gt;
 group H 3 O 1 sym 3 sup 2&lt;br /&gt;
 group H 1 O 1 sym 1 sup 3&lt;br /&gt;
 group H 1 sym 1 sup 4&lt;br /&gt;
 group H 5 O 2 sym 2 sup 5&lt;br /&gt;
&lt;br /&gt;
In the first line we have defined bonds between O and H atoms only. These bonds &amp;quot;form&amp;quot; whenever an O and a H atom come closer than 0.11 nm from each other. The bond &amp;quot;breaks&amp;quot; when the atoms move further than 0.13 nm from each other. Then come the group definitions, where you can define a group as containing 2 H atoms and 1 O atom, all connected in accordance to the provided bond definition(s). This group has symmetry number 2 and belongs to supergroup 1 (so it will contribute to the thermodynamic properties of that supergroup). The following lines define other group times similarly. DoSPT will monitor bond breaking in the simulation, and every time it detects bonds breaking or forming it will rebuild the system's topology. A clear limitation of the current implementation is that you cannot distinguish between isomers. That is, a specific chemical formula can currently only be assigned to a single group time.&lt;br /&gt;
&lt;br /&gt;
The topology reconstruction routine will generate a &amp;lt;code&amp;gt;topol/&amp;lt;/code&amp;gt; subdirectory with &amp;lt;code&amp;gt;groups.n&amp;lt;/code&amp;gt; files, where &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; is the time step during which the topology was rebuilt, and the file contains the same information as a regular &amp;lt;code&amp;gt;[[groups file|groups]]&amp;lt;/code&amp;gt;. This file can then be used for keeping track of topology changes or perhaps for restarting a simulation with a specific topology.&lt;br /&gt;
&lt;br /&gt;
Note that the current implementation is &amp;lt;math&amp;gt;O(N^2)&amp;lt;/math&amp;gt; scaling (or worse) and will perform very poorly for very large systems. It is possible to code a &amp;lt;math&amp;gt;O(N)&amp;lt;/math&amp;gt; algorithm to handle big systems. This may get implemented in the future since bond breaking and formation for large systems can now be routinely performed with machine learning interatomic potentials.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
{{Reference list}}&lt;/div&gt;</summary>
		<author><name>Miguel Caro</name></author>	</entry>

	<entry>
		<id>http://dospt.org/index.php?title=DoSPT&amp;diff=346</id>
		<title>DoSPT</title>
		<link rel="alternate" type="text/html" href="http://dospt.org/index.php?title=DoSPT&amp;diff=346"/>
				<updated>2021-04-16T06:55:30Z</updated>
		
		<summary type="html">&lt;p&gt;Miguel Caro: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; width: 45%; margin-top: 0px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;background-color: white;&amp;quot;|&lt;br /&gt;
[[File:Dospt.png|420px|center]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot;|&lt;br /&gt;
''A Fortran implementation of the 2PT method''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot;|&lt;br /&gt;
'''What's new?'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
'''16/04/2021''': The [[topology file]] usage is now documented. This is useful for bond breaking and formation.&lt;br /&gt;
&lt;br /&gt;
'''10/02/2020''': The latest development version of DoSPT features a new capability to handle vacuum in the simulation box, particularly geared towards interfacial simulations.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Welcome to the '''DoSPT''' website. '''DoSPT''' is a code that allows you to compute '''entropies''' from '''molecular dynamics''' simulations within the framework of the 2PT method. You can check out the [[DoSPT publications]] to get a better idea of what this is all about.&lt;br /&gt;
&lt;br /&gt;
At the moment you can [[Download the code|download]] and [[Installation|install]] the code. A list of [[What does DoSPT do|features]] and the [[documentation]] are still incomplete but more info is constantly being added. Example calculations showcasing the basic capabilities of the code are available as [[tutorials]]. More tutorials are coming up!&lt;br /&gt;
&lt;br /&gt;
If you need further information while the website is undergoing quick changes, please directly contact [[User:Miguel Caro|Miguel Caro]], who should be able to help you out.&lt;br /&gt;
&lt;br /&gt;
The DoSPT project is possible thanks to the support from [http://www.aalto.fi Aalto University], [http://www.aka.fi Academy of Finland] and [http://www.csc.fi CSC - IT Center for Science].&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 80%&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| [[File:Aalto_logo.png|250px]]&lt;br /&gt;
| [[File:AKA_logo.jpg|200px]]&lt;br /&gt;
| [[File:CSC_logo.png|200px]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Miguel Caro</name></author>	</entry>

	<entry>
		<id>http://dospt.org/index.php?title=DoSPT&amp;diff=345</id>
		<title>DoSPT</title>
		<link rel="alternate" type="text/html" href="http://dospt.org/index.php?title=DoSPT&amp;diff=345"/>
				<updated>2021-04-16T06:54:35Z</updated>
		
		<summary type="html">&lt;p&gt;Miguel Caro: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; width: 45%; margin-top: 0px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;background-color: white;&amp;quot;|&lt;br /&gt;
[[File:Dospt.png|420px|center]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot;|&lt;br /&gt;
''A Fortran implementation of the 2PT method''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot;|&lt;br /&gt;
'''What's new?'''&lt;br /&gt;
|-&lt;br /&gt;
| '''16/04/2021''': The [[topology file]] usage is now documented. This is useful for bond breaking and formation.&lt;br /&gt;
| '''10/02/2020''': The latest development version of DoSPT features a new capability to handle vacuum in the simulation box, particularly geared towards interfacial simulations.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Welcome to the '''DoSPT''' website. '''DoSPT''' is a code that allows you to compute '''entropies''' from '''molecular dynamics''' simulations within the framework of the 2PT method. You can check out the [[DoSPT publications]] to get a better idea of what this is all about.&lt;br /&gt;
&lt;br /&gt;
At the moment you can [[Download the code|download]] and [[Installation|install]] the code. A list of [[What does DoSPT do|features]] and the [[documentation]] are still incomplete but more info is constantly being added. Example calculations showcasing the basic capabilities of the code are available as [[tutorials]]. More tutorials are coming up!&lt;br /&gt;
&lt;br /&gt;
If you need further information while the website is undergoing quick changes, please directly contact [[User:Miguel Caro|Miguel Caro]], who should be able to help you out.&lt;br /&gt;
&lt;br /&gt;
The DoSPT project is possible thanks to the support from [http://www.aalto.fi Aalto University], [http://www.aka.fi Academy of Finland] and [http://www.csc.fi CSC - IT Center for Science].&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 80%&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| [[File:Aalto_logo.png|250px]]&lt;br /&gt;
| [[File:AKA_logo.jpg|200px]]&lt;br /&gt;
| [[File:CSC_logo.png|200px]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Miguel Caro</name></author>	</entry>

	<entry>
		<id>http://dospt.org/index.php?title=Documentation&amp;diff=344</id>
		<title>Documentation</title>
		<link rel="alternate" type="text/html" href="http://dospt.org/index.php?title=Documentation&amp;diff=344"/>
				<updated>2021-04-16T06:54:08Z</updated>
		
		<summary type="html">&lt;p&gt;Miguel Caro: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The DoSPT code is structured around several input files that serve the purpose of:&lt;br /&gt;
&lt;br /&gt;
* Providing the MD trajectory information, that is atomic positions (and possibly velocities). This info is contained in a [[trajectory file]], that can be supplied in a variety of popular formats (e.g., &amp;lt;code&amp;gt;[[traj.gro]]&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;[[traj.xyz]]&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
* Defining atomic &amp;lt;code&amp;gt;[[groups file|groups]]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* Defining atomic &amp;lt;code&amp;gt;[[supergroups file|supergroups]]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* Providing &amp;lt;code&amp;gt;[[masses file|masses]]&amp;lt;/code&amp;gt; information for the atoms involved in the MD.&lt;br /&gt;
&lt;br /&gt;
* Containing all the &amp;lt;code&amp;gt;[[input file|input]]&amp;lt;/code&amp;gt; options and other miscellaneous information pertaining your simulation, such as time step, etc. The &amp;lt;code&amp;gt;[[input]]&amp;lt;/code&amp;gt; file can contain minimal input parameters or it can contain special keywords that allow you to fine tune the simulation parameters, e.g., allow you to switch on pre- and post-processing of trajectory data or to choose between different available implementations of the hard-sphere formalism.&lt;br /&gt;
&lt;br /&gt;
These input files should all be present within the directory where DoSPT is to be executed. Read through the description of each input file to familiarize yourself with the expected format and the scope/effect of the different input parameters accepted by DoSPT.&lt;br /&gt;
&lt;br /&gt;
An optional input file is the &amp;lt;code&amp;gt;[[topology file|topology]]&amp;lt;/code&amp;gt; file. The &amp;lt;code&amp;gt;[[topology file|topology]]&amp;lt;/code&amp;gt; file contains bond and molecule information that allows DoSPT to handle bond breaking and bond formation dynamically (that is, as it happens during the MD run).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ DoSPT input files&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot;| Required&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot;| Optional&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[[input]]&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;[[groups]]&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;[[supergroups]]&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;[[masses]]&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;[[traj.***]]&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;[[topology file|topology]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
You can also check out the [[wishlist]], which summarizes wanted and planned functionality to be (hopefully) incorporated to DoSPT.&lt;/div&gt;</summary>
		<author><name>Miguel Caro</name></author>	</entry>

	<entry>
		<id>http://dospt.org/index.php?title=Topology&amp;diff=343</id>
		<title>Topology</title>
		<link rel="alternate" type="text/html" href="http://dospt.org/index.php?title=Topology&amp;diff=343"/>
				<updated>2021-04-16T06:52:32Z</updated>
		
		<summary type="html">&lt;p&gt;Miguel Caro: Redirected page to Topology file&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[topology file]]&lt;/div&gt;</summary>
		<author><name>Miguel Caro</name></author>	</entry>

	<entry>
		<id>http://dospt.org/index.php?title=Documentation&amp;diff=342</id>
		<title>Documentation</title>
		<link rel="alternate" type="text/html" href="http://dospt.org/index.php?title=Documentation&amp;diff=342"/>
				<updated>2021-04-16T06:51:23Z</updated>
		
		<summary type="html">&lt;p&gt;Miguel Caro: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The DoSPT code is structured around several input files that serve the purpose of:&lt;br /&gt;
&lt;br /&gt;
* Providing the MD trajectory information, that is atomic positions (and possibly velocities). This info is contained in a [[trajectory file]], that can be supplied in a variety of popular formats (e.g., &amp;lt;code&amp;gt;[[traj.gro]]&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;[[traj.xyz]]&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
* Defining atomic &amp;lt;code&amp;gt;[[groups file|groups]]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* Defining atomic &amp;lt;code&amp;gt;[[supergroups file|supergroups]]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* Providing &amp;lt;code&amp;gt;[[masses file|masses]]&amp;lt;/code&amp;gt; information for the atoms involved in the MD.&lt;br /&gt;
&lt;br /&gt;
* Containing all the &amp;lt;code&amp;gt;[[input file|input]]&amp;lt;/code&amp;gt; options and other miscellaneous information pertaining your simulation, such as time step, etc. The &amp;lt;code&amp;gt;[[input]]&amp;lt;/code&amp;gt; file can contain minimal input parameters or it can contain special keywords that allow you to fine tune the simulation parameters, e.g., allow you to switch on pre- and post-processing of trajectory data or to choose between different available implementations of the hard-sphere formalism.&lt;br /&gt;
&lt;br /&gt;
These input files should all be present within the directory where DoSPT is to be executed. Read through the description of each input file to familiarize yourself with the expected format and the scope/effect of the different input parameters accepted by DoSPT.&lt;br /&gt;
&lt;br /&gt;
An optional input file is the &amp;lt;code&amp;gt;[[topology file|topology]]&amp;lt;/code&amp;gt; file. The &amp;lt;code&amp;gt;[[topology file]]&amp;lt;/code&amp;gt; file contains bond and molecule information that allows DoSPT to handle bond breaking and bond formation dynamically (that is, as it happens during the MD run).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ DoSPT input files&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot;| Required&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot;| Optional&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[[input]]&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;[[groups]]&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;[[supergroups]]&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;[[masses]]&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;[[traj.***]]&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;[[topology file]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
You can also check out the [[wishlist]], which summarizes wanted and planned functionality to be (hopefully) incorporated to DoSPT.&lt;/div&gt;</summary>
		<author><name>Miguel Caro</name></author>	</entry>

	<entry>
		<id>http://dospt.org/index.php?title=Documentation&amp;diff=341</id>
		<title>Documentation</title>
		<link rel="alternate" type="text/html" href="http://dospt.org/index.php?title=Documentation&amp;diff=341"/>
				<updated>2021-04-16T06:51:10Z</updated>
		
		<summary type="html">&lt;p&gt;Miguel Caro: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The DoSPT code is structured around several input files that serve the purpose of:&lt;br /&gt;
&lt;br /&gt;
* Providing the MD trajectory information, that is atomic positions (and possibly velocities). This info is contained in a [[trajectory file]], that can be supplied in a variety of popular formats (e.g., &amp;lt;code&amp;gt;[[traj.gro]]&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;[[traj.xyz]]&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
* Defining atomic &amp;lt;code&amp;gt;[[groups file|groups]]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* Defining atomic &amp;lt;code&amp;gt;[[supergroups file|supergroups]]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* Providing &amp;lt;code&amp;gt;[[masses file|masses]]&amp;lt;/code&amp;gt; information for the atoms involved in the MD.&lt;br /&gt;
&lt;br /&gt;
* Containing all the &amp;lt;code&amp;gt;[[input file|input]]&amp;lt;/code&amp;gt; options and other miscellaneous information pertaining your simulation, such as time step, etc. The &amp;lt;code&amp;gt;[[input]]&amp;lt;/code&amp;gt; file can contain minimal input parameters or it can contain special keywords that allow you to fine tune the simulation parameters, e.g., allow you to switch on pre- and post-processing of trajectory data or to choose between different available implementations of the hard-sphere formalism.&lt;br /&gt;
&lt;br /&gt;
These input files should all be present within the directory where DoSPT is to be executed. Read through the description of each input file to familiarize yourself with the expected format and the scope/effect of the different input parameters accepted by DoSPT.&lt;br /&gt;
&lt;br /&gt;
An optional input file is the &amp;lt;code&amp;gt;[[topology file|topology]]&amp;lt;/code&amp;gt; file. The &amp;lt;code&amp;gt;[[topology file]]&amp;lt;/code&amp;gt; file contains bond and molecule information that allows DoSPT to handle bond breaking and bond formation dynamically (that is, as it happens during the MD run).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ DoSPT input files&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot;| Required&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot;| Optional&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[[input]]&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;[[groups]]&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;[[supergroups]]&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;[[masses]]&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;[[traj.***]]&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;[[topology]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
You can also check out the [[wishlist]], which summarizes wanted and planned functionality to be (hopefully) incorporated to DoSPT.&lt;/div&gt;</summary>
		<author><name>Miguel Caro</name></author>	</entry>

	<entry>
		<id>http://dospt.org/index.php?title=Topology_file&amp;diff=340</id>
		<title>Topology file</title>
		<link rel="alternate" type="text/html" href="http://dospt.org/index.php?title=Topology_file&amp;diff=340"/>
				<updated>2021-04-16T06:50:04Z</updated>
		
		<summary type="html">&lt;p&gt;Miguel Caro: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &amp;lt;code&amp;gt;topology&amp;lt;/code&amp;gt; file allows you to handle bond breaking and formation in your simulation. The scientific details are reported in Ref.&amp;lt;ref name=&amp;quot;caro_2017b&amp;quot; /&amp;gt;. In essence, the &amp;lt;code&amp;gt;topology&amp;lt;/code&amp;gt; file allows you to define topology information for your system in the form of connectivity between atoms. This will allow '''DoSPT''' to rebuild groups and supergroups dynamically as the simulation progresses, if there is bond breaking and formation, as in Ref.&amp;lt;ref name=&amp;quot;caro_2017b&amp;quot; /&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Imagine for instance the case where you are simulating a hydronium ion in water. The extra proton is highly mobile, and it will switch between adjacent water molecules dynamically, with hopping times below the ps range. In this situation, for the purpose of computing the decomposition of the degrees of freedom into translational, rotational and vibrational, regular water molecules (H&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;O) are different from protons (H&amp;lt;sup&amp;gt;+&amp;lt;/sup&amp;gt;), hydronium ions (H&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;O&amp;lt;sup&amp;gt;+&amp;lt;/sup&amp;gt;) and other more complex structures like the Zundel cation (H&amp;lt;sub&amp;gt;5&amp;lt;/sub&amp;gt;O&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;&amp;lt;sup&amp;gt;+&amp;lt;/sup&amp;gt;). If these molecules did not change during the course of the simulation (i.e., via rebonding), we could use the regular way to generate a &amp;lt;code&amp;gt;groups&amp;lt;/code&amp;gt; file. However, in ab initio MD this will not be the case.&lt;br /&gt;
&lt;br /&gt;
DoSPT deal with this problem by assigning a &amp;quot;lifetime&amp;quot; to single groups, delimited by rebonding events. The lifetime divided by the total MD time gives the weight of the group to the supergroup properties. In regular classical MD simulations, all groups have weight 1 since there is no rebonding.&lt;br /&gt;
&lt;br /&gt;
An example &amp;lt;code&amp;gt;topology&amp;lt;/code&amp;gt; file for a water simulation looks like this:&lt;br /&gt;
&lt;br /&gt;
 bond  O  H  0.11 0.13&lt;br /&gt;
 group H 2 O 1 sym 2 sup 1&lt;br /&gt;
 group H 3 O 1 sym 3 sup 2&lt;br /&gt;
 group H 1 O 1 sym 1 sup 3&lt;br /&gt;
 group H 1 sym 1 sup 4&lt;br /&gt;
 group H 5 O 2 sym 2 sup 5&lt;br /&gt;
&lt;br /&gt;
In the first line we have defined bonds between O and H atoms only. These bonds &amp;quot;form&amp;quot; whenever an O and a H atom come closer than 0.11 nm from each other. The bond &amp;quot;breaks&amp;quot; when the atoms move further than 0.13 nm from each other. Then come the group definitions, where you can define a group as containing 2 H atoms and 1 O atom, all connected in accordance to the provided bond definition(s). This group has symmetry number 2 and belongs to supergroup 1 (so it will contribute to the thermodynamic properties of that supergroup). The following lines define other group times similarly. DoSPT will monitor bond breaking in the simulation, and every time it detects bonds breaking or forming it will rebuild the system's topology. A clear limitation of the current implementation is that you cannot distinguish between isomers. That is, a specific chemical formula can currently only be assigned to a single group time.&lt;br /&gt;
&lt;br /&gt;
Note that the current implementation is &amp;lt;math&amp;gt;O(N^2)&amp;lt;/math&amp;gt; scaling (or worse) and will perform very poorly for very large systems. It is possible to code a &amp;lt;math&amp;gt;O(N)&amp;lt;/math&amp;gt; algorithm to handle big systems. This may get implemented in the future since bond breaking and formation for large systems can now be routinely performed with machine learning interatomic potentials.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
{{Reference list}}&lt;/div&gt;</summary>
		<author><name>Miguel Caro</name></author>	</entry>

	<entry>
		<id>http://dospt.org/index.php?title=Topology_file&amp;diff=339</id>
		<title>Topology file</title>
		<link rel="alternate" type="text/html" href="http://dospt.org/index.php?title=Topology_file&amp;diff=339"/>
				<updated>2021-04-16T06:49:48Z</updated>
		
		<summary type="html">&lt;p&gt;Miguel Caro: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &amp;lt;code&amp;gt;topology&amp;lt;/code&amp;gt; file allows you to handle bond breaking and formation in your simulation. The scientific details are reported in Ref.&amp;lt;ref name=&amp;quot;caro_2017b&amp;quot; /&amp;gt;. In essence, the &amp;lt;code&amp;gt;topology&amp;lt;/code&amp;gt; file allows you to define topology information for your system in the form of connectivity between atoms. This will allow '''DoSPT''' to rebuild groups and supergroups dynamically as the simulation progresses, if there is bond breaking and formation, as in Ref.&amp;lt;ref name=&amp;quot;caro_2017&amp;quot; /&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Imagine for instance the case where you are simulating a hydronium ion in water. The extra proton is highly mobile, and it will switch between adjacent water molecules dynamically, with hopping times below the ps range. In this situation, for the purpose of computing the decomposition of the degrees of freedom into translational, rotational and vibrational, regular water molecules (H&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;O) are different from protons (H&amp;lt;sup&amp;gt;+&amp;lt;/sup&amp;gt;), hydronium ions (H&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;O&amp;lt;sup&amp;gt;+&amp;lt;/sup&amp;gt;) and other more complex structures like the Zundel cation (H&amp;lt;sub&amp;gt;5&amp;lt;/sub&amp;gt;O&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;&amp;lt;sup&amp;gt;+&amp;lt;/sup&amp;gt;). If these molecules did not change during the course of the simulation (i.e., via rebonding), we could use the regular way to generate a &amp;lt;code&amp;gt;groups&amp;lt;/code&amp;gt; file. However, in ab initio MD this will not be the case.&lt;br /&gt;
&lt;br /&gt;
DoSPT deal with this problem by assigning a &amp;quot;lifetime&amp;quot; to single groups, delimited by rebonding events. The lifetime divided by the total MD time gives the weight of the group to the supergroup properties. In regular classical MD simulations, all groups have weight 1 since there is no rebonding.&lt;br /&gt;
&lt;br /&gt;
An example &amp;lt;code&amp;gt;topology&amp;lt;/code&amp;gt; file for a water simulation looks like this:&lt;br /&gt;
&lt;br /&gt;
 bond  O  H  0.11 0.13&lt;br /&gt;
 group H 2 O 1 sym 2 sup 1&lt;br /&gt;
 group H 3 O 1 sym 3 sup 2&lt;br /&gt;
 group H 1 O 1 sym 1 sup 3&lt;br /&gt;
 group H 1 sym 1 sup 4&lt;br /&gt;
 group H 5 O 2 sym 2 sup 5&lt;br /&gt;
&lt;br /&gt;
In the first line we have defined bonds between O and H atoms only. These bonds &amp;quot;form&amp;quot; whenever an O and a H atom come closer than 0.11 nm from each other. The bond &amp;quot;breaks&amp;quot; when the atoms move further than 0.13 nm from each other. Then come the group definitions, where you can define a group as containing 2 H atoms and 1 O atom, all connected in accordance to the provided bond definition(s). This group has symmetry number 2 and belongs to supergroup 1 (so it will contribute to the thermodynamic properties of that supergroup). The following lines define other group times similarly. DoSPT will monitor bond breaking in the simulation, and every time it detects bonds breaking or forming it will rebuild the system's topology. A clear limitation of the current implementation is that you cannot distinguish between isomers. That is, a specific chemical formula can currently only be assigned to a single group time.&lt;br /&gt;
&lt;br /&gt;
Note that the current implementation is &amp;lt;math&amp;gt;O(N^2)&amp;lt;/math&amp;gt; scaling (or worse) and will perform very poorly for very large systems. It is possible to code a &amp;lt;math&amp;gt;O(N)&amp;lt;/math&amp;gt; algorithm to handle big systems. This may get implemented in the future since bond breaking and formation for large systems can now be routinely performed with machine learning interatomic potentials.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
{{Reference list}}&lt;/div&gt;</summary>
		<author><name>Miguel Caro</name></author>	</entry>

	<entry>
		<id>http://dospt.org/index.php?title=Topology_file&amp;diff=338</id>
		<title>Topology file</title>
		<link rel="alternate" type="text/html" href="http://dospt.org/index.php?title=Topology_file&amp;diff=338"/>
				<updated>2021-04-16T06:49:32Z</updated>
		
		<summary type="html">&lt;p&gt;Miguel Caro: Created page with &amp;quot;The &amp;lt;code&amp;gt;topology&amp;lt;/code&amp;gt; file allows you to handle bond breaking and formation in your simulation. The scientific details are reported in Ref.&amp;lt;ref name=&amp;quot;caro_2017&amp;quot; /&amp;gt;. In ess...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &amp;lt;code&amp;gt;topology&amp;lt;/code&amp;gt; file allows you to handle bond breaking and formation in your simulation. The scientific details are reported in Ref.&amp;lt;ref name=&amp;quot;caro_2017&amp;quot; /&amp;gt;. In essence, the &amp;lt;code&amp;gt;topology&amp;lt;/code&amp;gt; file allows you to define topology information for your system in the form of connectivity between atoms. This will allow '''DoSPT''' to rebuild groups and supergroups dynamically as the simulation progresses, if there is bond breaking and formation, as in Ref.&amp;lt;ref name=&amp;quot;caro_2017&amp;quot; /&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Imagine for instance the case where you are simulating a hydronium ion in water. The extra proton is highly mobile, and it will switch between adjacent water molecules dynamically, with hopping times below the ps range. In this situation, for the purpose of computing the decomposition of the degrees of freedom into translational, rotational and vibrational, regular water molecules (H&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;O) are different from protons (H&amp;lt;sup&amp;gt;+&amp;lt;/sup&amp;gt;), hydronium ions (H&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;O&amp;lt;sup&amp;gt;+&amp;lt;/sup&amp;gt;) and other more complex structures like the Zundel cation (H&amp;lt;sub&amp;gt;5&amp;lt;/sub&amp;gt;O&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;&amp;lt;sup&amp;gt;+&amp;lt;/sup&amp;gt;). If these molecules did not change during the course of the simulation (i.e., via rebonding), we could use the regular way to generate a &amp;lt;code&amp;gt;groups&amp;lt;/code&amp;gt; file. However, in ab initio MD this will not be the case.&lt;br /&gt;
&lt;br /&gt;
DoSPT deal with this problem by assigning a &amp;quot;lifetime&amp;quot; to single groups, delimited by rebonding events. The lifetime divided by the total MD time gives the weight of the group to the supergroup properties. In regular classical MD simulations, all groups have weight 1 since there is no rebonding.&lt;br /&gt;
&lt;br /&gt;
An example &amp;lt;code&amp;gt;topology&amp;lt;/code&amp;gt; file for a water simulation looks like this:&lt;br /&gt;
&lt;br /&gt;
 bond  O  H  0.11 0.13&lt;br /&gt;
 group H 2 O 1 sym 2 sup 1&lt;br /&gt;
 group H 3 O 1 sym 3 sup 2&lt;br /&gt;
 group H 1 O 1 sym 1 sup 3&lt;br /&gt;
 group H 1 sym 1 sup 4&lt;br /&gt;
 group H 5 O 2 sym 2 sup 5&lt;br /&gt;
&lt;br /&gt;
In the first line we have defined bonds between O and H atoms only. These bonds &amp;quot;form&amp;quot; whenever an O and a H atom come closer than 0.11 nm from each other. The bond &amp;quot;breaks&amp;quot; when the atoms move further than 0.13 nm from each other. Then come the group definitions, where you can define a group as containing 2 H atoms and 1 O atom, all connected in accordance to the provided bond definition(s). This group has symmetry number 2 and belongs to supergroup 1 (so it will contribute to the thermodynamic properties of that supergroup). The following lines define other group times similarly. DoSPT will monitor bond breaking in the simulation, and every time it detects bonds breaking or forming it will rebuild the system's topology. A clear limitation of the current implementation is that you cannot distinguish between isomers. That is, a specific chemical formula can currently only be assigned to a single group time.&lt;br /&gt;
&lt;br /&gt;
Note that the current implementation is &amp;lt;math&amp;gt;O(N^2)&amp;lt;/math&amp;gt; scaling (or worse) and will perform very poorly for very large systems. It is possible to code a &amp;lt;math&amp;gt;O(N)&amp;lt;/math&amp;gt; algorithm to handle big systems. This may get implemented in the future since bond breaking and formation for large systems can now be routinely performed with machine learning interatomic potentials.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
{{Reference list}}&lt;/div&gt;</summary>
		<author><name>Miguel Caro</name></author>	</entry>

	<entry>
		<id>http://dospt.org/index.php?title=Template:Reference_list&amp;diff=337</id>
		<title>Template:Reference list</title>
		<link rel="alternate" type="text/html" href="http://dospt.org/index.php?title=Template:Reference_list&amp;diff=337"/>
				<updated>2021-04-16T06:26:00Z</updated>
		
		<summary type="html">&lt;p&gt;Miguel Caro: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;caleman_2012&amp;quot;&amp;gt;&lt;br /&gt;
C. Caleman and P.J. van Maaren and M. Hong and J.S. Hub and L.T. Costa and D. van der Spoel.&lt;br /&gt;
''Force field benchmark of organic liquids: Density, enthalpy of vaporization, heat capacities, surface tension, isothermal compressibility, volumetric expansion coefficient, and dielectric constant''.&lt;br /&gt;
[http://pubs.acs.org/doi/abs/10.1021/ct200731v J. Chem. Theory Comput. '''8''', 61 (2012)].&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name=&amp;quot;caro_2016&amp;quot;&amp;gt;&lt;br /&gt;
M.A. Caro, T. Laurila, and O. Lopez-Acevedo. ''Accurate schemes for calculation of thermodynamic properties of liquid mixtures from molecular dynamics simulations''. [http://aip.scitation.org/doi/full/10.1063/1.4973001 J. Chem. Phys. '''145''', 244504 (2016)].&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name=&amp;quot;lama_1965&amp;quot;&amp;gt;&lt;br /&gt;
R.F. Lama and B.C.-Y. Lu. ''Excess thermodynamic properties of aqueous alcohol solutions''.&lt;br /&gt;
[http://pubs.acs.org/doi/abs/10.1021/je60026a003 J. Chem. Eng. Data '''10''', 216 (1965)].&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name=&amp;quot;lai_2012&amp;quot;&amp;gt;&lt;br /&gt;
P.-K. Lai, C.-M. Hsieh and S.-T. Lin. ''Rapid determination of entropy and free energy of mixtures from molecular dynamics simulations with the two-phase thermodynamic model''. [https://doi.org/10.1039/C2CP42011B Phys. Chem. Chem. Phys. '''14''', 15206 (2012)].&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name=&amp;quot;lin_2003&amp;quot;&amp;gt;&lt;br /&gt;
S.-T. Lin, M. Blanco and W.A. Goddard III. ''The two-phase model for calculating thermodynamic properties of liquids from molecular dynamics: Validation for the phase diagram of Lennard-Jones fluids''. [https://aip.scitation.org/doi/10.1063/1.1624057 J. Chem. Phys. '''119''', 11792 (2003)].&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name=&amp;quot;caro_2017b&amp;quot;&amp;gt;&lt;br /&gt;
M.A. Caro, O. Lopez-Acevedo, and T. Laurila}. ''Redox potentials from ab initio molecular dynamics and explicit entropy calculations: application to transition metals in aqueous solution''.&lt;br /&gt;
[https://pubs.acs.org/doi/abs/10.1021/acs.jctc.7b00314 J. Chem. Theory Comput. '''13''', 3432 (2017)].&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;/div&gt;</summary>
		<author><name>Miguel Caro</name></author>	</entry>

	<entry>
		<id>http://dospt.org/index.php?title=DoSPT_publications&amp;diff=336</id>
		<title>DoSPT publications</title>
		<link rel="alternate" type="text/html" href="http://dospt.org/index.php?title=DoSPT_publications&amp;diff=336"/>
				<updated>2021-03-08T16:20:06Z</updated>
		
		<summary type="html">&lt;p&gt;Miguel Caro: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a list of publications that highlight the capabilities and/or make use of the DoSPT code. Papers by DoSPT authors are in '''bold'''.&lt;br /&gt;
&lt;br /&gt;
== 2021 ==&lt;br /&gt;
&lt;br /&gt;
A. Henao, J.M. Salazar-Rios, E. Guardia, L.C. Pardo;&amp;lt;br /&amp;gt;&lt;br /&gt;
''Structure and dynamics of water plastic crystals from computer simulations'';&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://aip.scitation.org/doi/full/10.1063/5.0038762 J. Chem. Phys. 154, 104501 (2021)].&lt;br /&gt;
&lt;br /&gt;
== 2020 ==&lt;br /&gt;
&lt;br /&gt;
S. Mukherjee, B. Bagchi;&amp;lt;br /&amp;gt;&lt;br /&gt;
''Entropic Origin of the Attenuated Width of the Ice–Water Interface'';&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://pubs.acs.org/doi/abs/10.1021/acs.jpcc.0c02030 J. Phys. Chem. C 124, 7334 (2020)].&lt;br /&gt;
&lt;br /&gt;
== 2018 ==&lt;br /&gt;
&lt;br /&gt;
S.R. Varanasi, Y. Subramanian, S.K. Bhatia;&amp;lt;br /&amp;gt;&lt;br /&gt;
''High Interfacial Barriers at Narrow Carbon Nanotube--Water Interfaces'';&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://pubs.acs.org/doi/abs/10.1021/acs.langmuir.8b00616 Langmuir 34, 8099 (2018)].&lt;br /&gt;
&lt;br /&gt;
== 2017 ==&lt;br /&gt;
&lt;br /&gt;
'''Miguel A. Caro, Olga Lopez-Acevedo, and Tomi Laurila''';&amp;lt;br /&amp;gt;&lt;br /&gt;
''Redox Potentials from Ab Initio Molecular Dynamics and Explicit Entropy Calculations: Application to Transition Metals in Aqueous Solution''; &amp;lt;br /&amp;gt;&lt;br /&gt;
[http://pubs.acs.org/doi/abs/10.1021/acs.jctc.7b00314 J. Chem. Theory Comput. 13, 3432 (2017)].&lt;br /&gt;
&lt;br /&gt;
== 2016 ==&lt;br /&gt;
&lt;br /&gt;
'''Miguel A. Caro, Tomi Laurila, and Olga Lopez-Acevedo''';&amp;lt;br /&amp;gt;&lt;br /&gt;
''Accurate schemes for calculation of thermodynamic properties of liquid mixtures from molecular dynamics simulations'';&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://aip.scitation.org/doi/pdf/10.1063/1.4973001 J. Chem. Phys. 145, 244504 (2016)].&lt;/div&gt;</summary>
		<author><name>Miguel Caro</name></author>	</entry>

	<entry>
		<id>http://dospt.org/index.php?title=DoSPT_publications&amp;diff=335</id>
		<title>DoSPT publications</title>
		<link rel="alternate" type="text/html" href="http://dospt.org/index.php?title=DoSPT_publications&amp;diff=335"/>
				<updated>2020-04-20T16:14:22Z</updated>
		
		<summary type="html">&lt;p&gt;Miguel Caro: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a list of publications that highlight the capabilities and/or make use of the DoSPT code. Papers by DoSPT authors are in '''bold'''.&lt;br /&gt;
&lt;br /&gt;
== 2020 ==&lt;br /&gt;
&lt;br /&gt;
S. Mukherjee, B. Bagchi;&amp;lt;br /&amp;gt;&lt;br /&gt;
''Entropic Origin of the Attenuated Width of the Ice–Water Interface'';&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://pubs.acs.org/doi/abs/10.1021/acs.jpcc.0c02030 J. Phys. Chem. C 124, 7334 (2020)].&lt;br /&gt;
&lt;br /&gt;
== 2018 ==&lt;br /&gt;
&lt;br /&gt;
S.R. Varanasi, Y. Subramanian, S.K. Bhatia;&amp;lt;br /&amp;gt;&lt;br /&gt;
''High Interfacial Barriers at Narrow Carbon Nanotube--Water Interfaces'';&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://pubs.acs.org/doi/abs/10.1021/acs.langmuir.8b00616 Langmuir 34, 8099 (2018)].&lt;br /&gt;
&lt;br /&gt;
== 2017 ==&lt;br /&gt;
&lt;br /&gt;
'''Miguel A. Caro, Olga Lopez-Acevedo, and Tomi Laurila''';&amp;lt;br /&amp;gt;&lt;br /&gt;
''Redox Potentials from Ab Initio Molecular Dynamics and Explicit Entropy Calculations: Application to Transition Metals in Aqueous Solution''; &amp;lt;br /&amp;gt;&lt;br /&gt;
[http://pubs.acs.org/doi/abs/10.1021/acs.jctc.7b00314 J. Chem. Theory Comput. 13, 3432 (2017)].&lt;br /&gt;
&lt;br /&gt;
== 2016 ==&lt;br /&gt;
&lt;br /&gt;
'''Miguel A. Caro, Tomi Laurila, and Olga Lopez-Acevedo''';&amp;lt;br /&amp;gt;&lt;br /&gt;
''Accurate schemes for calculation of thermodynamic properties of liquid mixtures from molecular dynamics simulations'';&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://aip.scitation.org/doi/pdf/10.1063/1.4973001 J. Chem. Phys. 145, 244504 (2016)].&lt;/div&gt;</summary>
		<author><name>Miguel Caro</name></author>	</entry>

	<entry>
		<id>http://dospt.org/index.php?title=DoSPT_publications&amp;diff=334</id>
		<title>DoSPT publications</title>
		<link rel="alternate" type="text/html" href="http://dospt.org/index.php?title=DoSPT_publications&amp;diff=334"/>
				<updated>2020-04-20T16:14:09Z</updated>
		
		<summary type="html">&lt;p&gt;Miguel Caro: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a list of publications that highlight the capabilities and/or make use of the DoSPT code. Papers by DoSPT authors are in '''bold'''.&lt;br /&gt;
&lt;br /&gt;
== 2020 ==&lt;br /&gt;
&lt;br /&gt;
S. Mukherjee, B. Bagchi;&amp;lt;br /&amp;gt;&lt;br /&gt;
''Entropic Origin of the Attenuated Width of the Ice–Water Interface'';&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://pubs.acs.org/doi/abs/10.1021/acs.jpcc.0c02030 J. Phys. Chem. C 124, 7334 (2020)].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 2018 ==&lt;br /&gt;
&lt;br /&gt;
S.R. Varanasi, Y. Subramanian, S.K. Bhatia;&amp;lt;br /&amp;gt;&lt;br /&gt;
''High Interfacial Barriers at Narrow Carbon Nanotube--Water Interfaces'';&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://pubs.acs.org/doi/abs/10.1021/acs.langmuir.8b00616 Langmuir 34, 8099 (2018)].&lt;br /&gt;
&lt;br /&gt;
== 2017 ==&lt;br /&gt;
&lt;br /&gt;
'''Miguel A. Caro, Olga Lopez-Acevedo, and Tomi Laurila''';&amp;lt;br /&amp;gt;&lt;br /&gt;
''Redox Potentials from Ab Initio Molecular Dynamics and Explicit Entropy Calculations: Application to Transition Metals in Aqueous Solution''; &amp;lt;br /&amp;gt;&lt;br /&gt;
[http://pubs.acs.org/doi/abs/10.1021/acs.jctc.7b00314 J. Chem. Theory Comput. 13, 3432 (2017)].&lt;br /&gt;
&lt;br /&gt;
== 2016 ==&lt;br /&gt;
&lt;br /&gt;
'''Miguel A. Caro, Tomi Laurila, and Olga Lopez-Acevedo''';&amp;lt;br /&amp;gt;&lt;br /&gt;
''Accurate schemes for calculation of thermodynamic properties of liquid mixtures from molecular dynamics simulations'';&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://aip.scitation.org/doi/pdf/10.1063/1.4973001 J. Chem. Phys. 145, 244504 (2016)].&lt;/div&gt;</summary>
		<author><name>Miguel Caro</name></author>	</entry>

	<entry>
		<id>http://dospt.org/index.php?title=Installation&amp;diff=333</id>
		<title>Installation</title>
		<link rel="alternate" type="text/html" href="http://dospt.org/index.php?title=Installation&amp;diff=333"/>
				<updated>2020-02-17T09:25:54Z</updated>
		
		<summary type="html">&lt;p&gt;Miguel Caro: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''Note: All installation instructions apply to '''Linux environments only'''. Support is not currently provided nor planned for any other platform. This doesn't mean you cannot run DoSPT on another operating system. If you manage to install and successfully run DoSPT on Windows, Mac or anything else, you can contact the [[development team]] to make your instructions available on this website.''&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
&lt;br /&gt;
To install DoSPT, first make sure you have access to both a Fortran compiler and a C++ compiler. We recommend gfortran and g++, which are free and have been tested to work reliably with DoSPT. DoSPT also relies on Fast Fourier Transform and Voronoi tessellation functionality provided by [http://www.netlib.org/fftpack/ FFTPACK] and [http://math.lbl.gov/voro++/ Voro++], respectively. For the user's convenience these packages are shipped with every DoSPT distribution and compiled/built as part of a regular DoSPT installation (so you don't have to worry about installing these packages separately).&lt;br /&gt;
&lt;br /&gt;
=== Download and untar the code ===&lt;br /&gt;
&lt;br /&gt;
[[Download the code|Download]] the most recent version of the code (which might not be the one in the example below!) into a directory of your choice and untar it. In this page we will assume the user wants to install DoSPT in a directory called &amp;quot;dospt&amp;quot; under their home directory:&lt;br /&gt;
&lt;br /&gt;
 mkdir -p $HOME/dospt/&lt;br /&gt;
 cd $HOME/dospt/&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://dospt.org/downloads/DoSPT-0.2.2.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 tar -xvf DoSPT-0.2.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
You can now remove the tar file:&lt;br /&gt;
&lt;br /&gt;
 rm DoSPT-0.2.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
=== Build the code ===&lt;br /&gt;
&lt;br /&gt;
To compile everything and build the DoSPT executable simply cd into the directory where the untarred files are located and execute &amp;quot;build.sh&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 cd $HOME/dospt/DoSPT-0.2.2&lt;br /&gt;
 ./build.sh&lt;br /&gt;
&lt;br /&gt;
This will by default compile dfftpack, Voro++ and DoSPT, and build the DoSPT executable under the &amp;quot;bin/&amp;quot; directory. You can edit &amp;quot;build.sh&amp;quot; to change default options, such as compiler flags or target directories.&lt;br /&gt;
&lt;br /&gt;
=== Add the installation directory to your path ===&lt;br /&gt;
&lt;br /&gt;
To be able to use DoSPT system-wide, you'll need to add the &amp;quot;bin/&amp;quot; directory to you path, or create a symbolic link which will point to the installation directory and will be located in another directory which is already in your path. The most simple solution is probably to just do:&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;PATH=\$HOME/dospt/DoSPT-0.2.2/bin:\$PATH&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 source ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
After this, you can execute DoSPT just by typing &amp;quot;DoSPT&amp;quot; in a terminal.&lt;/div&gt;</summary>
		<author><name>Miguel Caro</name></author>	</entry>

	<entry>
		<id>http://dospt.org/index.php?title=Download_the_code&amp;diff=332</id>
		<title>Download the code</title>
		<link rel="alternate" type="text/html" href="http://dospt.org/index.php?title=Download_the_code&amp;diff=332"/>
				<updated>2020-02-17T09:25:04Z</updated>
		
		<summary type="html">&lt;p&gt;Miguel Caro: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''Note: The development version of the DoSPT code can be accessed and downloaded from [https://github.com/mcaroba/dospt GitHub]. Since DoSPT is constantly developed, it is possible that the development version has functionality not available from the latest released version in the list below (especially if the latter is older than a couple of months). The installation process is the same as for the releases listed below.''&lt;br /&gt;
&lt;br /&gt;
This is a list of the different DoSPT versions available for download. Old versions are kept for historical reasons and to keep track of lost/gained functionality, bugs, etc.&lt;br /&gt;
&lt;br /&gt;
Please keep in mind that older versions might contain bugs that have been fixed in newer versions, and that the documentation on this site might be only valid for the latest version. In particular, big changes in functionality or usage might occur between early versions of the code, which are currently being heavily developed.&lt;br /&gt;
&lt;br /&gt;
To avoid any issues, make sure that you are running the '''latest version available''' on this page whenever possible. Also make sure to check the list of known bugs - if a bug in the latest release version of DoSPT affects your particular usage, installing the [https://github.com/mcaroba/dospt development version] might be a safer option for you.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ DoSPT versions available for download&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot;| File name&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot;| Size&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot;| Version&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot;| Upload date (DD/MM/YYYY)&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot;| Life cycle&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot;| Known bugs and issues&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot;| Comments and release notes&lt;br /&gt;
|-&lt;br /&gt;
| [http://dospt.org/downloads/DoSPT-0.2.2.tar.gz DoSPT-0.2.2.tar.gz]&lt;br /&gt;
| 878.67KB&lt;br /&gt;
| v0.2.2&lt;br /&gt;
| 17/02/2020&lt;br /&gt;
| Alpha&lt;br /&gt;
| [[Bugs and issues of DoSPT-0.2.2|List]]&lt;br /&gt;
| Lots of new functionality added to the code. Currently undocumented.&lt;br /&gt;
|-&lt;br /&gt;
| [http://dospt.org/downloads/DoSPT-0.2.tar.gz DoSPT-0.2.tar.gz]&lt;br /&gt;
| 942.59KB&lt;br /&gt;
| v0.2&lt;br /&gt;
| 10/07/2017&lt;br /&gt;
| Alpha&lt;br /&gt;
| [[Bugs and issues of DoSPT-0.2|List]]&lt;br /&gt;
| [[Topology]] feature incorporated into the code. Alpha version - possible unknown bugs and broken functionality. Note that there were some problems with the &amp;lt;code&amp;gt;build.sh&amp;lt;/code&amp;gt; file in the tar originally uploaded. They have been fixed now.&lt;br /&gt;
|-&lt;br /&gt;
| [http://dospt.org/downloads/DoSPT-0.1.tar.gz DoSPT-0.1.tar.gz]&lt;br /&gt;
| 908.4KB&lt;br /&gt;
| v0.1&lt;br /&gt;
| 12/09/2016&lt;br /&gt;
| Alpha&lt;br /&gt;
| [[Bugs and issues of DoSPT-0.1|List]]&lt;br /&gt;
| Alpha version - possible unknown bugs and broken functionality. First ever available version of DoSPT.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Miguel Caro</name></author>	</entry>

	<entry>
		<id>http://dospt.org/index.php?title=DoSPT&amp;diff=331</id>
		<title>DoSPT</title>
		<link rel="alternate" type="text/html" href="http://dospt.org/index.php?title=DoSPT&amp;diff=331"/>
				<updated>2020-02-10T15:07:45Z</updated>
		
		<summary type="html">&lt;p&gt;Miguel Caro: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; width: 45%; margin-top: 0px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;background-color: white;&amp;quot;|&lt;br /&gt;
[[File:Dospt.png|420px|center]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot;|&lt;br /&gt;
''A Fortran implementation of the 2PT method''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot;|&lt;br /&gt;
'''What's new?'''&lt;br /&gt;
|-&lt;br /&gt;
| '''10/02/2020''': The latest development version of DoSPT features a new capability to handle vacuum in the simulation box, particularly geared towards interfacial simulations.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Welcome to the '''DoSPT''' website. '''DoSPT''' is a code that allows you to compute '''entropies''' from '''molecular dynamics''' simulations within the framework of the 2PT method. You can check out the [[DoSPT publications]] to get a better idea of what this is all about.&lt;br /&gt;
&lt;br /&gt;
At the moment you can [[Download the code|download]] and [[Installation|install]] the code. A list of [[What does DoSPT do|features]] and the [[documentation]] are still incomplete but more info is constantly being added. Example calculations showcasing the basic capabilities of the code are available as [[tutorials]]. More tutorials are coming up!&lt;br /&gt;
&lt;br /&gt;
If you need further information while the website is undergoing quick changes, please directly contact [[User:Miguel Caro|Miguel Caro]], who should be able to help you out.&lt;br /&gt;
&lt;br /&gt;
The DoSPT project is possible thanks to the support from [http://www.aalto.fi Aalto University], [http://www.aka.fi Academy of Finland] and [http://www.csc.fi CSC - IT Center for Science].&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 80%&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| [[File:Aalto_logo.png|250px]]&lt;br /&gt;
| [[File:AKA_logo.jpg|200px]]&lt;br /&gt;
| [[File:CSC_logo.png|200px]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Miguel Caro</name></author>	</entry>

	<entry>
		<id>http://dospt.org/index.php?title=DoSPT:About&amp;diff=330</id>
		<title>DoSPT:About</title>
		<link rel="alternate" type="text/html" href="http://dospt.org/index.php?title=DoSPT:About&amp;diff=330"/>
				<updated>2019-09-20T12:17:03Z</updated>
		
		<summary type="html">&lt;p&gt;Miguel Caro: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The DoSPT code has been written by [[User:Miguel Caro|Miguel Caro]] in the period 2015-2019 during his employment at Aalto University. This website has been created and maintained by Miguel Caro during the same period. All website contents and code remain the copyright of Miguel Caro unless otherwise stated (see LICENSE file in the code for details). The Aalto University, Academy of Finland and CSC logos are their respective copyrights.&lt;br /&gt;
&lt;br /&gt;
Both the code and the contents of this website which are copyright of Miguel Caro are provided under the Creative Commons Attribution-NonCommercial-ShareAlike license: [http://creativecommons.org/licenses/by-nc-sa/3.0/]. The parts of the code and contents of this website which are not copyright of Miguel Caro are distributed in accordance with their own copyright; redistribution of those by third parties lies within their own terms of copyright. Miguel Caro is not responsible for a third party's failure to follow said terms.&lt;br /&gt;
&lt;br /&gt;
If you want to use DoSPT for commercial purposes please contact [[User:Miguel Caro|Miguel Caro]].&lt;/div&gt;</summary>
		<author><name>Miguel Caro</name></author>	</entry>

	<entry>
		<id>http://dospt.org/index.php?title=Sample_traj.xyz&amp;diff=329</id>
		<title>Sample traj.xyz</title>
		<link rel="alternate" type="text/html" href="http://dospt.org/index.php?title=Sample_traj.xyz&amp;diff=329"/>
				<updated>2019-05-29T13:11:47Z</updated>
		
		<summary type="html">&lt;p&gt;Miguel Caro: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A &amp;lt;code&amp;gt;traj.xyz&amp;lt;/code&amp;gt; [[trajectory file]] should adhere to the following convention:&lt;br /&gt;
&lt;br /&gt;
 Number_of_atoms&lt;br /&gt;
 Name_or_comment&lt;br /&gt;
 Atom_name_1   posx posy posz (velx vely velz)&lt;br /&gt;
 Atom_name_2   posx posy posz (velx vely velz)&lt;br /&gt;
 ...&lt;br /&gt;
 Atom_name_nat posx posy posz (velx vely velz)&lt;br /&gt;
&lt;br /&gt;
Where the units for positions are Angstrom and the units for velocities (which are optional if you use the &amp;lt;code&amp;gt;[[estimate_velocities]] = .true.&amp;lt;/code&amp;gt; option) are Angstrom/fs.&lt;br /&gt;
&lt;br /&gt;
For a 100-molecule TIP4P water system (including dummy atoms) this looks something like this (without velocities):&lt;br /&gt;
&lt;br /&gt;
 400&lt;br /&gt;
 Water&lt;br /&gt;
 OW   7.50   8.43   5.11&lt;br /&gt;
 HW1  6.76   8.30   4.53&lt;br /&gt;
 HW2  7.96   9.19   4.76&lt;br /&gt;
 MW   7.47   8.51   4.99&lt;br /&gt;
 OW   5.95   4.22   0.07&lt;br /&gt;
 HW1  6.69   4.82   0.12&lt;br /&gt;
 HW2  6.18   3.63  -0.65&lt;br /&gt;
 MW   6.08   4.22  -0.02&lt;br /&gt;
 .&lt;br /&gt;
 .&lt;br /&gt;
 .&lt;br /&gt;
 OW   2.70   8.23   4.53&lt;br /&gt;
 HW1  2.47   7.54   3.91&lt;br /&gt;
 HW2  1.92   8.35   5.07&lt;br /&gt;
 MW   2.57   8.16   4.52&lt;/div&gt;</summary>
		<author><name>Miguel Caro</name></author>	</entry>

	</feed>