\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}