welcome: please sign in

Revision 41 as of 2020-07-29 12:03:46

Clear message
location: expandmo

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

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

MINBAS

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

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

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

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.

OAO

form all OAOs of the molecular system. For example:

$expandmo

oao

$end

MINAO

form all orthonormal MINBAS as OAO of the molecular system. For example:

$expandmo

minao

$end

AVAS

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

VLMO

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

Contract Fock matrix to valence OAO and diagonalize Fock to obtain valence CMO (VCMO) and automated selection of active CMOs.

OCCAO

Set valence OAO occupied alpha and Beta number for VCMO and VLMO. For example:

occao

5 3

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 VCMO or VLMO will match with CMOs or LMOs. Default is .false.

ENECUT

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

Consider ROHF Fock matrix for open-shell system, or UHF Fock matrix is used.

OMO

Use SL=L(lammda)^2, if SVD is set, use SVD to assign active LMOs.

SVD

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

Expert keywords

Socc

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

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

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

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

# 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

$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