##master-page:HelpTemplate ##master-date:Unknown-Date #format wiki #language en #Please change following line to BDF module name = expandmo = <> {{{ Module expandmo is used to expand molecular orbital from a small basis set into a large basis set and construct automated MCSCF active space by Atomic Valence Active Space (AVAS) and Molecular Valence Active Space (MVAS) based on target atomic valence orbitals. This module can be used to generate initial guess orbital of a large basis set calculation from the converged orbital of a small basis set calculation. Also, the expanded orbital can be used in dual-basis calculation approaches. AVAS is proposed by Garnet Kin-Lic Chan et al.(JCTC, 13, 4063-4078, 2017.) }}} == General keywords == === Overlap === {{{#!wiki Overlap is used to expand molecular orbital from a small basis set into a large basis set. }}} === MINBAS === {{{#!wiki set valence AO such as five 3d atomic orbitals as target atomic orbitals. example file is test086.inp minbas 5 1Co|3D-2 1Co|3D-1 1Co|3D0 1Co|3D1 1Co|3D2 }}} === AOBAS === {{{#!wiki set valence AO such as five 3d atomic orbitals as target atomic orbitals. example file is test086.inp 10 - 14 are the number of target 3d OAO. aobas 5 10 11 12 13 14 }}} === AOPXYZ === {{{#!wiki rotate each OAO 2p orbital so that the new Pz is vertical to molecular plan. For example, there are two Pi fragments the first one has comprised 4 pz (which is the number of first p orbitals) AOs of 3 12 21 30, and the second one has 2 AOs of 41 52. Notice that the AO index of each atom is the first p orbital of each subshell and all the p orbitals of this subshell are rotated. aopxyz 2 4 ! first number = 2 fragments, second number = AO number of the largest fragment. 4 ! AO number of the first fragment 3 12 21 30 ! AO index of the first fragment 2 ! AO number of the second fragment 41 52 ! AO index of the second fragment }}} === MINPXYZ === {{{#!wiki rotate each MINBAS Pi planar fragment so that the new Pz is vertical to molecular plan. Notice that the AO symbol of each atom is the first p orbital of each subshell and all the p orbitals of this subshell are rotated. minpxyz 1 6 6 1C|2P-1 2C|2P-1 3C|2P-1 4C|2P-1 6C|2P-1 8C|2P-1 }}} === SETPXYZ === {{{#!wiki set the order of px, py, pz on the OAO set. For example: setpxyz z x y ! this means the first p orbital is pz and then px and py in order. Default is z y x for AOBAS and y z x for MINBAS. }}} === INCPXYZ === {{{#!wiki set the order of px, py, pz on the MINBAS set and AOBAS needs not to set this increment. For example: incpxyz 2 ! this means that there are two p orbital for each p component, such as 2pz, 3pz and 2px, 3px and 2py, 3py in order. ! default is 1. }}} === OAO === {{{#!wiki form all OAOs of the molecular system. For example: $expandmo oao $end }}} === MINAO === {{{#!wiki form all orthonormal MINBAS as OAO of the molecular system. For example: $expandmo minao $end }}} === AVAS === {{{#!wiki Atomic Valence Active Space (AVAS) is used to automated construction MCSCF active space by set atomic valence orbitals. }}} === VLMO === {{{#!wiki Contract Fock matrix to valence OAO and diagonalize Fock and localize VCMOs to obtain valence LMO (VLMO) and automated selection of active LMOs or FLMOs. }}} === VCMO === {{{#!wiki Contract Fock matrix to valence OAO and diagonalize Fock to obtain valence CMO (VCMO) and automated selection of active CMOs. }}} === OCCAO === {{{#!wiki Set valence OAO occupied alpha and Beta number for VCMO and VLMO. For example: occao 5 3 }}} === NONOCC === {{{#!wiki Set do not separately match occupied and virtual VCMOs or VLMOs with CMOs or LMOs for VCMO or VLMO scheme. If .true. all the VCMOs or VLMOs will match with CMOs or LMOs. Default is .false. }}} === ENECUT === {{{#!wiki set CMO index which will not be used for VCMO and VLMO if the occupied (virtual) orbital energies of auxiliary CMOs are too low (or high). For example: enecut 2 ! there are two CMOs will be deleted. 1 6 ! the cutted CMO index is 1 and 6, respectively. }}} === ROHF === {{{#!wiki Consider ROHF Fock matrix for open-shell system, or UHF Fock matrix is used. }}} === OMO === {{{#!wiki Use SL=L(lammda)^2, if SVD is set, use SVD to assign active LMOs. }}} === SVD === {{{#!wiki Use SVD to assign active LMOs for OMO if .true., or use SL=L(lammda)^2. }}} == Expert keywords == === Socc === {{{#!wiki set threshold to cut small overlap between MOs and target atomic orbitals for occupied active orbitals by AVAS. Default : 0.1 For example: Socc 0.1 }}} === Svir === {{{#!wiki set threshold to cut small overlap between MOs and target atomic orbitals for virtual active orbitals by AVAS. Default : 0.1 For example: Svir 0.1 }}} === Focc === {{{#!wiki set threshold to cut small elements of overlap B matrix between MOs and target AOs for occupied active orbitals by OMO and VLMO. Default : 0.3 }}} === Fvir === {{{#!wiki set threshold to cut small elements of overlap B matrix between MOs and target AOs for virtual active orbitals by OMO and VLMO. Default : 0.3 }}} = Depend Files = || Filename || Description || Format || || task.chkfil1 || Check file of the small basis set calculation. || Binary || || task.chkfil2 || Check file of the large basis set calculation. || Binary || || INPORB || MO coefficients file of small basis set calculation. || Fomatted || || task.exporb || Expanded MO coefficients. Save in BDF_WORKDIR || Formatted || = Examples = == Example1 == * Here, we would calculate CH2 molecule by a small basis set CC-PVDZ. Then the converged orbital will be expanded to aug-CC-PVDZ and used as the initial orbital for SCF calculation. The input file "ch2.inp" looks like {{{ # First we perform a small basis set calculation by using CC-PVDZ. $COMPASS Title CH2 Molecule test run, cc-pvdz Basis cc-pvdz Geometry C 0.000000 0.00000 0.31399 H 0.000000 -1.65723 -0.94197 H 0.000000 1.65723 -0.94197 End geometry UNIT Bohr Check $END $XUANYUAN $END $SCF RHF Occupied 3 0 1 0 $END #Change the name of check file. %mv $BDF_WORKDIR/ch2.chkfil $BDF_WORKDIR/ch2.chkfil1 #Copy SCF converged orbital to work directory inporb. %mv $BDF_WORKDIR/ch2.scforb $BDF_WORKDIR/ch2.inporb # Then we init a large basis set calculation by using aug-CC-PVDZ $COMPASS Title CH2 Molecule test run, aug-cc-pvdz Basis aug-cc-pvdz Geometry C 0.000000 0.00000 0.31399 H 0.000000 -1.65723 -0.94197 H 0.000000 1.65723 -0.94197 End geometry UNIT Bohr Check $END # Change name of check file for large basis set. %mv $BDF_WORKDIR/ch2.chkfil $BDF_WORKDIR/test001_1.chkfil2 # Now we expand orbital. $expandmo $end # Change name of check file for large basis set. %mv $BDF_WORKDIR/ch2.chkfil2 $BDF_WORKDIR/ch2.chkfil # Copy expanded orbital to work directory scforb as initial guess orbital. %mv $BDF_WORKDIR/ch2.exporb $BDF_WORKDIR/ch2.scforb $xuanyuan $end # Read expanded orbital as initial guess orbital. $scf RHF Occupied 3 0 1 0 Guess Read $end }}} == Example2 == * Here we calculate RHF/6-31G(d) and localize CMOs to LMOs by PM localization for benzene, and then automate selection of CAS(6,6) by AVAS and OMO or VLMO methods and perform CASSCF(6,6)/6-31G(d) with respective to CMOs and LMOs, respectively. Here ANO-RCC-VDZ formed MINBAS or 6-31G(d) formed OAOs are employed as auxiliary VAOs. We prefer using the same basis set as SCF calculation to form OAOs in comparison with MINBAS and recommend to employ AVAS to CMO and VLMO to LMO. {{{ $COMPASS Title C6H6 test run, cc-pvdz Basis ano-rcc-vdz Geometry C -2.70374913 -1.20160278 -0.03131724 C -3.36877041 -0.96275704 -1.24504929 C -3.38068484 -0.97253941 1.17694524 C -4.68569944 -0.49452990 -1.24739460 H -2.85736558 -1.17024585 -2.18724091 C -4.69462877 -0.50213841 1.16749678 H -2.86196360 -1.16496360 2.11713128 C -5.35413285 -0.26031975 -0.04310413 H -5.19325874 -0.32216946 -2.19941675 H -5.20574150 -0.31828054 2.11549401 H -6.38350643 0.10446223 -0.04635751 H -1.67454236 -1.56659596 -0.01732426 End geometry nosym norotate $END %cp $BDF_WORKDIR/$BDFTASK.chkfil $BDF_WORKDIR/$BDFTASK.chkfil1 $COMPASS Title C6H6 test run, cc-pvdz Basis 6-31gp Geometry C -2.70374913 -1.20160278 -0.03131724 C -3.36877041 -0.96275704 -1.24504929 C -3.38068484 -0.97253941 1.17694524 C -4.68569944 -0.49452990 -1.24739460 H -2.85736558 -1.17024585 -2.18724091 C -4.69462877 -0.50213841 1.16749678 H -2.86196360 -1.16496360 2.11713128 C -5.35413285 -0.26031975 -0.04310413 H -5.19325874 -0.32216946 -2.19941675 H -5.20574150 -0.31828054 2.11549401 H -6.38350643 0.10446223 -0.04635751 H -1.67454236 -1.56659596 -0.01732426 End geometry nosym $END $XUANYUAN $END $SCF rohf spin 3 atomorb $END $localmo flmo pipek Maxcycle 1000 $end %cp $BDF_WORKDIR/$BDFTASK.chkfil $BDF_WORKDIR/$BDFTASK.chkfil2 $expandmo minao $end %cp $BDF_WORKDIR/$BDFTASK.exporb $BDF_WORKDIR/$BDFTASK.exporb.01 %cp $BDF_WORKDIR/$BDFTASK.exporb.molden $BDF_WORKDIR/$BDFTASK.exporb.01.molden $expandmo minao minbas 6 1C|2P-1 2C|2P-1 3C|2P-1 4C|2P-1 6C|2P-1 8C|2P-1 minpxyz 1 6 6 1C|2P-1 2C|2P-1 3C|2P-1 4C|2P-1 6C|2P-1 8C|2P-1 setpxyz y z x incpxyz 2 $end %cp $BDF_WORKDIR/$BDFTASK.exporb $BDF_WORKDIR/$BDFTASK.exporb.02 %cp $BDF_WORKDIR/$BDFTASK.exporb.molden $BDF_WORKDIR/$BDFTASK.exporb.02.molden $expandmo oao $end %cp $BDF_WORKDIR/$BDFTASK.exporb $BDF_WORKDIR/$BDFTASK.exporb.03 %cp $BDF_WORKDIR/$BDFTASK.exporb.molden $BDF_WORKDIR/$BDFTASK.exporb.03.molden $expandmo oao aopxyz 1 6 6 3 17 31 45 61 77 setpxyz z x y $end %cp $BDF_WORKDIR/$BDFTASK.exporb $BDF_WORKDIR/$BDFTASK.exporb.04 %cp $BDF_WORKDIR/$BDFTASK.exporb.molden $BDF_WORKDIR/$BDFTASK.exporb.04.molden %cp $BDF_WORKDIR/$BDFTASK.scforb $BDF_WORKDIR/$BDFTASK.inporb $expandmo avas minbas 6 1C|2P-1 2C|2P-1 3C|2P-1 4C|2P-1 6C|2P-1 8C|2P-1 minpxyz 1 6 6 1C|2P-1 2C|2P-1 3C|2P-1 4C|2P-1 6C|2P-1 8C|2P-1 setpxyz y z x incpxyz 2 socc 1.d-8 svir 1.d-8 $end $expandmo vcmo occao 4 2 minbas 6 1C|2P-1 2C|2P-1 3C|2P-1 4C|2P-1 6C|2P-1 8C|2P-1 minpxyz 1 6 6 1C|2P-1 2C|2P-1 3C|2P-1 4C|2P-1 6C|2P-1 8C|2P-1 setpxyz y z x incpxyz 2 socc 1.d-8 svir 1.d-8 $end $expandmo avas aobas 6 3 17 31 45 61 77 aopxyz 1 6 6 3 17 31 45 61 77 setpxyz z x y socc 1.d-8 svir 1.d-8 $end $expandmo vcmo occao 4 2 aobas 6 3 17 31 45 61 77 aopxyz 1 6 6 3 17 31 45 61 77 setpxyz z x y socc 1.d-8 svir 1.d-8 $end %cp $BDF_WORKDIR/$BDFTASK.exporb $BDF_WORKDIR/$BDFTASK.exporb.1 %cp $BDF_WORKDIR/$BDFTASK.exporb.molden $BDF_WORKDIR/$BDFTASK.exporb.1.molden %cp $BDF_WORKDIR/$BDFTASK.exporb.1 $BDF_WORKDIR/$BDFTASK.inporb $MCSCF close 18 active 6 actele 6 spin 1 symmetry 1 ROOTPRT 1 prtcri 0.1 molden guess read $END %cp $BDF_WORKDIR/$BDFTASK.localorb $BDF_WORKDIR/$BDFTASK.inporb $expandmo omo minbas 6 1C|2P-1 2C|2P-1 3C|2P-1 4C|2P-1 6C|2P-1 8C|2P-1 minpxyz 1 6 6 1C|2P-1 2C|2P-1 3C|2P-1 4C|2P-1 6C|2P-1 8C|2P-1 setpxyz y z x incpxyz 2 $end $expandmo vlmo rohf occao 4 2 minbas 6 1C|2P-1 2C|2P-1 3C|2P-1 4C|2P-1 6C|2P-1 8C|2P-1 minpxyz 1 6 6 1C|2P-1 2C|2P-1 3C|2P-1 4C|2P-1 6C|2P-1 8C|2P-1 setpxyz y z x incpxyz 2 $end $expandmo omo aobas 6 3 17 31 45 61 77 aopxyz 1 6 6 3 17 31 45 61 77 setpxyz z x y $end $expandmo vlmo rohf occao 4 2 aobas 6 3 17 31 45 61 77 aopxyz 1 6 6 3 17 31 45 61 77 setpxyz z x y $end %cp $BDF_WORKDIR/$BDFTASK.exporb $BDF_WORKDIR/$BDFTASK.exporb.2 %cp $BDF_WORKDIR/$BDFTASK.exporb.molden $BDF_WORKDIR/$BDFTASK.exporb.2.molden %cp $BDF_WORKDIR/$BDFTASK.exporb.2 $BDF_WORKDIR/$BDFTASK.inporb $MCSCF close 18 active 6 actele 6 spin 1 symmetry 1 ROOTPRT 1 prtcri 0.1 molden guess read $END }}}