$MP2 group  (relevant to SCFTYP=RHF,UHF,ROHF if MPLEVL=2)                       
                                                                                
     Controls 2nd order Moller-Plesset perturbation runs,                       
if requested by MPLEVL in $CONTRL.  MP2 is implemented for                      
RHF, high spin ROHF, or UHF wavefunctions, but see also                         
$MRMP for MCSCF.  Analytic gradients and the first order                        
correction to the wavefunction (i.e. properties) are                            
available for RHF, ROHF (if OSPT=ZAPT), and UHF.  The $MP2                      
input group is not usually given.  See also the DIRSCF                          
keyword in $SCF to select AO integral direct MP2.                               
                                                                                
     The spin-component-scaled MP2 (SCS-MP2) energy of                          
Grimme is printed for SCFTYP=RHF references during energy                       
runs.  See also the keyword SCSPT below.  Only the CODE=IMS                     
program is able to do analytic gradients for SCS-MP2.                           
                                                                                
     Special serial codes exist for RHF or UHF MP2 energy                       
or gradient, or the ROHF MP2 energy.  Parallel codes using                      
distributed memory are available for RHF, ROHF, or UHF MP2                      
gradients.  In fact, the only way that ROHF MP2 gradients                       
can be computed on one node is with the parallel code,                          
using MEMDDI!                                                                   
                                                                                
     MP2 energy values using solution models are computed                       
by using the solvated SCF orbitals in the perturbation                          
step.  All of the MP2 nuclear gradient programs contain                         
additional terms required for EFP, PCM, EFP plus PCM, or                        
COSMO solvation models.                                                         
                                                                                
NACORE = n Omits the first n occupied orbitals from the                         
           calculation.  The default for n is the number                        
           of chemical core orbitals.                                           
                                                                                
NBCORE =   Same as NACORE, for the beta orbitals of UHF.                        
           It is almost always the same value as NACORE.                        
                                                                                
MP2PRP=    a flag to turn on property computation for jobs                      
           jobs with RUNTYP=ENERGY.  This is appreciably                        
           more expensive than just evaluating the second                       
           order energy correction alone, so the default                        
           is to skip properties.  Properties are always                        
           computed during gradient runs, when they are                         
           an almost free byproduct. (default=.FALSE.)                          
                                                                                
OSPT=      selects open shell spin-restricted perturbation.                     
           This parameter applies only when SCFTYP=ROHF.                        
           Please see the 'further information' section for                     
           more information about this choice.                                  
    = ZAPT picks Z-averaged perturbation theory. (default)                      
    = RMP  picks RMP (aka ROHF-MBPT) perturbation theory.                       
                                                                                
CODE  =    the program implementation to use, choose from                       
           SERIAL, DDI, IMS, RIMP2, or RICCHEM according                        
           to the following chart, depending on SCFTYP and                      
           if the run involves nuclear gradients,                               
                                                                                
 RHF     RHF        UHF    UHF       ROHF    ROHF    ROHF                       
energy gradient   energy gradient   energy gradient energy                      
                                OSPT=ZAPT    ZAPT    RMP                        
SERIAL  SERIAL    SERIAL  SERIAL    SERIAL    -     SERIAL                      
DDI      DDI       DDI     DDI       DDI     DDI      -                         
IMS      IMS        -       -         -       -       -                         
RIMP2     -       RIMP2     -         -       -       -                         
RICCHEM RICCHEM    -        -      RICCHEM    -       -                         
                                                                                
The default for serial runs (p=1) is CODE=IMS for RHF, and                      
CODE=SERIAL for UHF or ROHF (provided PARALL is .FALSE. in                      
$SYSTEM).  When p>1 (or PARALL=.TRUE.), the default becomes                     
CODE=DDI.  However, if FMO is in use, the default for                           
closed shell parallel runs is CODE=IMS.  The "SERIAL" code                      
for OSPT=RMP will run with modest scalability when p>1.                         
                                                                                
The many different MP2 programs are written for different                       
hardware situations.  Here N is the number of atomic basis                      
functions, and O is the number of correlated orbitals in                        
the run:                                                                        
                                                                                
The original SERIAL programs use N**3 memory, and have                          
larger disk files and generally takes longer than CODE=IMS.                     
                                                                                
The IMS program uses N*O**2 memory, and places most of its                      
data on local disks (so you must have good disk access),                        
and will run in parallel...ideal for small clusters.  Using                     
this program on a node where the disks are of poor quality                      
(SATA-type) and with many cores accessing that single disk                      
may be very I/O bound.  Adding more memory can make this                        
program run more efficiently.  Network traffic is modest                        
when running in parallel.                                                       
                                                                                
The DDI program uses N**4 memory, but this is distributed                       
across all nodes, and there is essentially no I/O...ideal                       
for large parallel machines where the manufacturer has                          
forgotten to include disk drives.  MEMDDI must be given in                      
$SYSTEM for these codes, so large problems may require many                     
nodes to aggregate enough MEMDDI.  The network traffic is                       
high, so an Infiniband quality network or better preferred.                     
Scalability is very good, for example, this program has                         
been used up to 4,000 cores on Altix/ICE equipment.                             
                                                                                
All of the programs just mentioned should generate the same                     
numerical results, so select which one best matches your                        
hardware.                                                                       
                                                                                
The RIMP2 program is an approximation to the true MP2                           
energy, using the "resolution of the identity" to reduce                        
the amount of data stored (in memory and/or on disk), and                       
also the total amount of computation.  See the paper on                         
this program for its reduced CPU and memory requirements.                       
Network traffic is modest.  The code has options within the                     
$RIMP2 input to govern the use of replicated memory versus                      
shared memory, as well as the use of disk storage versus                        
distributed memory, so you can tune this to your hardware.                      
                                                                                
References for the various programs are given in REFS.DOC.                      
                                                                                
NOSYM  =   disables the orbital symmetry test completely.                       
           This is not recommended, as loss of orbital                          
           symmetry is likely to mean a bad calculation.                        
           It has the same meaning as the keyword in                            
           $CONTRL, but just for the MP2 step. (Default=0)                      
                                                                                
CUTOFF =   transformed integral retention threshold, the                        
           default is 1.0d-9 (1.0d-12 in FMO runs).                             
                                                                                
The following keyword applies only to RHF references:                           
                                                                                
SCSPT = spin component scaled MP2 energy selection.                             
      = NONE - the energy will be the normal MP2 value.                         
               This is the default.                                             
      = SCS  - the energy used for the potential surface                        
               will be the SCS energy value.                                    
Use of SCSPT=SCS causes gradients to be those for the SCS-                      
MP2 potential surface.  For CODE=IMS, the nuclear gradient                      
can be evaluated analytically.  See NUMGRD in $CONTRL if                        
for some reason you wish to use the other two closed shell                      
codes for SCS-MP2 gradients.                                                    
                                                                                
The following keywords apply to any CODE=SERIAL MP2 run, or                     
to parallel ROHF+MP2 runs using OSPT=RMP:                                       
                                                                                
LMOMP2=    a flag to analyze the closed shell MP2 energy                        
           in terms of localized orbitals.  Any type of                         
           localized orbital may be used.  This option                          
           is implemented only for RHF, and its selection                       
           forces use of the METHOD=3 transformation, in                        
           serial runs only.  The default is .FALSE.                            
                                                                                
CPHFBS =   BASISMO solves the response equations during                         
           gradient computations in the MO basis.  This                         
           is programmed only for RHF references without                        
           frozen core orbitals, when it is the default.                        
       =   BASISAO solves the response equations using                          
           AO integrals, for frozen core MP2 with a RHF                         
           reference, or for ROHF or UHF based MP2.                             
                                                                                
NWORD =    controls memory usage.  The default uses all                         
           available memory.  Applies to CODE=SERIAL.                           
           (default=0)                                                          
                                                                                
METHOD= n  selects transformation method, 2 being the                           
           segmented transformation, and 3 being a more                         
           conventional two phase bin sort implementation.                      
           3 requires more disk, but less memory.  The                          
           default is to attempt method 2 first, and                            
           method 3 second.  Applies only to CODE=SERIAL.                       
                                                                                
AOINTS=    defines AO integral storage during conventional                      
           integral transformations, during parallel runs.                      
        DUP stores duplicated AO lists on each node, and                        
           is the default for parallel computers with slow                      
           interprocessor communication, e.g. ethernet.                         
        DIST distributes the AO integral file across all                        
           nodes, and is the default for parallel                               
           computers with high speed communications.                            
           Applies only to parallel OSPT=RMP runs.                              
                                                                                
==========================================================                      
                                                                                
                                                                                
===========================================================                     

generated on 7/7/2017