welcome: please sign in
location: Diff for "expandmo"
Differences between revisions 168 and 169
Revision 168 as of 2024-01-30 14:46:16
Size: 29192
Editor: leiyibo
Comment:
Revision 169 as of 2024-01-30 14:46:41
Size: 29192
Editor: leiyibo
Comment:
Deletions are marked like this. Additions are marked like this.
Line 88: Line 88:
Calculate and print overlap matrix between small ($BDF_WORKDIR/$BDFTASK.sbforb) and large basis set ($BDF_WORKDIR/$BDFTASK.lbforb) MOs. Calculate and print overlap matrix between small ($BDF_WORKDIR/$BDFTASK.sbforb) and large ($BDF_WORKDIR/$BDFTASK.lbforb) basis set MOs.

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 imposed CAS (iCAS) by keywords VCMO and VLMO based on target atomic valence orbitals for CMO and FLMO/LMO, respectively. 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.) The AO basis set can also be generated and saved on file $BDF_WORKDIR/$BDFTASK.aobas for iCAS method (JCTC, 17, 4846-4859, 2021.). 

General keywords

Overlap

Overlap is used to expand molecular orbital from a small basis set into a large basis set.

Overcri

Threshold of orbital occupation number for keyword 'Overlap', those orbitals with occupation number are larger than this threshold will be defined as occupied orbitals. Default : 0.d0

VSD

Virtual Space Decompostion (VSD) is used to separate Virtual MOs of large basis set by the selection of N(L)-N_occ of nonzero SVD value of <Psi(vir)|Phi(projected small basis set)>. This divide Virtual space into strong correlated space and weak correlated space, respectively. This separating information is set into mcscf_nsxvr and mcscf_nsvir of chkfil.

Example: test126.inp

Notice : The number of virtual MOs by large basis set must be larger than the number of small basis set.

Sortvir

sort two virtual subspaces MO order.

Pre-CMO

The other method to do Virtual Space Decomposition (VSD), default = .false. If .true.,combined with 'VSD' to replace small basis set VAOs

Example: test131.inp

VLMO

Contract Fock matrix to valence AO (VAO) and diagonalize Fock and localize VCMOs to obtain valence LMO (pre-LMO) and automated selection of active LMOs or FLMOs. This function only supports the system without symmetry. The pre-LMOs can only be generated from pre-CMOs by Pipek-Mezey (Keyword : Pipek) or Boys localization (Keyword : Boys) until now. The default is Pipek-Mezey localization.

Pipek

Pipek-Mezey localization approach. Default is using Mulliken charge. When user wants to use Lowdin charge, please set keyword "Lowdin". Default is using Jacobi sweep optimization to localize molecular orbitals. When user wants to use trust-region optimization, please set keyword "trust".

Boys

Boys localization approach.

Mboys

Modified Boys localization approach. Next line is an integral to set powern. For example:

Mboys

  • 2

VCMO

Contract Fock matrix to VAO and diagonalize Fock to obtain valence CMO (pre-CMO) and automated selection of active CMOs. For ROHF, default is that occupied space = doubly + singly occupied spaces. This function supports the system with symmetry of D2h and subgroup.

SB2LB

Use small basis set MCSCF calculated MOs as guess for large basis set MCSCF calculation. See test150.inp for guidance.

SBOLB

Calculate and print overlap matrix between small ($BDF_WORKDIR/$BDFTASK.sbforb) and large ($BDF_WORKDIR/$BDFTASK.lbforb) basis set MOs.

S12CMO

Use this keyword to calculate overlap matrix between two different coordinates with $BDF_WORKDIR/$BDFTASK.chkfil1 and $BDF_WORKDIR/$BDFTASK.inporb1 for the first coordinate chkfil and CMO, $BDF_WORKDIR/$BDFTASK.chkfil2 and $BDF_WORKDIR/$BDFTASK.inporb2 for the second coordinate chkfil and CMO.

Localmo

Localization of VCMO both with and without symmetry by usual localization methods such as Pipek-Mezey and Boys localizations, default : Pipek-Mezey localization.

Notice: only Pipek-Mezey and cholesky localizations work on molecules with symmetry.

MINBAS

set valence AO such as five 3d atomic orbitals as target atomic orbitals. This is recommended with Lowdin orthonormalization AO. Example file is test080.inp, test086.inp, test100.inp. When PHOsp is set, the corresponding VAOs of PHO are set with the order of 1, 2, 4, 3 corresponding to *S0, *P-1, *P0 and *P1 for the AO order of BDF program by default, this means to change the fourth PHO to *P0 and the third PHO to *P1. If the keyword SETPHO is used, the order of VAOs of PHO is set by the user.

minbas

5

1Co|3D-2

1Co|3D-1

1Co|3D0

1Co|3D1

1Co|3D2

If users use self-input basis set, the input symbol would be 1Co*|3D0, such as

minbas

5

1Co3|3D-2

1Co3|3D-1

1Co3|3D0

1Co3|3D1

1Co3|3D2

Please identify the compass gives atomic orbital symbol. Users must input the same symbol as compass given.

PHOSP

set modified Project Hybrid Orbital (PHO) like VAOs. This keyword can be used to generate some Hybrid atomic orbitals for VAOs. For sp2 hybridation, the Pz orbital for conjugated orbitals can also be generated as the fourth PHO. The first PHO is set as the first Sigma orbital with the first neighbour atom, the second PHO is set as the second sigma orbital with the second neighbour atom, and the third PHO is set as the third sigma orbital with the third neighbour atom for sp2 or sp3 hybridation but the lone pair orbital for sp hybridation, the fourth PHO is set as the AO vertical to the plane of the preceding three atom for sp2 hybridation but the four sigma orbital with the four neighbour atom. For safety, please first use keyword MINAO to find the rule of MINBAS by PHOsp generation. This keyword only support MINBAS selection of VAOs. Example files are test086.inp and test100.inp. The PHOs can be found by keyword MINAO calculations for AOs with PHOsp for hybridation of some AOs. For example:

phosp

2 ! two atoms have been hybridized

2 1 2 3 4 0 !# the first numbe is main quantum number n = 2, which means hybrid 2s and 2p orbitals, the second number means atom 1 is hybrided to sp2 with atom 2 (third number), 3 (fourth number) and 4 (fifth number), the last 0 (sixth number) means only three ligand atoms. If the last number is nonzero, atom 1 is sp3 hybridation. All the following 2s and 2p labels of atom 1 need to be set on module expandmo for assignment hybrid AOs.

2 2 1 5 6 0 !# the first numbe is main quantum number n = 2, which means hybrid 2s and 2p orbitals, the second number means atom 2 is hybrided to sp2 with atom 1 (third number), 5 (fourth number) and 6 (fifth number), the last 0 (sixth number) means only three ligand atoms. If the last numbe is nonzero, atom 2 is sp3 hybridation. All the following 2s and 2p labels of atom 2 need to be set on module expandmo for assignment hybrid AOs.

SetPHO

Set the order of VAOs of PHOs. The default order is 1 2 4 3 corresponding to *S0, *P-1, *P0, *P1 of keyword MINBAS. The order 1 2 3 4 is from first to fourth PHO corresponding to the AO order of *S0, *P-1, *P0, *P1 of BDF program. This keyword set is change the fourth PHO to *P0 and the third PHO to *P1. Example:

SetPHO

1 4 3 2 !!! change the fourth PHO to *P-1 and the second PHO to *P1 of keyword MINBAS.

OccUp

Set occupied alpha of the system. For example:

alpha

  • 6 3 1 1 1 1 4 5

OccDown

Set occupied beta of the system. For example:

beta

  • 6 3 0 1 0 1 4 5

Alpha

Set valence AO occupied alpha for VCMO (pre-CMO). For example:

alpha

0 0 1 1 0 2 0 0

Beta

Set valence AO occupied beta for VCMO (pre-CMO). For example:

beta

0 0 0 1 0 1 0 0

Core

  • Number of frozen internal orbitals in each irreps.

Example:

Close

  • Number of inactive orbitals in each irreps.

Example:

Active

  • Number of active orbitals in each irreps. When no active space exists, this is back to approximate second-order RHF.

Example:

Actele

  • Number of active electrons in active space. When no active space exists, this is back to approximate second-order RHF.

Example:

OCCAO

Set VAO occupied alpha and Beta number for VCMO (pre-CMO) and VLMO (pre-LMO). The keyword for VCMO is equal to keyword alpha and beta without symmetry.

If users do not set this keyword, alpha and beta electron occupation number are automatically assigned. Notice that the automatic assignment may be failed when the pre-CMOs are evidently mismatched with CMOs. If so, users can set keyword "SetMOM" to tune doubly occupied space.

If user want to use keyword "ActLMO" for connect active orbitals of fragments, the keywrod "Occao" is needed.

For safty, please set occao or use alpha and beta for the system with symmetry where the occupation pattern can not be correctly set by orbital energy order.

For example:

occao

5 3

MINAO

form all orthonormal MINBAS as OAO of the molecular system. Associated with keyword PHOSP, the hybrid AOs can be generated. For example:

$expandmo

minao

$end

AVAS

Atomic Valence Active Space (AVAS) is used to automated construction MCSCF active space by set atomic valence orbitals.

VAOBAS

set valence AO such as five 3d atomic orbitals as target atomic orbitals. This keyword do not support VCMO. example file is test086.inp 10 - 14 are the number of target 3d VOAO.

vaobas

5

10 11 12 13 14

AOPXYZ

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

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

set the order of px, py, pz on the for each block of VOAO set. For example:

setpxyz

z x y ! this means the first p orbital is pz and then px and py in order for the first block. Default is z y x for AOBAS and y z x for MINBAS.

INCPXYZ

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.

NOAO

only print all AOs of the molecular system to help users to find VAOs on active sites. For example:

$expandmo

noao

$end

VOAO

form only VOAOs of the molecular system. For example:

$expandmo

voao

5

10 11 12 13 14

$end

OAO

form all OAOs of the molecular system. For example:

$expandmo

oao

$end

ACTLMO

form all orthonormal active LMOs from the corresponding subsystems. For example:

need files $BDF_WORKDIR/$BDFTASK.actfrag1 from localmo with file name $BDF_WORKDIR/$BDFTASK.actfrag for orbital information and $BDF_WORKDIR/$BDFTASK.actcoef1 from expandmo with file name $BDF_WORKDIR/$BDFTASK.exporb for LMOs of 1-th subsystem as so on.

$expandmo

vlmo

occao

4 4 ! occupied Alpha MO and Beta MO

actlmo

4 ! four subsystems have active LMOs

14 1 0 1 ! 1-th subsystem : number of inactive, doubly occupied active LMOs, singly occupied active LMOs, unoccupied active LMOs

21 1 0 1 ! 2-th subsystem : number of inactive, doubly occupied active LMOs, singly occupied active LMOs, unoccupied active LMOs

21 1 0 1 ! 3-th subsystem : number of inactive, doubly occupied active LMOs, singly occupied active LMOs, unoccupied active LMOs

14 1 0 1 ! 4-th subsystem : number of inactive, doubly occupied active LMOs, singly occupied active LMOs, unoccupied active LMOs

5 4 4 5 ! effective Atom of each subsystem

1 2 3 4 5 ! 1-th subsystem : index of effective Atom on whole system.

6 7 8 9 ! 2-th subsystem : index of effective Atom on whole system.

10 11 12 13 ! 3-th subsystem : index of effective Atom on whole system.

14 15 16 17 18 ! 4-th subsystem : index of effective Atom on whole system.

$end

VACTMO

set index of some of active LMOs set by ACTLMO. For example:

$expandmo

vactmo

5

10 11 12 13 14

$end

Nonlocal

For VLMO scheme, when use CMO as initial MOs, do not localize pre-CMOs and only match pre-CMOs and CMOs and does not transform CMOs. Default is .false.

Bmat

For VLMO scheme, use B matrix elements of occupied and virtual spaces to match pre-CMOs/LMOs and CMOs/LMOs. Default is .false.

Bmat2

For VLMO scheme, use squared B matrix elements of occupied and virtual spaces to match pre-CMOs/LMOs and CMOs/LMOs. Default is .false.

MOM

For VLMO scheme, use occupation number of occupied and virtual spaces by MOM scheme to match pre-CMOs/LMOs and CMOs/LMOs. Default is .true.

SetMOM

Set threshold of Maximum Occupation Number (MOM). Default : 0.5

NONOCC

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

set CMO index which will not be used for pre-CMO and pre-LMO if the occupied (virtual) orbital energies of pre-CMOs are too low (or high). These pre-CMOs formed by selected VOAOs have been save as view molden file of $BDFTASK.vcmoorb.molden.

For example:

enecut

2 ! there are two CMOs will be deleted.

1 6 ! the cutted CMO index is 1 and 6, respectively.

SortPreCMO

Sort Pre-CMO.

For example:

sortprecmo

2 ! there are two CMOs will be sorted.

1 5 ! 1 <==> 2 and 5 <===6>.

2 6

SortPreLMO

Sort Pre-LMO.

For example:

sortprelmo

2 ! there are two LMOs will be sorted.

1 5 ! 1 <==> 2 and 5 <===6>.

2 6

FOCKCMO

canonicalize selected LMO to CMO when set this keywrod. Default is .false.

CMOSELE

set CMO index which will be used as semicanonical CMOs for both pre-CMO and pre-LMO if the occupied (virtual) orbital energies of them are too low (or high).

For example:

cmosele

2 2 ! semicanonical CMO numbers for occupied and virtual active CMOs/LMOs.

1 2 ! semicanonical CMO indexes for occupied active CMOs/LMOs. The index is only for the active CMOs/LMOs so that the inactive number have to be deleted.

5 6 ! semicanonical CMO indexes for virtual active CMOs/LMOs. The index is only for the active CMOs/LMOs so that the inactive number have to be deleted.

ROHF

This keyword treat doubly and singly occupied spaces separately for both VCMO and VLMO for ROHF/UHF CMO/LMO. Default is .true.

UHF

This keyword treat doubly and singly occupied spaces together for both VCMO and VLMO for ROHF/UHF CMO/LMO. Default is .false.

SVD

Use SVD to assign active CMOs for VCMO if .true., or use SL=L(lammda)^2.

Maxcycle

Maximum number of iterations allowed for localization.

Print

Print localizing information of VCMO localization. Example:

Print

3

Expert keywords

Socc

set threshold to cut small overlap between MOs and target atomic orbitals for occupied active orbitals by AVAS and VCMO. Default : 0.1

For example:

Socc 0.1

Svir

set threshold to cut small overlap between MOs and target atomic orbitals for virtual active orbitals by AVAS and VCMO. Default : 0.1

For example:

Svir 0.1

Nearocc

set threshold to find nearby occupied occupation number for keyword MOM on VLMO scheme. Default : 0.3

For example:

nearocc 0.3

Nearvir

set threshold to find nearby virtual occupation number for keyword MOM on VLMO scheme. Default : 0.3

For example:

nearvir 0.3

Focc

set threshold to cut small elements of overlap B matrix between MOs and target AOs for occupied active orbitals by VLMO. Default : 0.3

Fvir

set threshold to cut small elements of overlap B matrix between MOs and target AOs for virtual active orbitals by 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 VCMO 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 VOAOs are employed as auxiliary VAOs. We prefer using the same basis set as SCF calculation to form VOAOs in comparison with MINBAS and recommend to employ AVAS and VCMO 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
noao
$end

%cp $BDF_WORKDIR/$BDFTASK.exporb $BDF_WORKDIR/$BDFTASK.exporb.03
%cp $BDF_WORKDIR/$BDFTASK.exporb.molden $BDF_WORKDIR/$BDFTASK.exporb.03.molden

$expandmo
voao
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.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
$end

$expandmo
vcmo
alpha
4
beta
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

%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.localorb $BDF_WORKDIR/$BDFTASK.inporb

$expandmo
vlmo
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
vlmo
occao
4 2
vaobas
6
3 17 31 45 61 77
aopxyz
1 6
6
3 17 31 45 61 77
setpxyz
z x y
nearocc
0.3
nearvir
0.3
$end

%cp $BDF_WORKDIR/$BDFTASK.exporb $BDF_WORKDIR/$BDFTASK.exporb.2
%cp $BDF_WORKDIR/$BDFTASK.exporb.molden $BDF_WORKDIR/$BDFTASK.exporb.2.molden

$localmo
flmo
cdloc
Maxcycle
 1000
$end

%cp $BDF_WORKDIR/$BDFTASK.localorb $BDF_WORKDIR/$BDFTASK.inporb

$expandmo
vlmo
cdloc
occao
4 2
vaobas
6
3 17 31 45 61 77
aopxyz
1 6
6
3 17 31 45 61 77
setpxyz
z x y
nearocc
0.3
nearvir
0.3
$end

%cp $BDF_WORKDIR/$BDFTASK.exporb $BDF_WORKDIR/$BDFTASK.exporb.3
%cp $BDF_WORKDIR/$BDFTASK.exporb.molden $BDF_WORKDIR/$BDFTASK.exporb.3.molden


%cp $BDF_WORKDIR/$BDFTASK.exporb.1 $BDF_WORKDIR/$BDFTASK.inporb

$MCSCF
close
 18 
active
 6
actele
 6
spin
 3
symmetry
 1
ROOTPRT
 1
prtcri
0.1
molden
guess
read
$END

%cp $BDF_WORKDIR/$BDFTASK.mcscf.molden $BDF_WORKDIR/$BDFTASK.mcscf.1.molden

%cp $BDF_WORKDIR/$BDFTASK.exporb.2 $BDF_WORKDIR/$BDFTASK.inporb

$MCSCF
close
 18 
active
 6
actele
 6
spin
 3
symmetry
 1
ROOTPRT
 1
prtcri
0.1
molden
guess
read
localmc
$END

%cp $BDF_WORKDIR/$BDFTASK.mcscf.molden $BDF_WORKDIR/$BDFTASK.mcscf.2.molden

%cp $BDF_WORKDIR/$BDFTASK.exporb.3 $BDF_WORKDIR/$BDFTASK.inporb

$MCSCF
close
 18 
active
 6
actele
 6
spin
 3
symmetry
 1
ROOTPRT
 1
prtcri
0.1
molden
guess
read
localmc
$END

%cp $BDF_WORKDIR/$BDFTASK.mcscf.molden $BDF_WORKDIR/$BDFTASK.mcscf.3.molden

Example3

  • Here we use small basis 3-21G as VAOs to calculate RHF/6-31G(d) and then automate selection of CAS(6,6) by VCMO and perform CASSCF(6,6)/6-31G(d).

Notice : the small basis set scf has only one SCF iteration because only atmorb is generated for the following expandmo.

$COMPASS 
Title
 C6H6 Molecule test run, CC-PVDZ
Basis
3-21G
Geometry
 C    0.00000000000000   1.39499100000000   0.00000000000000
 C   -1.20809764405066   0.69749550000000   0.00000000000000
 C    0.00000000000000  -1.39499100000000   0.00000000000000
 C   -1.20809764405066  -0.69749550000000   0.00000000000000
 C    1.20809764405066  -0.69749550000000   0.00000000000000
 C    1.20809764405066   0.69749550000000   0.00000000000000
 H    0.00000000000000   2.49460100000000   0.00000000000000
 H   -2.16038783830606   1.24730050000000   0.00000000000000
 H    0.00000000000000  -2.49460100000000   0.00000000000000
 H   -2.16038783830607  -1.24730050000000   0.00000000000000
 H    2.16038783830607  -1.24730050000000   0.00000000000000
 H    2.16038783830606   1.24730050000000   0.00000000000000
End geometry
Check
norotate
Group
  D(2h)
saorb
$END

$xuanyuan
$end

$scf
RHF
molden
iprtmo
2
spin
1
$end

%cp $BDF_WORKDIR/$BDFTASK.chkfil $BDF_WORKDIR/$BDFTASK.chkfil1
%cp $BDF_WORKDIR/$BDFTASK.atmorb $BDF_WORKDIR/$BDFTASK.atmorb1

$COMPASS 
Title
 C6H6 Molecule test run, CC-PVDZ
Basis
6-31GP
Geometry
 C    0.00000000000000   1.39499100000000   0.00000000000000
 C   -1.20809764405066   0.69749550000000   0.00000000000000
 C    0.00000000000000  -1.39499100000000   0.00000000000000
 C   -1.20809764405066  -0.69749550000000   0.00000000000000
 C    1.20809764405066  -0.69749550000000   0.00000000000000
 C    1.20809764405066   0.69749550000000   0.00000000000000
 H    0.00000000000000   2.49460100000000   0.00000000000000
 H   -2.16038783830606   1.24730050000000   0.00000000000000
 H    0.00000000000000  -2.49460100000000   0.00000000000000
 H   -2.16038783830607  -1.24730050000000   0.00000000000000
 H    2.16038783830607  -1.24730050000000   0.00000000000000
 H    2.16038783830606   1.24730050000000   0.00000000000000
End geometry
Check
norotate
Group
  D(2h)
saorb
$END

$xuanyuan
$end

$scf
RHF
molden
iprtmo
2
spin
1
maxiter
1
$end

%cp $BDF_WORKDIR/$BDFTASK.chkfil $BDF_WORKDIR/$BDFTASK.chkfil2
%cp $BDF_WORKDIR/$BDFTASK.atmorb $BDF_WORKDIR/$BDFTASK.atmorb2

%cp $BDF_WORKDIR/$BDFTASK.atmorb1 $BDF_WORKDIR/$BDFTASK.atmorb
%cp $BDF_WORKDIR/$BDFTASK.scforb $BDF_WORKDIR/$BDFTASK.inporb

$expandmo
setvao
vcmo
minbas
6
1C|2P0 
2C|2P0   
3C|2P0   
4C|2P0   
5C|2P0   
6C|2P0   
phosp
6
2 1 2 6 7 0
2 2 1 4 8 0
2 3 4 5 9 0
2 4 2 3 10 0
2 5 3 6 11 0
2 6 1 5 12 0 
$end

%cp $BDF_WORKDIR/$BDFTASK.exporb $BDF_WORKDIR/$BDFTASK.inporb

$MCSCF
close
6    3    0    0    0    0    4    5
active
0    0    2    1    1    2    0    0
actele
 6
spin
 1
symmetry
 1
ROOTPRT
 1
prtcri
0.1
molden
guess
read
icas
$END

expandmo (last edited 2024-01-30 14:46:41 by leiyibo)