\RequirePackage{fixltx2e}
\documentclass[aip]{revtex4-1}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[version=3]{mhchem}
\usepackage{amsmath}
\usepackage{bm}
\usepackage{color}
\usepackage{graphicx}
\usepackage{units}
\usepackage{multirow}
\usepackage{booktabs}
\usepackage{natbib}
\usepackage{subcaption}
\usepackage{soul}
\usepackage{epstopdf}
\usepackage{listings}
\usepackage{xpatch}
\usepackage{setspace}
\usepackage{xr-hyper}
\usepackage{hyperref}
% macros to make typesetting easier, and to define global formatting
% options for vectors, matrices, and such
\makeatletter
\DeclareMathOperator{\Tr}{Tr}
\newcommand{\D}{\ensuremath{\partial }} %% partial derivative
\newcommand{\vect}[1]{\bm{#1}} %% boldface vectors
\newcommand{\vecop}[1]{\ensuremath{\hat{\vect{#1}}}} %% vector operators
\newcommand{\scop}[1]{\ensuremath{\hat{#1}}} %% scalar operators
\newcommand{\CuSBzA}{Cu($^2S$)$\otimes$Bz($^1A_1$)}
\newcommand{\CuSBzB}{Cu($^2S$)$\otimes$Bz($^3B_2$)}
\newcommand{\CuDBzA}{Cu($^2D$)$\otimes$Bz($^1A_1$)}
\newcommand{\CuDBzB}{Cu($^2D$)$\otimes$Bz($^3B_2$)}
\newcommand{\COB}{\textnormal{\textsc{Cobramm}}}
\newcommand{\C}{\textnormal{\textsc{Columbus}}}
\newcommand{\M}{\textnormal{\textsc{Molcas}}}
\newcommand{\todo}[1]{\textcolor{red}{\hl{#1}}}
\renewcommand{\mod}[1]{\texttt{\texorpdfstring{\MakeLowercase{#1}}{#1}}} %% module names, if we want to style them differently
\newlength{\depthofsumsign}
\setlength{\depthofsumsign}{\depthof{$\sum$}}
\newcommand{\bigsum}[1][1.4]{% only for \displaystyle
\mathop{%
\raisebox
{-#1\depthofsumsign+1\depthofsumsign}
{\scalebox
{#1}
{$\displaystyle\sum$}%
}
}
}
\lstset{
basicstyle=\ttfamily\footnotesize,
lineskip=-0.7ex,
columns=fixed,basewidth=0.5em,
captionpos=b,
}
\def\lstlistingname{LISTING}
\captionsetup[lstlisting]{font={stretch=1}}
% tweak RevTex's table of contents
\def\tocname{Outline}
\def\l@subsubsection#1#2{}
\patchcmd{\@ssect@ltx}
{\addcontentsline{toc}{#1}{\protect\numberline{}#8}}
{}
{}
{}
\let\orig@tableofcontents\tableofcontents
\renewcommand{\tableofcontents}{
\begin{spacing}{1}
\orig@tableofcontents
\end{spacing}
}
\makeatother
\externaldocument[M-]{main}
\AtBeginDocument{
\def\thesection{S\arabic{section}}
\def\thesubsection{S\arabic{section}.\arabic{subsection}}
\def\thefigure{S\arabic{figure}}
\def\thetable{S\arabic{table}}
\def\thelstlisting{S\arabic{lstlisting}}
\def\thepage{S\arabic{page}}
}
\begin{document}
\title{\M\ 8: MOLCAS 8: New Capabilities for Multiconfigurational Quantum Chemical Calculations across the Periodic Table.\newline SUPPORTING INFORMATION}
\author{Francesco Aquilante}
\author{Jochen Autschbach}
\author{Rebecca K. Carlson}
\author{Liviu F. Chibotaru}
\author{Micka{\"e}l G. Delcey}
\author{Luca De Vico}
\author{Ignacio Fdez. Galv\'an}
\author{Nicolas Ferr\'e}
\author{Luis Manuel Frutos}
\author{Laura Gagliardi}
\author{Marco Garavelli}
\author{Angelo Giussani}
\author{Chad E. Hoyer}
\author{Giovanni Li Manni}
\author{Hans Lischka}
\author{Dongxia Ma}
\author{Per-{\AA}ke Malmqvist}
\author{Thomas M{\"u}ller}
\author{Artur Nenov}
\author{Massimo Olivucci}
\author{Thomas Bondo Pedersen}
\author{Daoling Peng}
\author{Felix Plasser}
\author{Ben Pritchard}
\author{Markus Reiher}
\author{Ivan Rivalta}
\author{Igor Schapiro}
\author{Javier Segarra-Mart{\'i}}
\author{Michael Stenrup}
\author{Donald G. Truhlar}
\author{Liviu Ungur}
\author{Alessio Valentini}
\author{Steven Vancoillie}
\author{Valera Veryazov}
\author{Victor P. Vysotskiy}
\author{Oliver Weingart}
\author{Felipe Zapata}
\author{Roland Lindh}
\begingroup
\def\clearpage{}
\maketitle
\endgroup
\tableofcontents
\section{Computational resources needed by \mod{rasscf}}\label{SI:rasscf}
The \mod{rasscf} program uses both configuration state functions
(CSFs) as well as Slater determinants (SDs), with the latter being
used by the \mod{LUCIA} program to handle the sigma updates ($s=Hc$) and
density matrix computation. The \mod{LUCIA} program is integrated
into \M\ as \mod{lucia\_util} (part of the \M\ library).
The memory needed by \mod{lucia\_util} is roughly twice the number
of determinants, and remains allocated throughout the duration
of the \mod{rasscf} run. The memory needed by the \mod{rasscf}
program itself amounts to a minimum of 5 determinant vectors.
So, in total, the program needs to hold about $7N_{\text{SD}}$
of values in memory at the same time.
The computational cost of the sigma update in terms of
operation count is approximately:
\[N_{\text{SD}} (\alpha^2 (n_{\text{act}}-\alpha)^2 + \beta^2 (n_{\text{act}}-\beta)^2 + \alpha \beta (n_{\text{act}}-\alpha)(n_{\text{act}}-\beta)\]
For $\alpha = \beta = \frac{n_{\text{act}}}{2}$, this scales as
$N_{\text{SD}} n_{\text{act}}^4$. This cost will be multiplied by
the total number of CI iterations that are performed during the course
of the \mod{rasscf} optimization (i.e. multiple times per RASSCF
iteration). The cost for computing the density matrix scales as
$N_{\text{SD}} n_{\text{act}}^4$, and is needed only once every
RASSCF iteration. Both operations (sigma update and denisty matrix
computation) have been parallelized.
\section{Computational resources needed by \mod{caspt2}}\label{SI:caspt2}
The memory needed by the \mod{caspt2} program with respect to active
space size depends on two distinct variables: the number of
configuration state functions (CSFs, since \mod{caspt2} doesn't use
determinants) and the number of active orbitals. We need to store at
least 4 times the number of CSFs during the computation of the active
density matrices, while the memory needed to store the 3-body active
density matrix scales with the sixth power of the number of active
orbitals. At a later stage, twice the size of the 3-body density matrix
needs to be kept in memory simultaneously. In summary, this leads to a minimum
memory requirement of: $ \max(4N_{\text{CSF}},2n_{\text{act}}^6) $.
This means that for large CAS-type wavefunctions, the number of CSFs will
be the determining factor for the required memory, while for RAS-type wavefunctions
with a large number of active orbitals (i.e. more than 30 for a non-symmetric
system) the size of the density matrices will start to play a role in the
memory requirement.
A large part of the computational cost of the entire \mod{caspt2}
program depends mainly on the computation and diagonalization of the
3-body active density matrix. The computational cost scales as
$N_{\text{CSF}} n_{\text{act}}^6$ for the construction of the
matrix and $n_{\text{act}}^9$ for the diagonalization. Both of
these algorithms are parallelized. With a (future) DMRG interface,
construction of the density matrix will be outsourced, and the limit
on the number of active orbitals coming from \mod{caspt2} will be
determined by the memory requirements for storage of the matrices and
the time it takes to perform the diagonalization.
The remaining memory needs scale roughly with the number of basis
functions as $n_{\text{occupied}}^2n_{\text{virtual}}^2$. When running in parallel,
one can avoid needing this amount of memory by using Cholesky vectors
in \mod{seward} in combination with the on-demand algorithm for the
computation of the right-hand side in \mod{caspt2} (keyword
RHSD). This lowers the memory requirements for each process to the
the total size of Cholesky vectors.
The same memory requirement of $n_{\text{occupied}}^2n_{\text{virtual}}^2$ is also
needed during the final PCG phase of \mod{caspt}. This can be reduced
to a minimum of around $n_{\text{occupied}}^2n_{\text{virtual}}$ per process when running
in parallel.
\section{GASSCF in action}\label{SI:GASSCF}
A simple test case is described here to show how to prepare GASSCF inputs (Listing~\ref{figSI:GASSCF_N2}). The GASSCF method is activated by the \texttt{GASScf} keyword within the \mod{RASSCF} module. The total number of GAS spaces immediately follow. Then, for each GAS space the active orbitals (per Irrep) as well as the cumulative minimum and maximum number of electrons are given.
For the example given here a total of six active electrons are distributed in six valence active orbitals, namely the 2p orbitals involved in the bonding. The 1s and 2s orbitals are kept INACTIVE. In this case the GAS spaces are chosen in a Generalized Valence Bond (GVB) fashion with bonding and anti-bonding orbitals coupled in the same GAS space. The minimum and maximum occupation numbers are set in a way that for each space only two electrons are allowed. We define these subspaces as non-connected GAS spaces as no inter-space excitations are allowed. To notice that at no time a GAS space is completely full (doubly occupied orbitals). This is a feature of GAS that cannot be reproduced by the RAS approach.
\begin{lstlisting}[float,
caption={A possible GASSCF setup for the nitrogen molecule in $D_{2h}$ point group. Three GAS spaces are chosen. In this case inter-space excitations are not allowed.},
label=figSI:GASSCF_N2,
]
&RASSCF
LINEAR
nActEl
6 0 0
FROZen
0 0 0 0 0 0 0 0
INACTIVE
2 0 0 0 2 0 0 0
GASScf
3 ! total number of GAS spaces
1 0 0 0 1 0 0 0 ! bonding and anti-bonding 2pz orbitals in GAS1
2 2 ! Two electrons in GAS1
0 1 0 0 0 1 0 0 ! bonding and anti-bonding 2px orbitals in GAS2
4 4 ! Two electrons in GAS2
0 0 1 0 0 0 1 0 ! bonding and anti-bonding 2py orbitals in GAS3
6 6 ! Two electrons in GAS3
DELEted
0 0 0 0 0 0 0 0
Symmetry
1
Spin
1
\end{lstlisting}
\section{MC-PDFT in action}\label{SI:MCPDFT}
In Listing~\ref{figSI:MCPDFT_N2} an input is given showing how to prepare the input for MC-PDFT calculations.
In this example an EMIL instruction is given to loop over the three currently available functionals (TPBE, TBLYP, TLSDA). For each functional a CI calculation (\texttt{CIONLY} flag) is run starting from the CI vector as stored in the JOBIPH file (see \texttt{JOBIPH} and \texttt{CIREstart} flags). The MC-PDFT method is activated by the \texttt{KSDFT}, \texttt{ROKS} keywords followed by the functiol choice (\$DFT variable in this case).
\begin{lstlisting}[float,
caption={A possible MC-PDFT input for the nitrogen molecule. This input will loop over the three fnctionals currently implemented in \M\ (TPBE, TBLYP, TLSDA).},
label=figSI:MCPDFT_N2,
]
>>foreach DFT in (TPBE, TBLYP, TLSDA)
>>> COPY $WorkDir/test.JobIph JOBOLD
&RASSCF &END
LINEAR
CIONLY
JOBIPH
CIREstart
nActEl
6 0 0
FROZen
0 0 0 0 0 0 0 0
INACTIVE
2 0 0 0 2 0 0 0
RAS2
1 1 1 0 1 1 1 0
DELEted
0 0 0 0 0 0 0 0
KSDFT
ROKS
$DFT
Symmetry
1
Spin
1
>>enddo
\end{lstlisting}
\clearpage
\section{MS-RASPT2 job-farm}\label{sup:ms_raspt2}
As an example, consider the first three singlet roots of a molecule are to be
computed at the MS-RASPT2 level of theory.
As described in previous sections, the first step is to compute a three roots, state average RASSCF
reference wave function.
The so obtained JobIph file contains the
multiconfigurational reference wave function, to be passed to the multireference
perturbation theory treatment.
\begin{table}
\centering
\linespread{1.0}\selectfont
\begin{tabular}{p{0.3\textwidth} p{0.3\textwidth} p{0.3\textwidth}}
\toprule
Root 1 & Root 2 & Root 3 \\
\hline
\begin{lstlisting}
&CASPT2
MULTISTATE = 3 1 2 3
ONLY root = 1
\end{lstlisting}
&
\begin{lstlisting}
&CASPT2
MULTISTATE = 3 1 2 3
ONLY root = 2
\end{lstlisting}
&
\begin{lstlisting}
&CASPT2
MULTISTATE = 3 1 2 3
ONLY root = 3
\end{lstlisting}
\\
\bottomrule
\end{tabular}
\caption{The \texttt{ONLY root} keyword is used to specify which root to
compute, while still obtaining all coupling terms with roots specified
by the \texttt{MULTISTATE} keyword.}
\label{tab:par_ms_raspt}
\end{table}
\begin{lstlisting}[float,
caption={The output couplings obtained using the \texttt{ONLY root 1}
keyword.},
label=fig:heff_coup,
]
Hamiltonian Effective Couplings
-------------------------------
| 1 >
< 1 | -1183.91762829
< 2 | -0.00023372
< 3 | -0.00009067
\end{lstlisting}
The input commands necessary for the MS-RASPT2
calculations are given in Table~\ref{tab:par_ms_raspt}. In this example,
each of the single root calculations took 9 hours (compared to 22 hours
for a single job with all three roots).
In the single root 1 output, the Hamiltonian effective couplings are then printed as
reported in Listing~\ref{fig:heff_coup}.
%
Similar outputs are obtained from roots 2 and 3. These coupling terms are
needed to prepare the input for the final MS-RASPT2 calculation, using
the \texttt{EFFEctive Hamiltonian Couplings} keyword, as shown in
Listing~\ref{fig:effe}.
%
The final calculation is very fast, as it only involves a multistate
diagonalization.
\begin{lstlisting}[float,
caption={The \texttt{EFFEctive Hamiltonian Couplings} keyword is followed by the
coupling terms as printed for the various roots. Each column is the
output from one single root calculation, as in Listing~\ref{fig:heff_coup}.},
label=fig:effe,
]
&CASPT2
MULTISTATE
3 1 2 3
EFFEctive Hamiltonian Couplings
-1183.91762829 0.00003950 -0.00003218
-0.00023372 -1183.88855319 0.00098690
-0.00009067 -0.00882893 -1183.87399725
\end{lstlisting}
\section{Orbitals from SO-RASSI calculations}
\label{sup:orbitals}
The orbitals discussed in Section~\ref{M-sec:orbitals-so-rassi} can be generated with the keywords \texttt{SONORB} and \texttt{SODIAG} in \mod{RASSI}. Both keywords are followed by the number of electronic states to consider, and a list of state numbers. For example,
%
\begin{lstlisting}
SONORB
2
1
2
\end{lstlisting}
%
selects the first two SO-RASSI states and generates
\texttt{SONATTDENS.$n$.$n$} files specifying the NOs for state
$n$. For the $5f^1$ systems of Fig.~\ref{M-fig:ano2-spinmag} this corresponds to the ground
state doublet. The corresponding information about the NSOs for the
spin magnetization $m^u$ with $u = X, Y, Z$ are stored in files
\texttt{SONATSDENS.$n$.$n$.$u$}. NSOs for linear combinations of the
state components diagonalizing the Zeeman Hamiltonian for a field
along the magnetic axes $v = X_m, Y_m, Z_m$ of Section~\ref{M-sec:single-aniso} can be
generated with
%
\begin{lstlisting}
SODIAG
2
1
2
\end{lstlisting}
%
The NSO data are stored in files
\texttt{SODI$v$SDENS.$n$.$n$.$u$}. The magnetic axes are
specified in file \texttt{SODIAG.MAXES}. The orbital data files have a
similar structure as the usual \texttt{RasOrb} and \texttt{SpdOrb}
files generated by the \mod{RASSCF} module. The \mod{grid\_it} tool can
be used to generate volume data to visualize the orbitals and spin
magnetizations.
Other formats were not tested. The NO
occupations and NSO spin populations are listed under \texttt{OCCUPATION NUMBERS} near the end of each file.
\section{Optimization with composite gradients}
The following is an example input for a geometry optimization using the ``composite gradients''
described in Section~\ref{M-sec:num_grad}. It is an optimization of the ground state of the
molecule shown in Fig.~\ref{M-fig:3Me-acrolein}:
\begin{lstlisting}
&GATEWAY
Coord = 3Me-acrolein.xyz
Basis = ANO-RCC-VDZP
Group = NoSymm
RICD
Constraints
Me1 = Fragment C1 H8 H9 H10
Me2 = Fragment C3 H11 H12 H13
Me3 = Fragment C5 H14 H15 H16
Values
Me1 = Fix phantom
Me2 = Fix phantom
Me3 = Fix phantom
End of constraints
>>> DoWhile
&SEWARD
&SCF
&MBPT2
&ALASKA
&RASSCF
FileOrb = $CurrDir/init.RasOrb
Charge = 0
Ras2 = 5
NActEl = 6 0 0
CIRoot = 4 4 1
RlxRoot = 1
&CASPT2
Multistate = 1 1
NoMultiState
Imaginary shift = 0.1
&ALASKA
KeepOldGradient
&SLAPAF
Cartesian
Thrsholds = 5.0D-6 3.0D-4
>>> EndDo
\end{lstlisting}
The initial geometry is provided in the file \texttt{3Me-acrolein.xyz}, and the initial
orbitals in \texttt{init.RasOrb}, both in the input directory.
The methyl groups are defined with the \texttt{Fragment} constraint type. With the \texttt{phantom}
qualifier, the constraints are only used for numerical differentiation, and the optimization is
performed without actual constraints.
To compute the composite gradient, first an MP2 calculation is done (\mod{mbpt2} module), and its
analytical gradient is computed. Then comes a CASPT2 calculation and its gradient. Since \M\ does
not have an analytical implementation for CASPT2 gradients, numerical differentiation will be
performed, and the ``phantom'' constraints are applied, only the non-methyl degrees of freedom
are differentiated. The \texttt{KeepOldGradient} keyword keeps the previously computed MP2 gradient
for the methyl degrees of freedom. Finally \mod{slapaf} computes a new geometry using the composite
gradient.
\section{The \M/\C\ link}\label{sup:columbus}
\subsection{Computational Details}
The high-symmetry structure of $C_{6v}$ symmetry was chosen for the adsorption complex where the Cu
atom is moved toward the center of the benzene ring.
Since only Abelian groups can be treated in Columbus, the operational symmetry
is reduced to $C_{2v}$ and all symmetry notations refer to it. The benzene molecule is
located in the xy plane with the center of gravity in the origin and the x-axis being
perpendicular to one CC bond. The y axis passes through two opposite carbon atoms. The Cu
atom is located along the z-axis.
The SA-MCSCF calculations preceding the MR-CISD computation were based on a direct product of two
complete active spaces(CAS): CAS(11e,6o)$\otimes$CAS(6e,6o). The first space containing 11
electrons and 6 orbitals refers to the Cu atom and includes the 3d and 4s subshells. The second
space relates to the benzene molecule (Bz). The state averaging was performed over the states
\CuSBzA, \CuDBzA, \CuDBzB.
The \CuSBzB\ states were excluded from state-averaging since the Cu($^2S$) is
located too high in energy at the MCSCF level. To improve the
description of the Cu($^2S$) in this state averaging it was given a weight of five whereas for
the other states a weight of one was used.
Based on the molecular orbitals (MOs) obtained from these SA-MCSCF calculations
a reference space of Cu(CAS(11e,6o)$\otimes$CAS(4e,4o)
was used at MR-CISD level moving the lowest and highest $\pi$ orbital of benzene from the active
to the doubly occupied space and virtual space, respectively.
The basis set consisted of a cc-pVDZ basis\cite{dunning_ccvdz} for C and H and of
the small core relativistic effective core potential (RECP) and
the corresponding basis set (8s7p6d1f) contracted
to [4s4p3d1f] as developed by Peterson.~\cite{basispeterson}
\subsection{Mixed operation of \M\ and \C}
The interfaces exploit the modular nature of both \C\ and \M\
packages and are based upon the exchange of \emph{well-defined quantities}
(integral, derivative integrals, density matrices as well as
other simple data such as molecular orbital coefficients,
structural data, basis set information, etc.). These data are
directly accessed by high-level \M\ library routines linked into
the \C\ modules. Thus, \C\ inherits the capability to read and write
binary \M\ data formats in contrast to other concepts, that rely
on some converter tool and maintain the same data in different
representations. For ASCII files, such as MO coefficient
files it is trivial to read/write data in the \M\ native
format.
However, it is not possible to exchange \emph{ill-defined} data
such as n-electron wave functions, which cannot necessarily
exactly and easily be interconverted between \M\ and \C\ representations.
The Cholesky decomposition scheme is currently not supported when using the \M\-\C\ interface.
\subsection{Execution of \C\ under control of \M}
\begin{figure}
{\includegraphics[trim=200 200 80 50,scale=0.7]{figures/interop_molcasdriver.pdf}}
\caption{Schematically depicted data and program flow for mixed operation of \C\ and \M\
under control of the \M-driver. The depicted work flow refers to single-point energy evaluations
and structure optimizations. \M-input files in principle also allow for much more complex
work flows.}
\label{fig:interop_molcasdrivercopy}
\end{figure}
While the input to \M\ modules remains unchanged, in addition there
appears input for the (external) \C\ modules. The script like features
of the \M\ input language remain usable.
The \C\ version (7.1) shipped for the operation under control of the
\M\ driver (see Fig.~\ref{fig:interop_molcasdrivercopy})
is a slightly modified version of the stand-alone
\C\ package containing a subset of various modules, only.
While the stand-alone version has all features of \C\ available,
only a subset of the features coming with \M\ can be accessed there
in an automatic or semi-automatic way under control of the
\C\ driver. With the partially stripped
version running under control of the \M\ driver it is rather the
opposite --- all features of \M\ are necessarily available but not
all of the functionality of \C\ can be used in a sensible manner.
The high-level interface is implemented such, that it automatically
generates the necessary \C\ input files from the simplified input
description in the \M\ input file and calls the respective
\C\ modules in the appropriate order. In order to have more control
over the \C\ modules while avoiding a rather cumbersome \M\ input file,
it is recommended to first prepare a closely related \M\ style input
file, execute it with the \textsc{INPUTONLY} option, modify these input
files, replace the line \textsc{INPUTONLY} by \textsc{NOAUTO} which suppresses
the input file generation all together and rerun the calculation.
It is primarily useful for specialized options to some \C\ modules and
for the construction of more specialized CSF spaces.
Due to various technical details, it is not always straightforward to
compile \M\ and \C\ in a consistent way --- especially for satisfactory
parallel operation on HPC systems, while ordinary PC clusters are
frequently inadequate for parallel operation because of insufficient
network bandwidth. Hence, this particular \C\ version is distributed
as a set of binaries, supporting serial and SMP-level parallelism
out of the box. After downloading and unpacking the binaries, all that
is necessary is to add the file \texttt{columbus.prgm} to the \texttt{MOLCAS/data}
directory and to define the environment variable \texttt{COLUMBUS} pointing
to the \C\ installation directory. After running the test suite, it is
ensured that your installed \M\ version is binary compatible
(for details refer to \C\ manual).
The following two examples show the implementation and use of the \C/\M\ link under the control of the \M\ driver.
\noindent{\textbf{Example 1:}\\
Methylene singlet, RASSCF followed by parallel MR-CISD
calculation on 2 Cores}
\begin{lstlisting}[showspaces=false]
*-------------------------------------------------------------------------------
* CH2 / cc-pvtz / C2v
*-------------------------------------------------------------------------------
&SEWARD &END
symmetry
x y
basis set
C.cc-pVTZ.Dunning.10s5p2d1f.4s3p2d1f.
C 0.000000 0.000000 -0.190085345
end of basis
basis set
H.cc-pVTZ.Dunning.5s2p1d.3s2p1d.
H 0.00000000 1.645045225 1.132564974
end of basis
end of input
&SCF &END
occupied
3 0 1 0
end of input
&RASSCF &END
inactive
1 0 0 0
ras2
3 1 2 0
nactel
6 0 0
lumorb
end of input
&COLUMBUS &END
BEGIN_SECTION_GENERAL
TITLE
METHYLEN TEST CASE
NCPU=2
END_SECTION_GENERAL
BEGIN_SECTION_MRCI
DRT
MULTIPLICITY
1
SYMMETRY
1
ELECTRONS
8
NROOT
1
END_DRT
REFDOCC
1 0 0 0
REFRAS
0 0 0 0
REFCAS
3 1 2
SUBSPACEDIM
5
ITERATIONS
40
ACCURACY
0.001
REFSPACE
FULL
MRCISD
GENSPACE
EXLVL
2
PARALLEL
END_SECTION_MRCI
end of input
\end{lstlisting}
\noindent{\textbf{Example 2}\\
Excited triplet state structure optimization at parallel MRCISD level of theory,
SA-MCSCF over $^1A_1$ and $^3B_1$.}
\begin{lstlisting}[showspaces=false]
>>> Do while <<<
&SEWARD &END
symmetry
x y
basis set
C.cc-pVDZ.Dunning.9s4p1d.3s2p1d.
C1 2.07569713438866 0.00000000000000 -1.09096195658541
C2 1.36025367031838 0.00000000000000 1.40829741933368
end of basis
basis set
O.cc-pVDZ.Dunning.9s4p1d.3s2p1d.
O1 0.00000000000000 0.00000000000000 -2.62222340632217
end of basis
basis set
H.cc-pVDZ.Dunning.4s1p.2s1p.
H1 2.61859940891225 0.00000000000000 3.05678038225054
H2 3.90513434048509 0.00000000000000 -2.06300002903017
end of basis
end of input
*-------------------------------------------------------------------------------
&SCF &END
occupied
9 6 2 1
end of input
*-------------------------------------------------------------------------------
&RASSCF &END
inactive
9 6 0 0
ras2
0 0 3 2
nactel
6 0 0
lumorb
Thrs
1.0E-9 1.0E-6 1.0E-6
Iter
70,25
OUTORBITALS
CANONICAL
end of input
&COLUMBUS &END
BEGIN_SECTION_GENERAL
TITLE
FURAN pi space CAS, optimize 3B1
NCPU
8
MEMORY
1000 MB
PRINT
1
END_SECTION_GENERAL
BEGIN_SECTION_MRCI
DRT
MULTIPLICITY
3
SYMMETRY
2
NROOT
1
ELECTRONS
36
END_DRT
SUBSPACEDIM
5
ITERATIONS
40 1
ACCURACY
0.001
REFSPACE
FULL
MRCISD
GENSPACE
EXLVL
2
FROZENCORE
3 2 0 0
REFDOCC
6 4 0 0
REFRAS
0 0 0 0
REFCAS
0 0 3 2
PARALLEL
END_SECTION_MRCI
BEGIN_SECTION_MCSCF
TITLE
SA-MCSCF 1A1+3B1
DRT
MULTIPLICITY
1
SYMMETRY
1
NROOT
1
ELECTRONS
36 0 0
END_DRT
DRT
MULTIPLICITY
3
SYMMETRY
2
NROOT
1
ELECTRONS
36 0 0
END_DRT
DOCC
9 6 0 0
CAS
0 0 3 2
ITERATIONS
30 100 100
END_SECTION_MCSCF
BEGIN_SECTION_GRAD
ROOT
1
END_SECTION_GRAD
end of input
&SLAPAF &END
ITERATIONS
7
End of Input
>>> EndDo <<<
\end{lstlisting}
\subsection{Execution of {\M} under control of {\C}}
\begin{figure}
{\includegraphics[trim=150 200 100 30,scale=0.6]{figures/interop_coldriver.pdf}}
\caption{Schematically depicted data and program flow for mixed operation of \C\ and \M\
under control of the \C-driver. The depicted work flow refers to single-point energy evaluations
and structure optimizations.}
\label{fig:interop_coldriver}
\end{figure}
From \C\ version 7.0 the \C\ driver facility \texttt{runc} supports single-point energy
calculations as well as the evaluation of analytical gradients at SA-MCSCF and MR-CISD/MR-AQCC
levels of theory (see Fig.~\ref{fig:interop_coldriver}). Also support is added to use RASSCF calculations in a variety of ways and
to automatically run consistent CASPT2 calculations such that the results can be compared directly.
While some (limited) support is added to generate all required \C\ and \M\ input files directly
with the \C\ input facility \texttt{colinp}, the use of special \M\ program options requires
manual intervention anyway.
Apart from using the integrals and derivatives of the integrals w.r.t. geometric displacements
(i.e. the \M\ modules \mod{SEWARD} and \mod{ALASKA}), it is also convenient to use the
\mod{RASSCF} module for orbital optimization or the \mod{SLAPAF} module for a wide variety
of structure optimization schemes. Note, that for analytical gradients, it is \textbf{not} possible
to directly start from MOs generated with the \mod{RASSCF} module, instead it must be followed
by a single MCSCF (macro) iteration and the same CSF space with the \C\ \mod{MCSCF} code in order
to properly evaluate the analytic gradients.
Hence, the following examples illustrate the possibilities:
\begin{itemize}
\item Run a single-point MR-CISD calculation using the DKH Hamiltonian to describe
scalar-relativistic effects.
\item Run a single-point, variational SO-MR-CISD calculation using the DKH Hamiltonian
and atomic mean field integrals to describe spin--orbit coupling.
\item Run a single-point, QDPT-type SO-MR-CISD calculation using the DKH Hamiltonian
and atomic mean field integrals to describe spin--orbit coupling.
\item Run a large scale RASSCF calculation followed by MR-CISD/MR-AQCC (with an
appropriately reduced reference space).
\item Use \mod{RASSCF} to pre-optimize MOs for a subsequent \C\ MCSCF calculation
\item Use \mod{RASSCF} followed by \mod{CASPT2} and MR-CISD/MR-AQCC to compute energies
at different levels of theory, that can be directly compared.
\item Use the {\C} analytic gradient and nonadiabatic coupling feature, to
optimize structures of minima on the conical intersection seam
\end{itemize}
For details, refer to the \C\ manual and \C\ tutorial, respectively.
Representative example input and results files
for different example cases can be found in the
\texttt{\$COLUMBUS/EXAMPLES/MOLCAS} directory of the 7.0 version of \C.
These include
\begin{itemize}
\item HF-MCSCF-CI\\ a simple {\C} MR-CI job with {\M} integrals
\item BENZENE\_gradient\\ Computation of MR-CI gradients with {\M} integrals
\item HF-RASSCF-CI\_AQCC\_ACPF\\ combination of the {\M} \mod{RASSCF} program with the {\C} CI program
\item Acetylene-RASSCF-AQCC-CASPT2\\ orbital generation with the {\M} \mod{RASSCF} module followed by {\M} \mod{CASPT2} and {\C} MR-AQCC
\item p-benzyne-geomopt\\ structure optimization with \M\ integrals.
\end{itemize}
\providecommand{\url}[1]{\texttt{#1}}
\providecommand{\urlprefix}{}
\providecommand{\foreignlanguage}[2]{#2}
\providecommand{\Capitalize}[1]{\uppercase{#1}}
\providecommand{\capitalize}[1]{\expandafter\Capitalize#1}
\providecommand{\bibliographycite}[1]{\cite{#1}}
\providecommand{\bbland}{and}
\providecommand{\bblchap}{chap.}
\providecommand{\bblchapter}{chapter}
\providecommand{\bbletal}{et~al.}
\providecommand{\bbleditors}{editors}
\providecommand{\bbleds}{eds.}
\providecommand{\bbleditor}{editor}
\providecommand{\bbled}{ed.}
\providecommand{\bbledition}{edition}
\providecommand{\bbledn}{ed.}
\providecommand{\bbleidp}{page}
\providecommand{\bbleidpp}{pages}
\providecommand{\bblerratum}{erratum}
\providecommand{\bblin}{in}
\providecommand{\bblmthesis}{Master's thesis}
\providecommand{\bblno}{no.}
\providecommand{\bblnumber}{number}
\providecommand{\bblof}{of}
\providecommand{\bblpage}{page}
\providecommand{\bblpages}{pages}
\providecommand{\bblp}{p}
\providecommand{\bblphdthesis}{Ph.D. thesis}
\providecommand{\bblpp}{pp}
\providecommand{\bbltechrep}{Tech. Rep.}
\providecommand{\bbltechreport}{Technical Report}
\providecommand{\bblvolume}{volume}
\providecommand{\bblvol}{Vol.}
\providecommand{\bbljan}{January}
\providecommand{\bblfeb}{February}
\providecommand{\bblmar}{March}
\providecommand{\bblapr}{April}
\providecommand{\bblmay}{May}
\providecommand{\bbljun}{June}
\providecommand{\bbljul}{July}
\providecommand{\bblaug}{August}
\providecommand{\bblsep}{September}
\providecommand{\bbloct}{October}
\providecommand{\bblnov}{November}
\providecommand{\bbldec}{December}
\providecommand{\bblfirst}{First}
\providecommand{\bblfirsto}{1st}
\providecommand{\bblsecond}{Second}
\providecommand{\bblsecondo}{2nd}
\providecommand{\bblthird}{Third}
\providecommand{\bblthirdo}{3rd}
\providecommand{\bblfourth}{Fourth}
\providecommand{\bblfourtho}{4th}
\providecommand{\bblfifth}{Fifth}
\providecommand{\bblfiftho}{5th}
\providecommand{\bblst}{st}
\providecommand{\bblnd}{nd}
\providecommand{\bblrd}{rd}
\providecommand{\bblth}{th}
\begin{thebibliography}{1}
\bibitem{dunning_ccvdz}
T.~H. Dunning, Jr., \emph{J. Chem. Phys.} \textbf{1989}, \emph{90}, 1007.
\bibitem{basispeterson}
K.~A. Peterson, C.~Puzzarini, \emph{Theor. Chem. Acc.} \textbf{2005},
\emph{114}, 283--296.
\end{thebibliography}
\end{document}