welcome: please sign in
location: Diff for "expandmo"
Differences between revisions 24 and 25
Revision 24 as of 2020-07-23 11:18:49
Size: 6850
Editor: leiyibo
Comment:
Revision 25 as of 2020-07-23 11:20:09
Size: 6851
Editor: leiyibo
Comment:
Deletions are marked like this. Additions are marked like this.
Line 106: Line 106:
set the order of px, py, pz on the OAO set. For example, set the order of px, py, pz on the OAO set. For example:
Line 116: Line 116:
set the order of px, py, pz on the MINBAS set and AOBAS needs not to set this increment. For example, set the order of px, py, pz on the MINBAS set and AOBAS needs not to set this increment. For example:
Line 120: Line 120:
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 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.

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

  • ! default is 1.

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.

OMO

Use SL=L(lammda)^2 or SVD to assign active CMOs or LMOs

SVD

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

FOCK

Contract Fock matrix to valence OAO and diagonalize Fock(OAO,OAO) to obtain valence CMO or LMO (VCMO or VLMO) and automated selection of active space.

OCCAO

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

occao

5 3

ROHF

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

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

  • 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

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