Effective Core Potentials (ECP's)

From Zori Wiki

Table of contents

Introduction

This page describes how to modify a Zori wave-function input file to use effective core potentials (ECP's).
The essential steps are:

  • Indicate the name of the ECP you wish to use.
    Some names are reserved for ECP's that Zori has already included in a library.
  • Double check the occupancies of the determinants.
  • The (optional) ECP section can be added to specify parameters for the angular integration and to define custom ECP's that are not included in Zori's ECP library.

Examples of the wavefunction files for an aluminum atom are below.

Example 1: An all-electron wavefunction file for an aluminum atom

The first is an all-electron wavefunction provided for contrast.

<?xml version="1.0"?>
<Wavefunction>
 <Potential Type="Molecular">
  <Atom Name="AL" Charge="13.0" X="0.0" Y="0.0" Z="0.0"/>
 </Potential>
 <MeanField>
  <Engine Type="Spline">
   <Slater File="./al-hf-alle-orbs.xml">
    <Occupations> 1.0 DDDDDDA </Occupations>
   </Slater>
  </Engine>
 </MeanField>
 <Correlation Type="None"></Correlation>
</Wavefunction> 

Example 2: A wavefunction file for aluminum with an ECP



The second uses the ECP of OLA provided by Zori.
There are five differences from the all electron wavefunction file:

  1. The ECP="AL_OLA" request has been added to the atom properties.
  2. There is a different orbitals file.
  3. The occupations have been altered.
  4. The Wavefunction/ECP section has been added
    • The LMAX parameter determines the number of points in the angular integration. LMAX is the maximum angular momentum that can be integrated with a given quadrature rule.
      Larger LMAX have greater precision.
    • ROTATE_QUAD determines whether the orientations of the quadrature points will be randomized during the calculation.
      This eliminates bias from the final result, but increases CPU.
<?xml version="1.0"?>
<Wavefunction>
 <Potential Type="Molecular">
  <Atom Name="AL" Charge="13.0" X="0.0" Y="0.0" Z="0.0" ECP="OLA_AL"/>
 </Potential>
 <ECP LMAX="3" ROTATE_QUAD="False" />
 <MeanField>
  <Engine Type="Spline">
   <Slater File="./al-hf-soft-orbs.xml">
    <Occupations> 1.0 DA </Occupations>
   </Slater>
  </Engine>
 </MeanField>
 <Correlation Type="None"></Correlation>
</Wavefunction>

An ECP named AL_OLA must be defined in one of four locations, which are read in the following order

  • The ECP section of the wavefunction file (see Example 3 below.)
  • The ECP_file defined in the ECP section of the wavefunction file.
  • The file ecplib.xml in the current directory
  • If the ZORI_AUX environment variable is set, the file $ZORI_AUX/ecplib.xml
    (A typical setting for ZORI_AUX is $ZORI_HOME/libs.)

Example 3. A wavefunction file for aluminum with a custom ECP

The third example shows how the same ECP can be described explicitly as a custom ECP.
This input is equivalent to the previous Example 2, but the ECP has been explicitly defined.

  1. The definition can be found in Wavefunction/ECP/CUSTOM_OLA_AL.
    1. Note that the name here matches the name given in Wavefunction/Potential/Atom:ECP
    2. Lmax is the maximum angular momentum of the potential.
    3. Nterm is the number of terms in the ECP
    4. rcut is the cutoff radius (bohr) for the ECP. (10.0 is somewhat conservative.)
  2. The properties for each term are:
    • Lmom indicates which angular momentum(l) the term corresponds to.
    • nlk, Alk and Blk are the parameters for an ecp of the form:
      Wl(r)= r-2k rnlk Alk exp[-Blk r2]
<?xml version="1.0"?>
<Wavefunction>
 <Potential Type="Molecular">
  <Atom Name="AL" Charge="13.0" X="0.0" Y="0.0" Z="0.0" ECP="CUSTOM_OLA_AL"/>
 </Potential>
 <ECP LMAX="3" ROTATE_QUAD="False" >
  <CUSTOM_OLA_AL Ncore="10" Lmax="1" Nterm="5" rcut="10.0" >
   <ECP_term Lmom="P"  nlk="1" Alk="3.000000"  Blk="1.700514" />
   <ECP_term Lmom="P"  nlk="3" Alk="5.101543"  Blk="1.700514" />
   <ECP_term Lmom="P"  nlk="2" Alk="1.450048"  Blk="1.671178" />
   <ECP_term Lmom="SP" nlk="2" Alk="4.948890"  Blk="1.096138" />
   <ECP_term Lmom="SP" nlk="4" Alk="-4.792810" Blk="1.394269" />
  </CUSTOM_OLA_AL>
 </ECP>
 <MeanField>
  <Engine Type="Spline">
   <Slater File="./al-hf-soft-orbs.xml">
    <Occupations> 1.0 DA </Occupations>
   </Slater>
  </Engine>
 </MeanField>
 <Correlation Type="None"></Correlation>
</Wavefunction>