<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://hpc-wiki.info/hpc/index.php?action=history&amp;feed=atom&amp;title=Gaussian</id>
	<title>Gaussian - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://hpc-wiki.info/hpc/index.php?action=history&amp;feed=atom&amp;title=Gaussian"/>
	<link rel="alternate" type="text/html" href="https://hpc-wiki.info/hpc/index.php?title=Gaussian&amp;action=history"/>
	<updated>2026-04-13T12:27:58Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.9</generator>
	<entry>
		<id>https://hpc-wiki.info/hpc/index.php?title=Gaussian&amp;diff=4580&amp;oldid=prev</id>
		<title>Xin-wu-0e5c@uni-paderborn.de: fixed syntax errors</title>
		<link rel="alternate" type="text/html" href="https://hpc-wiki.info/hpc/index.php?title=Gaussian&amp;diff=4580&amp;oldid=prev"/>
		<updated>2021-03-10T15:47:10Z</updated>

		<summary type="html">&lt;p&gt;fixed syntax errors&lt;/p&gt;
&lt;a href=&quot;https://hpc-wiki.info/hpc/index.php?title=Gaussian&amp;amp;diff=4580&amp;amp;oldid=4579&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Xin-wu-0e5c@uni-paderborn.de</name></author>
	</entry>
	<entry>
		<id>https://hpc-wiki.info/hpc/index.php?title=Gaussian&amp;diff=4579&amp;oldid=prev</id>
		<title>Xin-wu-0e5c@uni-paderborn.de: moved to tutorials</title>
		<link rel="alternate" type="text/html" href="https://hpc-wiki.info/hpc/index.php?title=Gaussian&amp;diff=4579&amp;oldid=prev"/>
		<updated>2021-03-10T15:32:01Z</updated>

		<summary type="html">&lt;p&gt;moved to tutorials&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 15:32, 10 March 2021&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;HPC-User&lt;/del&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Tutorials&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Gaussian&amp;#039;&amp;#039;&amp;#039; is a computational chemistry software package widely-used by researchers in academia as well as in chemical industry. Its capabilities range from molecular mechanics calculations to various electronic structure methods, such as Hartree-Fock self-consistent field (HF-SCF), density functional theory (DFT), Møller-Plesset perturbation theory, configuration interaction and coupled cluster methods. One useful, but overlooked feature of Gaussian is the capability to save the intermediate results of computation as &amp;#039;&amp;#039;&amp;#039;a checkpoint file&amp;#039;&amp;#039;&amp;#039;. The checkpoint file can be used not only for visualization (e.g. molecular structure and molecular orbitals etc), but also for&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Gaussian&amp;#039;&amp;#039;&amp;#039; is a computational chemistry software package widely-used by researchers in academia as well as in chemical industry. Its capabilities range from molecular mechanics calculations to various electronic structure methods, such as Hartree-Fock self-consistent field (HF-SCF), density functional theory (DFT), Møller-Plesset perturbation theory, configuration interaction and coupled cluster methods. One useful, but overlooked feature of Gaussian is the capability to save the intermediate results of computation as &amp;#039;&amp;#039;&amp;#039;a checkpoint file&amp;#039;&amp;#039;&amp;#039;. The checkpoint file can be used not only for visualization (e.g. molecular structure and molecular orbitals etc), but also for&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key hpc_wiki:diff::1.12:old-4578:rev-4579 --&gt;
&lt;/table&gt;</summary>
		<author><name>Xin-wu-0e5c@uni-paderborn.de</name></author>
	</entry>
	<entry>
		<id>https://hpc-wiki.info/hpc/index.php?title=Gaussian&amp;diff=4578&amp;oldid=prev</id>
		<title>Xin-wu-0e5c@uni-paderborn.de: Gaussian Computation: reviewed by Robert Schade and Axel Keller.</title>
		<link rel="alternate" type="text/html" href="https://hpc-wiki.info/hpc/index.php?title=Gaussian&amp;diff=4578&amp;oldid=prev"/>
		<updated>2021-02-25T09:40:51Z</updated>

		<summary type="html">&lt;p&gt;Gaussian Computation: reviewed by Robert Schade and Axel Keller.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Category:HPC-User]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Gaussian&amp;#039;&amp;#039;&amp;#039; is a computational chemistry software package widely-used by researchers in academia as well as in chemical industry. Its capabilities range from molecular mechanics calculations to various electronic structure methods, such as Hartree-Fock self-consistent field (HF-SCF), density functional theory (DFT), Møller-Plesset perturbation theory, configuration interaction and coupled cluster methods. One useful, but overlooked feature of Gaussian is the capability to save the intermediate results of computation as &amp;#039;&amp;#039;&amp;#039;a checkpoint file&amp;#039;&amp;#039;&amp;#039;. The checkpoint file can be used not only for visualization (e.g. molecular structure and molecular orbitals etc), but also for&lt;br /&gt;
&lt;br /&gt;
* creating concise Gaussian input file by reading the molecule information stored in the checkpoint file&lt;br /&gt;
* pipelining continuous computations by starting with faster, albeit less accurate, methods, so that the more accurate, but time-consuming, computations can be facilitated by using the previously generated checkpoint file&lt;br /&gt;
* last but not least, restarting a Gaussian computation, if the job was terminated due to unexpected incidents, e.g. exceeding the specified time limit in workload manager (WLM), hardware crash or a power supply failure.&lt;br /&gt;
&lt;br /&gt;
In this tutorial we would like to show you how to utilize the intermediate results stored in the checkpoint file generated by Gaussian during computation to facilitate more accurate, but computationally expensive runs as final production. Because these production runs usually take much longer computation time and might be terminated prematurely, we would also like to guide you to have a periodic check and backup of the checkpoint file as well as to restart some typical computations in Gaussian (e.g. restart geometry optimization and vibrational frequency computation).&lt;br /&gt;
&lt;br /&gt;
The jobscript used in this tutorial is intended to provide a WLM-agnostic solution to run Gaussian computation with the checkpoint file. The examples shown below use Gaussian 16 installed on the Noctua system at Paderborn Center for Parallel Computing (PC²). &lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Gaussian computation on multiple compute nodes ==&lt;br /&gt;
&lt;br /&gt;
[[File:Caffeine.png|thumb|300px|The molecular structure of caffeine.]]&lt;br /&gt;
&lt;br /&gt;
The Gaussian computation of caffeine (see the figure) is used here to demonstrate how to run HF-SCF calculation with small basis set and generate the initial checkpoint file for later usage in more accurate computations. Moreover, the generated checkpoint file can be checked for integrity. It will also have a backup, if the integrity check can be passed successfully, and serve to restart unfinished Gaussian computation in previous run. The Gaussian input file is shown below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
%chk=caffeine.chk&lt;br /&gt;
%mem=128GB&lt;br /&gt;
%cpu=0-39&lt;br /&gt;
# hf/sto-3g opt&lt;br /&gt;
&lt;br /&gt;
We love Café&lt;br /&gt;
&lt;br /&gt;
0 1&lt;br /&gt;
O    2.383524    1.065652    0.000000&lt;br /&gt;
O    0.332955   -3.082123    0.000000&lt;br /&gt;
N   -1.057329   -1.245565    0.000000&lt;br /&gt;
N   -0.465323    2.223753    0.000000&lt;br /&gt;
N    1.319793   -1.009521    0.000000&lt;br /&gt;
N   -2.286017    0.870360    0.000000&lt;br /&gt;
C    0.000000    0.927977    0.000000&lt;br /&gt;
C   -1.140130    0.130872    0.000000&lt;br /&gt;
C    1.344937    0.405397    0.000000&lt;br /&gt;
C    0.190307   -1.864298    0.000000&lt;br /&gt;
C   -1.831401    2.134481    0.000000&lt;br /&gt;
C   -2.275717   -2.049078    0.000000&lt;br /&gt;
C    0.349100    3.433269    0.000000&lt;br /&gt;
C    2.606002   -1.713972    0.000000&lt;br /&gt;
H   -2.459303    3.025784    0.000000&lt;br /&gt;
H   -2.875732   -1.821570    0.894667&lt;br /&gt;
H   -1.972156   -3.102774    0.000000&lt;br /&gt;
H   -2.875732   -1.821570   -0.894667&lt;br /&gt;
H   -0.326272    4.300612    0.000000&lt;br /&gt;
H    0.989438    3.453412    0.892939&lt;br /&gt;
H    0.989438    3.453412   -0.892939&lt;br /&gt;
H    3.392927   -0.950608    0.000000&lt;br /&gt;
H    2.684548   -2.353005   -0.891658&lt;br /&gt;
H    2.684548   -2.353005    0.891658&lt;br /&gt;
     &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is a brief description of the Gaussian input file:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;%chk=caffeine.chk&amp;lt;/code&amp;gt;: specifies the name of the checkpoint file&lt;br /&gt;
* &amp;lt;code&amp;gt;%mem=128GB&amp;lt;/code&amp;gt;: specifies 128 GB memory will be used for the computation. This may be too much for the HF-SCF computation, but it definitely helps in the later, more expensive geometry optimization and vibrational frequency computations with the second-order Møller-Plesset method (MP2).&lt;br /&gt;
* &amp;lt;code&amp;gt;%cpu=0-39&amp;lt;/code&amp;gt;: specifies a total of 40 CPU cores (from CPU core 0 to 39) in a compute node of Noctua to be used for this computation.&lt;br /&gt;
* &amp;lt;code&amp;gt;# hf/sto-3g opt&amp;lt;/code&amp;gt;: specifies the molecular geometry optimization at the HF-SCF level with the &amp;lt;code&amp;gt;sto-3g&amp;lt;/code&amp;gt; basis set.&lt;br /&gt;
* &amp;lt;code&amp;gt;We love Café&amp;lt;/code&amp;gt;: specifies the title line of this Gaussian computation, which can be any one line text.&lt;br /&gt;
* The remaining lines in the Gaussian input file specify the information of the caffeine molecule: total molecular charge, spin-multiplicity and molecular structure.&lt;br /&gt;
&lt;br /&gt;
The Slurm jobscript is shown below and this Gaussian computation can be submitted with &amp;lt;code&amp;gt;sbatch g16.sh caffeine.com&amp;lt;/code&amp;gt;, where &amp;lt;code&amp;gt;caffeine.com&amp;lt;/code&amp;gt; is the Gaussian input file given above.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#SBATCH --job-name=g16cafe&lt;br /&gt;
#SBATCH --nodes=2&lt;br /&gt;
#SBATCH --ntasks-per-node=1&lt;br /&gt;
#SBATCH --cpus-per-task=40&lt;br /&gt;
#SBATCH --time=10:00:00&lt;br /&gt;
#SBATCH --output=g16-%j.out&lt;br /&gt;
#SBATCH --error=g16-%j.err&lt;br /&gt;
#&lt;br /&gt;
# load Gaussian 16 - the two commands below may be adapted to your local HPC system&lt;br /&gt;
#&lt;br /&gt;
module reset&lt;br /&gt;
module load g16&lt;br /&gt;
#&lt;br /&gt;
# create Gaussian scratch and stripe the data&lt;br /&gt;
#&lt;br /&gt;
MYSCRATCH=$(mktemp -d G16.XXXXX)&lt;br /&gt;
export GAUSS_SCRDIR=${MYSCRATCH}&lt;br /&gt;
# This Lustre setting can be adapted to your local HPC cluster.&lt;br /&gt;
lfs osts &amp;gt; /dev/null 2&amp;gt;&amp;amp;1 &amp;amp;&amp;amp; lfs setstripe -c $(($(lfs osts | wc -l) - 1)) .&lt;br /&gt;
#&lt;br /&gt;
# compute nodes for TCP-Linda&lt;br /&gt;
#&lt;br /&gt;
# - btnode: boot node of Gaussian&lt;br /&gt;
# - cnodes: list of compute nodes&lt;br /&gt;
#&lt;br /&gt;
btnode=$(scontrol show hostnames | head  -n  1 )&lt;br /&gt;
cnodes=$(scontrol show hostnames | paste -s -d,)&lt;br /&gt;
#&lt;br /&gt;
# run Gaussian computation&lt;br /&gt;
#&lt;br /&gt;
g16 -w=${cnodes} $1 &amp;amp;&lt;br /&gt;
g16pid=$!&lt;br /&gt;
#&lt;br /&gt;
# backup the checkpoint file for restarting Gaussian computation&lt;br /&gt;
#&lt;br /&gt;
# - If you want backup, please set bkmin accordingly, e.g. bkmin=60 for backup in every 60 minutes.&lt;br /&gt;
# - If you do NOT want backup, simply set bkmin to a very large value, e.g. bkmin=$((2**30)).&lt;br /&gt;
#&lt;br /&gt;
bkmin=60&lt;br /&gt;
while true; do&lt;br /&gt;
  for i in $(seq 1 ${bkmin}); do&lt;br /&gt;
    # terminate the job, if g16 is not running&lt;br /&gt;
    [[ $(hostname) == ${btnode} ]] &amp;amp;&amp;amp; [[ -z $(ps -o pid= -o ucmd= -p ${g16pid}) ]] &amp;amp;&amp;amp; exit 0&lt;br /&gt;
    sleep 1m&lt;br /&gt;
  done&lt;br /&gt;
  # backup the checkpoint file in every bkmin minutes&lt;br /&gt;
  for i in $(ls *.chk); do&lt;br /&gt;
    while true; do&lt;br /&gt;
      rsync -auq ${i} ${i}.b4bk&lt;br /&gt;
      chkchk ${i}.b4bk &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
      if [[ $? -eq 0 ]]; then&lt;br /&gt;
        mv ${i}.b4bk ${i}.lastbk&lt;br /&gt;
        break&lt;br /&gt;
      fi&lt;br /&gt;
    done&lt;br /&gt;
  done&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This &amp;lt;code&amp;gt;hf/sto-3g&amp;lt;/code&amp;gt; computation can be fast on two compute nodes in Noctua, each of them has 40 CPU cores.&lt;br /&gt;
&lt;br /&gt;
Here is a short description of the Slurm jobscript for running Gaussian computation.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;#SBATCH --nodes=2&amp;lt;/code&amp;gt;: specifies the number of compute nodes for TCP-Linda parallelization. Here we are using 2 compute nodes.&lt;br /&gt;
* &amp;lt;code&amp;gt;#SBATCH --ntasks-per-node=1&amp;lt;/code&amp;gt;: specifies one TCP-Linda instance on each compute node.&lt;br /&gt;
* &amp;lt;code&amp;gt;#SBATCH --cpus-per-task=40&amp;lt;/code&amp;gt;: uses 40 CPU cores for one Lindaworker for the node-level parallelization.&lt;br /&gt;
* Lines below &amp;lt;code&amp;gt;# load Gaussian 16&amp;lt;/code&amp;gt;: the following two commands may be adapted to your local HPC system.&lt;br /&gt;
** &amp;lt;code&amp;gt;module reset&amp;lt;/code&amp;gt; will reset to the default system environment modules. It&amp;#039;s only supported by Lmod[https://lmod.readthedocs.io/en/latest/010_user.html#user-s-tour-of-the-module-command]. The TCL-based Environment Modules, however, does not support this command[https://modules.readthedocs.io/en/latest].&lt;br /&gt;
** &amp;lt;code&amp;gt;module load g16&amp;lt;/code&amp;gt; will load the Gaussian 16 program package in your environment.&lt;br /&gt;
* Lines below &amp;lt;code&amp;gt;# create Gaussian scratch and stripe the data&amp;lt;/code&amp;gt;: for some Gaussian computation large scratch files will be created. Therefore it is necessary to optimize the file I/O performance.&lt;br /&gt;
** In the Slurm script given above we create the scratch directory on the Lustre parallel filesystem in Noctua and use all object storage targets (OSTs) for better file I/O performance[https://wikis.uni-paderborn.de/pc2doc/Noctua-Tuning#Lustre_File_System].&lt;br /&gt;
** Please adapt these settings to your local HPC clusters to achieve better file I/O performance.&lt;br /&gt;
* Lines below &amp;lt;code&amp;gt;# compute nodes for TCP-Linda&amp;lt;/code&amp;gt;: specifies the boot node and compute nodes for the Gaussian computation. The list of compute nodes will be passed to Gaussian for cluster-level parallelization.&lt;br /&gt;
* Lines below &amp;lt;code&amp;gt;# run Gaussian computation&amp;lt;/code&amp;gt;: runs the Gaussian computation in background and stores the &amp;lt;code&amp;gt;g16&amp;lt;/code&amp;gt; process ID on boot node for monitoring.&lt;br /&gt;
&lt;br /&gt;
A Gaussian computation may be terminated by some unexpected incidents, e.g. exceeded time limit or hardware failure. It is necessary to keep the checkpoint file in order to restart previously failed Gaussian computation. The checkpoint file, however, may also be corrupted and then it may be impossible to restart the Gaussian computation any longer. In the last part of the &amp;lt;code&amp;gt;g16.sh&amp;lt;/code&amp;gt; script we provide a backup solution to such problems.&lt;br /&gt;
&lt;br /&gt;
* By default the checkpoint file will be backed up in every 60 minutes. This backup period can be altered by changing the value assigned to &amp;lt;code&amp;gt;bkmin&amp;lt;/code&amp;gt;.&lt;br /&gt;
* The file name of the backup is &amp;lt;code&amp;gt;&amp;lt;checkpoint_file_name&amp;gt;.lastbk&amp;lt;/code&amp;gt;.&lt;br /&gt;
* To prevent the backup copy of the checkpoint file from being corrupted, a temporary file for checkpoint is used in the script and its integrity is checked by using &amp;lt;code&amp;gt;chkchk&amp;lt;/code&amp;gt; in the Gaussian package. This temporary file will become the real backup copy &amp;lt;code&amp;gt;&amp;lt;checkpoint_file_name&amp;gt;.lastbk&amp;lt;/code&amp;gt;, if its integrity can be correctly verified.&lt;br /&gt;
* If you do &amp;#039;&amp;#039;&amp;#039;NOT&amp;#039;&amp;#039;&amp;#039; want to have backup of the checkpoint file, simply set &amp;lt;code&amp;gt;bkmin&amp;lt;/code&amp;gt; to a very large value, e.g. &amp;lt;code&amp;gt;bkmin=$((2**30))&amp;lt;/code&amp;gt;, which is more than 2000 years.&lt;br /&gt;
&lt;br /&gt;
After the checkpoint file as well as its backup are saved, we can proceed to perform a series of continuous Gaussian computations by reading the molecule information stored in the checkpoint file as well as restart an interrupted Gaussian computation.&lt;br /&gt;
&lt;br /&gt;
== Read molecule specification from the checkpoint file ==&lt;br /&gt;
&lt;br /&gt;
The initial HF-SCF calculation is fast, but the obtained results for molecular properties may be less accurate. To refine the computational results further we need to employ the DFT method with larger basis sets and use the &amp;lt;code&amp;gt;hf/sto-3g&amp;lt;/code&amp;gt; optimized molecular structure as a starting point, which can be read from the checkpoint file directly. As a consequence the Gaussian input file for the DFT computation can be very concise.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
%chk=caffeine.chk&lt;br /&gt;
%mem=128GB&lt;br /&gt;
%cpu=0-39&lt;br /&gt;
# b3lyp/6-311g(d) geom=allcheck opt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The line &amp;lt;code&amp;gt;# b3lyp/6-311g(d) geom=allcheck opt&amp;lt;/code&amp;gt; specifies the B3LYP functional in combination with the 6-311g(d) basis set for the computation. All molecule information (e.g. total charge, spin multiplicity and molecular geometry optimized at the &amp;lt;code&amp;gt;hf/sto-3g&amp;lt;/code&amp;gt; level) will be read from the checkpoint file as the starting point for subsequent geometry optimization.&lt;br /&gt;
&lt;br /&gt;
== Read basis sets and initial wavefunction from the checkpoint file ==&lt;br /&gt;
&lt;br /&gt;
Besides the molecule specification the basis sets as well as the initial guess for the wavefunction can also be read from the checkpoint file generated in previous computation (e.g. the &amp;lt;code&amp;gt;b3lyp/6-311g(d)&amp;lt;/code&amp;gt; computation). Here is the Gaussian input file for the MP2 calculation with the 6-311g(d) basis set and initial wavefunction, both of which are stored and read from the checkpoint file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
%chk=caffeine.chk&lt;br /&gt;
%mem=128GB&lt;br /&gt;
%cpu=0-39&lt;br /&gt;
# mp2 chkbasis guess=read geom=allcheck opt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The Gaussian keywords:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chkbasis&amp;lt;/code&amp;gt; reads the basis set from the checkpoint file&lt;br /&gt;
* &amp;lt;code&amp;gt;guess=read&amp;lt;/code&amp;gt; reads the initial guess of the wavefunction from the checkpoint file&lt;br /&gt;
* &amp;lt;code&amp;gt;geom=allcheck&amp;lt;/code&amp;gt; reads all molecule specification from the checkpoint file&lt;br /&gt;
&lt;br /&gt;
The output of this Gaussian computation confirms that the basis set, initial wavefunction and the molecule specification are all read from the checkpoint file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
 Structure from the checkpoint file:  &amp;quot;caffeine.chk&amp;quot;&lt;br /&gt;
 Basis read from chk: &amp;quot;caffeine.chk&amp;quot; (5D, 7F)&lt;br /&gt;
 Initial guess from the checkpoint file:  &amp;quot;caffeine.chk&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Therefore the Gaussian input file becomes very concise and the present computation can be facilitated by deploying existing results obtained at the lower levels of computations (e.g. HF-SCF and DFT).&lt;br /&gt;
&lt;br /&gt;
== Restart molecular geometry optimization from the checkpoint file ==&lt;br /&gt;
&lt;br /&gt;
The MP2 computation can be much slower than DFT, what to do, if the molecular geometry optimization is terminated by some unexpected incidents (e.g. hardware failure)? The solution is quite simple, just put the &amp;lt;code&amp;gt;opt=restart&amp;lt;/code&amp;gt; option in the Gaussian input file and re-submit the computation. All existing information (e.g. basis sets, wavefunction and molecular structures during the geometry optimization) can be read from the checkpoint file. Here is the complete, but also very concise, Gaussian input file to restart the unfinished geometry optimization.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
%chk=caffeine.chk&lt;br /&gt;
%mem=128GB&lt;br /&gt;
%cpu=0-39&lt;br /&gt;
# mp2 chkbasis guess=read geom=allcheck opt=restart&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following line in the output file confirms that the aforementioned molecular information is successfully recovered from the checkpoint file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
Restoring state from the checkpoint file &amp;quot;caffeine.chk&amp;quot;.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Restart vibrational frequency computation from the checkpoint file ==&lt;br /&gt;
&lt;br /&gt;
The vibrational frequency computation at the MP2 level with 6-311g(d) basis set can be even more time-consuming than the geometry optimization, because the analytic 2nd order energy derivatives must be evaluated. Using the caffeine molecule as an example here is the Gaussian input file and the keyword &amp;lt;code&amp;gt;freq&amp;lt;/code&amp;gt; specifies the computation of molecular vibrational frequency.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
%rwf=caffeine.rwf&lt;br /&gt;
%chk=caffeine.chk&lt;br /&gt;
%mem=128GB&lt;br /&gt;
%cpu=0-39&lt;br /&gt;
# mp2 chkbasis guess=read geom=allcheck freq&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If such an expensive computation crashes because of something unexpected, it can be easily restarted with merely one single keyword &amp;lt;code&amp;gt;restart&amp;lt;/code&amp;gt;. The following gives you the Gaussian input file to restart the molecular frequency computation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
%rwf=caffeine.rwf&lt;br /&gt;
%chk=caffeine.chk&lt;br /&gt;
%mem=128GB&lt;br /&gt;
%cpu=0-39&lt;br /&gt;
# restart&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following line in the output file of Gaussian indicates the computation is restarting from the previous state.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
 (Restarting at link  811)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Other useful guides ==&lt;br /&gt;
&lt;br /&gt;
In this short tutorial we have presented how to use the checkpoint file in Gaussian computation to&lt;br /&gt;
&lt;br /&gt;
* read the basis sets, molecular wavefunction and molecule specification&lt;br /&gt;
* pipeline a series of computations and&lt;br /&gt;
* restart molecular geometry optimization and vibrational frequency computation.&lt;br /&gt;
&lt;br /&gt;
In addition a backup solution for the checkpoint file is provided in the jobscript, which checks the integrity of the checkpoint file and keeps the latest backup available.&lt;br /&gt;
&lt;br /&gt;
More information on the usage of the checkpoint file in Gaussian can be found at:&lt;br /&gt;
&lt;br /&gt;
* http://www.ccl.net/cca/documents/dyoung/topics-orig/checkpoint.html&lt;br /&gt;
* https://gaussian.com/faq2&lt;/div&gt;</summary>
		<author><name>Xin-wu-0e5c@uni-paderborn.de</name></author>
	</entry>
</feed>