====== The MRCC program of M. Kallay (MRCC) ====== An interface exists to use the MRCC program of M. Kallay and J. Gauss within Molpro. The license and source code of the MRCC program must be obtained from Mihaly Kallay ''%%http://www.mrcc.hu/%%''. Currently, only single reference methods with ''RHF'' reference functions are supported. Perturbative methods and CCn methods are only available for closed-shell. Furthermore, only serial execution is supported under Molpro, i.e. the mpp version cannot be used. ===== Installing MRCC ===== Please refer to the MRCC documentation on how to install the MRCC program. The MRCC executables must be found in PATH in order for Molpro to use them. ===== Running MRCC ===== The ''MRCC'' program is invoked by the command ''MRCC'',//options//\\ //directives// The available options summarized in [[#options for MRCC]] For a detailed description please refer to the MRCC manual of M. Kallay (file ”manual” the mrcc directory) In Molpro the method to be used can be given as a string (option ''METHOD''=//string//). The available methods and the corresponding ''MRCC'' input parameters (see MRCC manual) as specified in [[#methods available in the MRCC program]]. Directives are usually not necessary, but the ''CORE'', ''OCC'', ''ORBITAL'', ''MAXIT'', directives work as in the Molpro CCSD program. In addition, the number of states can be given on a ''STATE'' directive and this has the same meaning as the ''EOM_NSTATES'' option. ==== Options for MRCC ==== ^Option ^Alias ^ Default value((-1 means default value taken from Molpro)) ^Meaning ^ |''METHOD'' |''CALC'' | ''%%CC(n)%%'' |Computational method. See [[#methods_available_in_the_mrcc_program|this section]]. | |''EXCITATION'' |''LEVEL'' | -1 |Excitation level in cluster operator | |''RESTART_CC'' |''RESTART'' | 0 |Restart option. If 1, restart with previous amplitudes. | |''DIRECTORY'' |''DIR'' | ’ ’ |Subdirectory in which MRCC runs | | | | |(necessary for restart jobs) | |''EOM_NSING'' |''NSING'' | -1 |Number of excited singlet states in closed-shell case | |''EOM_NTRIP'' |''NTRIP'' | 0 |Number of excited triplet states in closed-shell case | |''EOM_NSTATES'' |''NDOUB'' | -1 |Number of states in open shell case. | |''SYMM'' |''SYMMETRY'' | -1 |Symmetry of excited states | |''DENSITY'' |''IDENS'' | 0 |Parameter for density calculation | |''HF'' | | 1 |1 for canonical Hartree-Fock orbitals, 0 otherwise | |''SPATIAL'' | | 1 |0 for spin-restricted orbitals, 1 for spin-unrestricted orbitals | |''NACTO'' | | 0 |Number of active occupied orbitals | |''NACTV'' | | 0 |Number of active virtual orbitals | |''SACC'' | | 0 |Spin-adapted coupled cluster | |''DBOC'' | | 0 |Diagonal BO correction | |''MEMORY'' | | -1 |Memory | |''TOL'' |''ENERGY'' | -1.0 |Energy convergence threshold | |''FREQ'' | | 0.0 |Frequency for dynamic polarizabilities | |''FILE'' | | ''fort'' |Name for MRCC fortran files | |''CONVER'' |''ICONV'' | 0 |See mrcc manual | |''CS'' | | 1 |See mrcc manual | |''DIAG'' | | 0 |See mrcc manual | |''MAXEX'' | | 0 |See mrcc manual | | | | | | ==== Methods available in the MRCC program ==== ^Key ^ MRCC parameters ^^ Notes ^ ^ ^ ''METHOD'' ^ ''LEVEL'' ^ ^ | //CI(n) configuration interaction methods// |||| |''CISD'' | 0 | 2 | | |''CISDT'' | 0 | 3 | | |''CISDTQ'' | 0 | 4 | | |''%%CI(N)%%'' | 0 | N |Specify excitation level N using ''LEVEL'' | | //CC(N) coupled cluster methods// |||| |''CCSD'' | 1 | 2 | | |''CCSDT'' | 1 | 3 | | |''CCSDTQ'' | 1 | 4 | | |''%%CC(N)%%'' | 1 | N |Specify excitation level N using ''LEVEL'' | | //CC(N-1)[N] coupled cluster methods// |||| |''%%CCSD[T]%%'' | 2 | 3 | | |''%%CCSDT[Q]%%'' | 2 | 4 | | |''%%CC(N-1)[N]%%'' | 2 | N |Specify excitation level N using ''LEVEL'' | | //CC(N-1)(N) coupled cluster methods. Also computes [n] corrections// |||| |''%%CCSD(T)%%'' | 3 | 3 | | |''%%CCSDT(Q)%%'' | 3 | 4 | | |''%%CC(N-1)(N)%%'' | 3 | N |Specify excitation level N using ''LEVEL'' | | //CC(n-1)(n)_L methods (also computes (n) and [n] corrections)// |||| |''%%CCSD(T)_L%%'' | 4 | 3 | | |''%%CCSDT(Q)_L%%'' | 4 | 4 | | |''%%CC(N-1)(N)_L%%'' | 4 | N |Specify excitation level N using ''LEVEL'' | | //CC(n)-1a methods// |||| |''CCSDT-1A'' | 5 | 3 | | |''CCSDTQ-1A'' | 5 | 4 | | |''%%CC(N)-1A%%'' | 5 | N |Specify excitation level N using ''LEVEL'' | | //CC(n)-1b methods// |||| |''CCSDT-1B'' | 6 | 3 | | |''CCSDTQ-1B'' | 6 | 4 | | |''%%CC(N)-1B%%'' | 6 | N |Specify excitation level N using ''LEVEL'' | | //CCn methods (only for ground states)// |||| |''CC3'' | 7 | 3 | | |''CC4'' | 7 | 4 | | |''CCN'' | 7 | N |Specify excitation level N using ''LEVEL'' | | //CC(n)-3 methods// |||| |''CCSDT-3'' | 8 | 3 | | |''CCSDTQ-3'' | 8 | 4 | | |''%%CC(N)-3%%'' | 8 | N |Specify excitation level N using ''LEVEL'' | ==== Examples ==== Closed-shell ground-state calculations for H2O: ***,mrcc calculations for h2o gthresh,energy=1.d-8 geometry={ o;h1,o,r;h2,o,r,h1,theta} theta=104 r=1 ang basis=vdz hf mrcc,method=cc3; !CC3 calculation method(1)=program e(1)=energy !the final energy is returned in variable energy ccsd(t) !CCSD(T) calculation using Molpro method(2)='CCSD(T) (MOLPRO)' e(2)=energy mrcc,method=ccsd(t) !CCSD(T) calculation using MRCC method(3)='CCSD(T) (MRCC)' e(3)=energy mrcc,method=ccsdt,dir=mrccdir !CCSDT calculation, run in directory mrccdir method(4)=program e(4)=energy mrcc,method=ccsdt(q),restart=1,dir=mrccdir !CCSDT(Q) calculation !restart with previous amplitudes method(5)=program e(5)=energy mrcc,method=CC(n),excitation=4,restart=1,dir=mrccdir !CCSDTQ calculation method(6)=program e(6)=energy table,method,e This yields METHOD E CC3 -76.23912734 CCSD(T) (MOLPRO) -76.23905150 CCSD(T) (MRCC) -76.23905150 CCSDT -76.23922746 CCSDT(Q) -76.23976632 CCSDTQ -76.23973043 Excitation energies for H2O: ***,h2o excitation energies gthresh,energy=1.d-8 geometry={ o;h1,o,r;h2,o,r,h1,theta} theta=104 r=1 ang basis=vdz hf ii=0 s=2 !number of states in each symmetry do sym=1,4 !loop over irreps ccsd;eom,-(s+0.1*sym);$p=molpro;save_energy mrcc,method=ccsd, symm=sym,nstates=2;$p=mrcc;save_energy mrcc,method=ccsdt,symm=sym,nstates=2;$p=mrcc;save_energy s=1 enddo {table,method,prog,states,e,exc sort,3} save_energy={ !procedure to save results in variables !nogprint,variable e1=energy(1) do i=1,#energy ii=ii+1 e(ii)=energy(i) method(ii)=program prog(ii)=p states(ii)=i+0.1*sym exc(ii)=(e(ii)-e1)*toev end do } This yields METHOD PROG STATES E EXC CCSD MOLPRO 1.1 -76.23580212 0.000 CCSD MRCC 1.1 -76.23580212 0.000 CCSDT MRCC 1.1 -76.23922746 0.000 CCSD MOLPRO 1.2 -76.23580212 0.000 CCSD MRCC 1.2 -76.23580212 0.000 CCSDT MRCC 1.2 -76.23922746 0.000 CCSD MOLPRO 1.3 -76.23580212 0.000 CCSD MRCC 1.3 -76.23580212 0.000 CCSDT MRCC 1.3 -76.23922746 0.000 CCSD MOLPRO 1.4 -76.23580212 0.000 CCSD MRCC 1.4 -76.23580212 0.000 CCSDT MRCC 1.4 -76.23922746 0.000 CCSD MOLPRO 2.1 -75.85033256 10.489 CCSD MRCC 2.1 -75.85033257 10.489 CCSDT MRCC 2.1 -75.85316687 10.505 CCSD MOLPRO 2.2 -75.95093334 7.752 CCSD MRCC 2.2 -75.95093335 7.752 CCSDT MRCC 2.2 -75.95299013 7.789 CCSD MOLPRO 2.3 -75.77630664 12.504 CCSD MRCC 2.3 -75.77630665 12.504 CCSDT MRCC 2.3 -75.77972816 12.504 CCSD MOLPRO 2.4 -75.87776149 9.743 CCSD MRCC 2.4 -75.87776150 9.743 CCSDT MRCC 2.4 -75.88051189 9.761 Open-shell ground-state calculations for O2: ***,O2 tests gthresh,energy=1.d-8 geometry={o1;o2,o1,r1} r1=2.2 set,state=1,symmetry=4,spin=2 ! Triplet sigma- state basis=vdz rhf uccsd(t) method(1)='UCCSD(T) MOLPRO' e(1)=energy rccsd(t) method(2)='RCCSD(T) MOLPRO' e(2)=energy mrcc,method=ccsdt,dir=mrccdir method(3)='CCSDT MRCC' e(3)=energy mrcc,method=ccsdtq,restart=1,dir=mrccdir method(4)='CCSDT MRCC' e(4)=energy table,method,e This yields METHOD E UCCSD(T) MOLPRO -149.9815472 RCCSD(T) MOLPRO -149.9812566 CCSDT MRCC -149.9816705 CCSDT MRCC -149.9832255