columbus in china tutorials practical aspects · tutorial i. general introduction 1. mcscf single...
TRANSCRIPT
COLUMBUS IN CHINA TUTORIALS
Practical Aspects
Available software on PC Putty (ssh program for access of computer arran.spst.tju.edu.cn) WinSCP: for file transfer to/from arran Molden: graphical viewer program for structure, MOs and more (run xming first) Jmol: alternative viewer Login into arran: use putty, select arran and click open, then enter the passphrase
After logging into arran, go to your user directory by executing “cd USER_id” where “id” is the number of your computer. Please work only in this directory and in subdirectories made for the different calculations.
Access to Input and Results directories: In the directory cic_2016 there are two directories INPUT and RESULTS. In the INPUT directory, all the input files, especially the geometry files, and the executed calculations can be found. You can copy these files in your own directory and submit the job. All the jobs are submitted only by the SLURM script by using the command “sbatch SLURM_script_name”. For comparison of the calculation see the RESULTS directory. Job submission: all jobs have to be submitted to the SLURM batch system of the computer cluster. A submission script is available in the INPUT directories of the examples (see the SLURM commands below and the tutorial instructions for more details) Useful Unix commands (only the basic name is given, see man pages for more details): ls: list files cd: change directory rm: remove file mkdir: make directory cp: copy file vi: text editor nano: text editor sbatch: SLURM job submit command squeue -u “user”: SLURM queue file listing scancel <job id>: to cancel the SLURM script
1
Tutorial I. General Introduction
1. MCSCF single point calculation without symmetry
The system is the methaniminium cation CH2NH2+, which will be calculated using a
complete active space composed by four electrons in three orbitals [CASSCF(4,3)]. C1 point
group, three singlet states in the state averaging procedure (SA-3) and the 6-31G* basis set
will be used.
1.1 Orbital occupation and DRT tables
Before starting any COLUMBUS input, it is strongly advisable to write down the details of the
orbital occupation and distinct row tables. You can download doc and pdf templates of these
tables at http://www.univie.ac.at/columbus/documentation/utilities.html#orbocctable
1. Fill out the occupation table according to Fig. 1.
System: CH2NH2+ Point Group: C1
N. Electrons: 16 Multiplicity:
Level: MRCI(4,3)/SA-3-CASSCF(4,3) IRREP! Irreducible representation
a
SCF DOCC 8 ! Doubly occupied in the SCF wavefunction
OPSH 0 ! Singly occupied in the SCF wavefunction
MCSCF DOCC 6 ! Doubly occupiedorbitals in the MCSCF
RAS 0 ! Restricted orbitals (only a restricted number of
excitations from them)
CAS 3 ! Active orbitals (any kind of excitation)
AUX 0 ! Auxiliary orbitals (only restricted excitations into them)
MRCI FC 2 ! Frozen core orbitals (the two 1s) in the MRCI
FV 0 ! Frozen virtual orbitals
DOCC 4 ! Reference doubly occupied orbitals
ACT 3 ! Reference active orbitals
AUX 0 ! Reference auxiliary orbitals
INT 7 ! Internal (DOCC+ACT+AUX)
DOCC
CAS
DOCC
FC
DOCC
ACT
SCF MCSCF MRCI
N 1s
C 1s
*
DOCC
CAS
DOCC
FC
DOCC
ACT
SCF MCSCF MRCI
N 1s
C 1s
*
Fig. 1. Scheme of orbital occupation for MRCI(4,3) and CASSCF(4,3).
2. Fill out the DRT table.
State Multiplicity N. electrons Symmetry
1 1 16 A
2 1 16 A
2
COLUMBUS tutorial
3 1 16 A
Number of distinct rows tables (DRTs): 1
1.2 Geometry file creation
3. Create a directory TUTORIAL. In the TUTORIAL directory create a subdirectory called
CNH4_CAS43_C1_SP by mkdir command
4. Move to this directory and copy cnh4.xyz file from /home/cic2016/INPUT/TUTORIAL/
directory which contains the geometry in XYZ format (in Angstrom)
5. Convert geometry into COLUMBUS format.
>$COLUMBUS/xyz2col.x < cnh4.xyz<ENTER>
The COLUMBUS geometry file is called ‘geom’ and is in Bohr
The conversion back from COLUMBUS format to xyz can be done with the program geom2xyz. > $COLUMBUS/geom2xyz geom
After running this program, the xyz-format geometry is written to file ‘geom.xyz’.
1.3 COLINP integral input
6. Run and select
> $COLUMBUS/colinp
-> 1) Integral program input (for argos/dalton/turbocol/molcas)
7. Use the prepinp utility
Run the preparation program (prepinp)? (y|n)y ! Press <ENTER> after
the input
8. Enter information about program, symmetry and geometry file.
Input for DALTON (1) or MOLCAS (2): 1
Enter the point group symmetry: c1 ! Only Abelian groups
Name of the file containing the cartesian coordinates
of the unique atoms (COLUMBUS format): geom
Number of atoms = 6 ! verify that the file was read in correctly
Sum formula: H4 N1 C1
9. Enter information about basis sets.
Show only basis sets containing the following string:
(e.g. 6-31g, cc-pv - leave empty to show all basis sets)
6-31g!you may enter “6-31g” here or leave this empty and get the full
list
-- Set basis set --
27: HYDROGEN Pople 6-31g or 6-31g*
Select the basis set for atom H:27! 6-31G* was selected
...
Select the basis set for atom N:34
...
Select the basis set for atom C:31
...
Reorder geom file for geometry optimization and orbital print out? (y)
y !per default the geometry should be reordered to put the hydrogens
at the back of the file
Normal termination of prepinp. See result in inpcol.
3
COLUMBUS tutorial
10. Perform an automatic input of iargos.x.
Would you like to do an interactive input? <NO>n! Select “no”.
1.4 COLINP step: SCF input
11. Select option 2) SCF input
Do you want a closed shell calculation ?<YES>y!If you just press
<ENTER>, the default (yes) is assumed
Input the no. of doubly occupied orbitals for each irrep, DOCC:8<ENTER>
....
Is this correct? <YES><ENTER>
Would you like to change the default program parameters? <NO><ENTER>
Input a title: <Default SCF Title>
--><ENTER>
1.5 COLINP step: MCSCF input
12. Select option 3) MCSCF input
MCSCF WAVE FUNCTION DEFINITION
==============================
Freeze orbitals prior to MCSCF (no gradients available) [y|n]n
prepare input for no(0),CI(1), MCSCF(2), SA-MCSCF(3) analytical gradient1
no (0) – for single point calculation
CI (1) – for jobs requiring gradient calculation with the CI gradient routine, i.e. geometry
optimization and non-adiabatic couplings at MRCI level.
MCSCF (2) – for jobs requiring gradient calculations using MCSCF gradient
routine.Essentially geometry optimization with single state MCSCF.
SA-MCSCF (3) – for jobs requiring gradient calculation at the state averaged MCSCF level.
....
excitation level (cas,ras)->aux0 ! Allow 0 excitation into auxiliary
orbitals
excitation level ras->(cas,aux) 0 ! allow 0 excitation from the
restricted active orbitals
....
Apply add. group restrictions for DRT 1 [y|n]n
....
State-averaging
DRT 1: #states [3 ] weights[ 1,1,1 ]
FINISHED [y]
1.6 Running a MCSCF single point job
13. Select option 5) Set up job control
14. Select option 1) Job control for single point or gradient calculation
15. Select option 1) Single point calculation
16. Select the following options marked below and finish with “Done with selections”.
-> 1) (Done with selections)
2) [X] SCF
3) [X] MCSCF
13) [X] convert MOs into molden format
17. In the next panels, select “Exit” until finishing COLINP execution.
4
COLUMBUS tutorial
18. Copy SLURM_col_ssh file from home/cic2016/INPUT/TUTORIAL/ directory. Run
Columbus with this SLURM script and analyze the results from LISTINGS/mcscfsm.sp
and LISTINGS/mcpcls.drt1.stateX.sp files > sbatch SLURM_col_ssh
sbatch is the command to submit the job. squeue is for checking the job, scancel <job_id> is
to cancel the job.
> molden MOLDEN/molden_mo_mc.sp & ! ‘molden’ is an alias to MOLDEN path
MO 7: MO 8: MO 9: *MO 7: MO 8: MO 9: *
Fig. 2. Molecular orbitals visualized with Molden using contour value 0.1.
2. MRCI single point calculation without symmetry
In this section we will perform a single point calculation at MRCI level for
methaniminium cation CH2NH2+. The reference space for the MRCI contains four electrons in
three orbitals [MRCI(4,3)] (see Fig. 1). This calculation is done on top of the SA-3-
CASSCF(4,3) MCSCF calculation performed in section 1. The 6-31G* basis set and no
symmetry will be used.
2.1 Basic input
1. In the TUTORIAL directory create a subdirectory called CNH4_MRCI43_C1_SP
2. Move to this directory and copy the input files from the MCSCF directory:
>cp ../CNH4_CAS43_C1_SP/* .
3. Copy the molecular orbital file generated in the MCSCF calculation.
>cp ../CNH4_CAS43_C1_SP/MOCOEFS/mocoef_mc.sp mocoef
In this job we will skip the SCF step. Therefore a molecular orbital file should be provided.
The default name for this file is “mocoef”.
2.2 COLINP step: MRCI input
> $COLUMBUS/colinp
-> 4) CI input
...
press return to continue<enter>
-> 2) Def. of CI wave function - one-DRT case
Do you want to compute gradients or non-adiabatic couplings? [y|n] n
4. The orbital occupation and DRT information is defined in the following options:
Spin-Orbit CI [y|n] n<enter>
5
COLUMBUS tutorial
....
Do according to the DRT table.
Enter the excitation level (0,1,2)2 <enter>
Generalized interacting space restrictions [y|n]y <enter>! faster
Enter the allowed reference symmetries 1 <enter>
The options in “Enter the excitation level (0,1,2)” are:
0 – MCSCF
1 – MR-CIS
2 – MR- CISD
5. Proceed with the input:
Apply additional group restrictions for DRT [y|n]n <enter>
Choose CI program: sequential ciudg [1]; parallel ciudg[2]1 <enter>
6. In the last panel, the only thing which should be changed is NROOT from 1 to 3.
State(s) to be optimized NROOT [3 ] ROOT TO FOLLOW [0]
FINISHED [y]
7. Move the cursor to FINISHED and press <enter>. Do not select transition moments.
-> 1) (Done with selections)
2.3 Running a MRCI single point job
8. Enter the job control menu and select
-> 5) Set up job control
9. Select a single point job:
-> 1) Job control for single point or gradient calculation
10. If you have copied the files from your MCSCF calculation, COLUMBUS recognizes your
old job control file and asks you whether to discard it or not. In this case type y <enter>.
11. Select single point calculation
-> 1) single point calculation
12. Choose the following options:
-> 1) (Done with selections)
3) [X] MCSCF
5) [X] MR-CISD (serial operation)
13) [X] convert MOs into molden format
13. Exit the input facility.
14. Run Columbus with the SLURM script and analyze the results from
LISTINGS/ciudgsm.sp and LISTINGS/cipcls.drt1.sp files.
> sbatch SLURM_col_ssh
3. MRCI geometry optimization without symmetry
This calculation is done on the top of the MRCI(4,3) single-point calculation
performed in section 2. The 6-31G* basis set and no symmetry will be used (C1 point group).
6
COLUMBUS tutorial
3.1 Basic input
1. In the TUTORIAL directory create a subdirectory called CNH4_MRCI43_C1_OPTS1
2. Move to this directory and copy the input files from the MCSCF directory:
> cp ../CNH4_CAS43_C1_SP/* .
3. Copy the molecular orbital file generated in the MCSCF calculation.
>cp ../CNH4_CAS43_C1_SP/MOCOEFS/mocoef_mc.sp mocoef
3.2 COLINP step: MRCI input > $COLUMBUS/colinp
-> 4) CI input
...
press return to continue<enter>
-> 2) Def. of CI wave function - one-DRT case
Do you want to compute gradients or non-adiabatic couplings? [y|n] [ n] y
The difference to last time is that we choose a wave function definition that allows for the
inclusion of gradients and/or non-adiabatic couplings.
4. Proceed with the input as mentioned before. Apply additional group restrictions for DRT [y|n]n <enter>
Choose CI program: sequential ciudg [1]; parallel ciudg[2]1 <enter>
5. The last panel change NROOT from 1 to 2. State(s) to be optimized NROOT [2 ] ROOT TO FOLLOW [0]
FINISHED [y]
Move the cursor to FINISHED and press <enter>.
In the case of geometry optimization, NROOT defines not only the number of CI roots but also
which state will be optimized (the energy gradient will be calculated for state NROOT).
Alternatively the gradient can be specified in transmomin.
Do not select any transition moment. -> 1) (Done with selections)
3.3 Running a MRCI geometry optimization job
6. Enter 5) Set up job control
7. Select 1) Job control for single point or gradient calculation
8. If you have copied the files from your MCSCF calculation, COLUMBUS recognizes your
old job control file and asks you whether to discard it or not. In this case type y <enter>.
9. Select 2) geometry optimization with GDIIS
Internal coordinates generated!
Press return to continue<enter>
Enter the number of optim. cycles:10<enter>
10. Choose the following options: -> 4) [X] ci gradient
7
COLUMBUS tutorial
Afterwards the program will ask for the starting orbitals:
starting orbitals from scf prior to mcscf? (y|n)n <enter>
11. Exit the input facility.
12. Run Columbus with the SLURM script and analyze the results
> sbatch SLURM_col_ssh
3.4 Checking the results
13. The convergence of the geometry optimization can be checked in the file
LISTINGS/gdiisls.all.
14. Use molden to visualize the individual geometries of the optimization. >molden MOLDEN/molden.all
15. Use the buttons Next or Movie to switch between them. The button “Geom. Conv.” opens
a window showing additional information about the convergence.
4. MRCI conical intersection search
In this section we will optimize the conical intersection between states S1 and S2 at
MRCI level for methaniminium cation CH2NH2+. The reference space for the MRCI contains
four electrons in three orbitals [MRCI(4,3)] (see Fig. 1). This calculation is done on the top of
the MRCI(4,3) geometry optimization calculation performed in section 3 with the geom file
and converged orbitals from the calculation in section 2. The 6-31G* basis set and no
symmetry will be used (C1 point group).
4.1 Basic input
1. In the TUTORIAL directory create a subdirectory called CNH4_MRCI43_C1_MXS
2. Move to this directory and copy the input files:
>cp ../CNH4_MRCI43_C1_OPTS1/* .
>cp ../CNH4_MRCI43_C1_SP/geom .
3. Copy the molecular orbital file generated in the MCSCF calculation.
>cp ../CNH4_CAS43_C1_SP/MOCOEFS/mocoef_mc.sp mocoef
4.2 COLINP step: MRCI input
4. Run colinp
> $COLUMBUS/colinp
-> 4) CI input
...
press return to continue<enter>
-> 5) Skip DRT input (old input files in the current directory)
If the input from the geometry optimization is used, we can skip the DRT input.
Choose CI program: sequential ciudg [1]; parallel ciudg[2] [ ] 1
5. At the last panel we should change NROOT from 1 to 3, since for this example we will be
interested in the NAD coupling between first (2) and the second excited state (3).
State(s) to be optimized NROOT [3 ] ROOT TO FOLLOW [0]
8
COLUMBUS tutorial
FINISHED [<ENTER>]
6. Next we do have to choose transition between states. We should mark these between
states of our interest (in our example S1 to S2). Let’s do so…
symmetric and antisymmetric transition moment selections
(select one or more transitions)
-> 6) [X] bra: DRT# 1 state# 2 ket: DRT# 1 state# 3
… and go back to the first point …<ENTER>
cigrdin exists. Do you want to overwrite it? (y|n)y
Sometimes the job ended by showing error occurred in cidrtms.pl erno=256, check runc.error
but you again run $COLUMBUS/colinp and continue with the next point
4.3 Running a single point non-adiabatic coupling vector calculation
7. Enter the job control menu 5) Set up job control
8. Select 1) Job control for single point or gradient calculation
You have an existing job control file. Discard it? (y|n) y
9. If asked for discarding file select y
10. Select optimization on the crossing seam (GDIIS), and follow the input…
-> 6)optimization on the crossing seam or ISC (GDIIS)
Internal coordinate file exists, would you like to overwrite it? (y|n) n
Internal coordinates generated!
Press return to continue
┌-----------------------------------------------┐
|nadgdiis: Enter the number of optim. cycles:10 |<ENTER>
└-----------------------------------------------┘
The MXS search is an expensive type of calculation – better stay with smaller number and if
necessary change it later, during the restart
Starting orbitals from scf prior to mcscf? (y|n) n
Coupling at the SA-MCSCF (1) or MR-CI (2) level? (1|2) 2
Optimize a conical intersection (1) or intersystem crossing (2) ? (1|2)1
Activate CI restart after 2-nd geomopt. iter.? (y|n)n
Perform intersection analysis (slope)? (y|n)y
Fix one or more internal coordinates? (y|n) n<ENTER>
11. Leave input facility. See how the control.run file looks like. You should see:
niter = 10
slope
hermit
mcscf
ciudg
ciudgmom
nadcoupl
gdiis
12. Run Columbus with the SLURM script and analyze the results
9
COLUMBUS tutorial
> sbatch SLURM_col_ssh
4.4 Checking the results
13. As in all cases we can see what is actually going on with our calculations by looking on
standard output or in our case on the “runls” file where standard output was redirected.
COLUMBUS is also providing a graphical visualization of the convergence behavior of the
calculation in the form of a MOLDEN file. The convergence information is written in the
file: MOLDEN/molden.all. To visualize ongoing optimization run molden:
>molden MOLDEN/molden.all&
14. Check the convergence of the MRCI calculation in the LISTINGS/ciudgsm.sp file
15. The convergence of the geometry optimization can be checked in the file
LISTINGS/gdiisls.all
16. The final results may be found in the GRADIENTS directory. The coupling terms in
cartesian coordinates calculated between states 2 and 3 may be found in the file cartgrd.nad.drt1.state2.drt1.state3.sp
17. The coupling terms in internal coordinates are located in the file
intgrd.nad.drt1.state2.drt1.state3.sp
18. The very nice summary of calculations is given in the file
LISTINGS/slopels.drt1.state2.drt1.state3
19. Similar to the standard optimization all points during optimization and the optimized
geometry (“geom.min”) in COLUMBUS format can be found in GEOMS directory.
10
Tutorial II. Multireference Calculations on Biradical Systems
1. MCSCF single point calculation with symmetry
The π-conjugated open-shell phenalenyl possess D3h symmetry. However, for practical reasons, C2v symmetry will be used. The molecule is arranged in the yz-plane where the C2 axis is along the z-direction. In this orientation, π orbitals belong to the a2 and b1 irreducible representations. For the calculation, a complete active space composed by seven electrons in seven orbitals [CASSCF(7/7)] and all the occupied and virtual σ orbitals will be frozen at the MCSCF level. 6-31G* basis set will be used. We will study natural orbital occupation and the density of unpaired electrons for the ground state.
1.1. Orbital occupation and DRT table: System: Phenalenyl (C13H9) Point Group: C2v
N. Electrons: 87 Level: π-MR-AQCC(7,7)/CASSCF(7,7)
IRREP a1 b1 b2 a2 SCF DOCC 21 4 16 2 OPSH 0 0 0 1 MCSCF FRZC
DOCC 21 0
0 2
16 0
0 1
RAS CAS 0 4 0 3 AUX
FRZV
60 0
51
0
MRCI FC 0 0 0 0 FV 0 0 0 0 DOCC 0 2 0 1 ACT 0 4 0 3 AUX 0 0 0 0 INT 0 6 0 4
11
State Multiplicity N. electrons Symmetry 1 2 87 A2
Number of distinct row tables (DRTs): 1 1.2. Geometry file
1. Make a directory PHENALENYL. Go to that directory and in that directory create subdirectory PHENALENYL_CAS_SP and move to that directory and copy geom.uniq file from /home/cic2016/INPUT/PHENALENYL/ directory.
1.3. COLINP integral input
2. Run colinp
> $COLUMBUS/colinp
-> 1) Integral program input (for argos/dalton/turbocol/molcas) 1.4. COLINP step: SCF input
3. Select option 2) SCF input
.... Do you want a closed shell calculation ?<YES>n Input the no. of doubly occupied orbitals for each irrep, DOCC: 21 4 16 2 Input the no. of open shell orbitals for each irrep, OPSH: 0 0 0 1 1.5. COLINP step: MCSCF input
4. Select option 3) MCSCF input
Freeze orbitals prior to MCSCF (no gradients available) [y|n]y .... multiplicity for DRT #1 2 ! we want to calculate a doublet spatial symmetry for DRT #1 4 ! Representation A2 (see Orbital
occupation table) ....
Put all the information according to the DRT table.
1.6. Running a MCSCF single point job
5. Select option 5) Set up job control <ENTER>
6. Select option 1) Job control for single point or gradient calculation<ENTER>
7. Select option 1) single point calculation<ENTER>
8. Choose option 2) [X] SCF 3) [X] MCSCF 13) [X] convert MOs into molden format Do you want to freeze orbitals prior to MCSCF? (y|n)y
12
9. Exit the input facility.
10. Copy SLURM_col_ssh file from home/cic2016/INPUT/TUTORIAL/ directory and finally run
Columbus with this SLURM script and analyze the results
> sbatch SLURM_col_ssh
2. Parallel MR-AQCC single point calculation with symmetry
In this section we will perform a single point calculation at MR-AQCC level for the ground 12A2 state of the phenalenyl. The reference space for the MR-AQCC contains seven electrons in seven orbitals. This calculation is done on the CASSCF(7,7) calculation performed in section 1. The C2v point group and 6-31G* basis set will be used. All occupied and virtual σ orbitals will be frozen at the MCSCF level.
2.1 Basic input
1. In the PHENALENYL directory create subdirectory PHENALENYL_1A2_AQCC_SP. Move to that directory and copy the input files from the MCSCF directory.
> cp ../PHENALENYL_CAS_SP/* .
2. Copy the molecular orbital file generated in the MCSCF calculation.
> cp ../PHENALENYL_CAS_SP/MOCOEFS/mocoef_mc.sp mocoef
In this job we will skip the SCF step. Therefore a molecular orbital file should be provided. The default name for this file is “mocoef”.
2.2 COLINP step: MRCI input > $COLUMBUS/colinp -> 4) CI input
It is strongly recommended to use the orbital occupation table during the input.
CI WAVE FUNCTION DEFINITION ... press return to continue<ENTER> -> 1) Def. of CI wave function - one-DRT case 3. The orbital occupation and DRT information is defined in the following options:
..... Enter the multiplicity2 <ENTER>! we want to calculate a doublet Enter the number of electrons13<ENTER>! only π electrons, all σ are frozen at the MCSCF level
13
Enter the molec. spatial symmetry4<ENTER>! Representation‘a2’ in C2v....
4. The job summary should look like this now:
Multiplicity:2 #electrons:13 Molec. symm.:a2
count order (bottom to top): fc-docc-active-aux-extern-fvirreps a1 b1 b2 a2# basis fcts 0 29 0 23 Enter the multiplicity 2 frozen core 0 0 0 0 frozen virt 0 0 0 0 internal 0 6 0 4 ref. docc. 0 2 0 1 ci active 0 4 0 3 ci auxiliary 0 0 0 0 external 0 23 0 19
exc.level:2 gen.space:y allowed ref. syms:4
5. Proceed with the input:
Apply additional group restrictions for DRT [y|n]n <ENTER>
Choose CI program: sequential ciudg [1]; parallel ciudg[2]2 <ENTER>
Type of calculation: CI [n] AQCC [y] AQCC-LRT [N] LRT shift: LRTSHIFT [0 ] State(s) to be optimized NROOT [1 ] ROOT TO FOLLOW [0] Reference space diagonalization INCORE[Y] NITER [ ]
RTOL [1e-3, ] Bk-procedure: NITER [1 ] MINSUB [1 ] MAXSUB [6 ]
RTOL [1e-3, ] CI/AQCC procedure: NITER [20 ] MINSUB [3 ] MAXSUB [6 ]
RTOL [1e-3, ]
parallel options NCPU [6 ] MAX. MEMORY PER PROCESS (MB) [5000 ] EFF. AVERAGE BANDWIDTH (MB/(s*ncpu)) [300 ] INTEGRAL FILES ON DISK: [N] NUMBER OF PROCESSORS PER NODE [6 ]
FINISHED [y]
6. Pre-segmentation
Do you want to: [0] Keep default ciudgin file [1] Perform customization using cidrt.x, makpciudg.x, cimkseg.x [2] Run programs in batchmode (and return to [3] afterwards) [3] Call only pscript (use this if [1] or [2] was already called) Choice: [1]
14
2.3 Running a MRCI single point job
7 Enter the job control menu and select 5) Set up job control <ENTER> 8 Select a single point job: 1) Job control for single point or gradient
calculation <ENTER> 9 If you have copied the files from your MCSCF calculation, COLUMBUS recognizes your
old job control file and asks you whether to discard it or not. In this case type y <ENTER>. 10 Select single point calculation 1) single point calculation 11 Choose the following options: 3) [X] MCSCF
6) [X] MR-CISD (parallel operation) 13) [X] convert MOs into molden format
Be careful to not to choose SCF and to have the right mocoef file in your directory. Do you want to freeze orbitals prior to MCSCF? (y|n) y
12 Exit the input facility.
13 Copy SLURM_col_ssh file from /home/cic2016/INPUT/PHENALENYL/ directory. cp: overwrite ‘./SLURM_col_ssh’? y
14 Run Columbus with this SLUM script and analyze the results. > sbatch SLURM_col_ssh
2.4 Unpaired density
In this section we will study how to calculate the density of unpaired electrons for the ground state of phenalenyl. For this purpose
> $COLUMBUS/colinp -> 6) Utilities
15. And then choose
-> 8) Electrostatic potential and (Att./Det.) densities
elpotin does not exist, do you want to create it now? (y|n) y
16. Then choose -> 4) Density of unpaired electrons, non-linear: n -> n^2*(2-n)^2 step size [ 0.25 ] :<ENTER> buffer outside the molecule, x-direction [ 2.0 ] : <ENTER> buffer outside the molecule, y-direction [ 2.0 ] : <ENTER> buffer outside the molecule, z-direction [ 4.0 ] : <ENTER>
17. Then choose the option
-> 1) MOCOEFS/nocoef_ci.drt1.state1.sp
18. Then you will see
15
Input files created in ELPOT execute: $COLUMBUS/potential.x -m 1700 > potential.out
press return to continue 19. Copy this command and <ENTER> 20. Then exit the colinp section and mv to ELPOT directory and run
>$COLUMBUS/potential.x -m 1700 > potential.out & 21. This will produce nudens.cube file. Open it in VMD and see the plot of unpaired density for
the ground state of phenalenyl
Fig.1. Density of unpaired electrons for the 12A2 state of phenalenyl (isovalue is 0.005 e bohr-3). 22. For the numerical value, copy the file dens_ana.in form
/home/cic2016/INPUT/PHENALENYL directory and run >analyze_sden.py > dens_ana.out &
In the file dens_ana.out you can see the value nun1 (NU=1.34 e) which is the number of effectively unpaired electrons and also on each atom. For more details please visit: http://theodore-qc.sourceforge.net/ 3. AQCC Single point calculation of the singlet and triplet state of Zethrene The zethrene (C28H16) has the C2h symmetry. The molecule is arranged in the xy-plane with the long axis along the y-direction and the C2 axis along the z direction. In this orientation, π orbitals belong to the a2 and b1 irreducible representations. For the calculation, a complete active space composed by four electrons in four orbitals [CASSCF(4/4)] and 6-31G* basis set will be used. All the occupied and virtual σ orbitals will be frozen at the MCSCF level. We will calculate both the singlet 11Ag and the triplet 13Bu energies and the vertical singlet-triplet gap [E(13Bu) − E(11Ag)] of zethrene using the MR-AQCC(4,4)/CASSCF(4,4) method and also study the natural orbital occupation of each state and the density of unpaired electrons.
16
3.1. Orbital occupation and DRT table: System: Zethrene (C28H16) Point Group: C2h
N. Electrons: 184 Level: π-MR-AQCC(4,4)/CASSCF(4,4)
IRREP ag bu au bg SCF DOCC 39 39 7 7 OPSH MCSCF FRZC
DOCC 39 0
39 0
0 6
0 6
RAS CAS 0 0 2 2 AUX
FRZV
117
117 0
0
MRCI FC 0 0 0 0 FV 0 0 0 0 DOCC 0 0 6 6 ACT 0 0 2 2 AUX 0 0 0 0 INT 0 0 8 8
State Multiplicity N. electrons Symmetry 1 1 184 Ag
Number of distinct row tables (DRTs): 1 3.2. Geometry file and some other information 1. Make a directory ZETHRENE. Go to that directory and create two subdirectories ZETHRENE_AQCC_1AG and ZETHRENE_AQCC_3BU. Move one of the directory and copy geom.uniq file from the /home/cic2016/INPUT/ZETHRENE/ directory.
17
2. The calculation for each state, we will do separately but the SCF step for each state is identical with the ground singlet 11Ag state. 3. During the CI input, remember that the no. of electrons is 28 because we already freeze 39 ag and 39 bu orbitals at the MCSCF level, so the remaining electron is (184 - 78*2). 4. Copy the SLUM script from the /home/cic2016/INPUT/ZETHRENE/ directory and submit the job. Check by the squeue command whether it finish or not. 5. Do for both the singlet (11Ag) and the triplet (13Bu) states and then calculate the singlet-triplet gap and check natural orbital occupation for each state. 6. For the numerical value of the density of unpaired electrons, copy dens_ana.in file from /home/cic2016/INPUT/ZETHRENE/SINGLET/ and /home/cic2016/INPUT/ZETHRENE/TRIPLET/ directories.
18
Tutorial III. Excited States and Conical Intersection
1. Parallel MRCI single point calculation with symmetry
In this section we will perform MRCI calculation using the parallel program. We will explore different load balancing schemes that allow for the possibility of performing massively parallel calculation. The calculation will be performed for the trans-penta-3,5-dieniminium cation (PSB3). The MCSCF calculations will be carried out using a complete active space with six electrons in six orbitals [CASSCF(6,6)] averaging over the two lowest singlet states (denoted as SA-2). For the MRCI calculations a CASSCF(4,5) reference space was chosen [denoted as MRCI(4,5)]. The 6-31G* basis set and CS symmetry will be used. This example, containing about more than 11 million configurations, can be easily computed on a standard node with 2 CPUs. Note that larger expansions may need a significantly larger amount of memory and the calculation would have to be distributed over more nodes.
1.1 Orbital occupation and DRT table: System: PSB3 Point Group: CS
N. Electrons: 44 Level: MRCI(4,5)/CASSCF(6,6)
IRREP aʹ aʺ SCF DOCC 19 3 OPSH 0 0 MCSCF FRZC
DOCC 0 18
0 1
RAS CAS 2 4 AUX
FRZV 0
0
MRCI FC 6 0 FV 0 0 DOCC 13 1 ACT 1 4
19
AUX 0 0 INT 14 5
State Multiplicity N. electrons Symmetry 1 2
1 1
44 44
Aʹ Aʹ
Number of distinct row tables (DRTs): 1 1.2 Geometry file
1 Make a directory PSB3. Go to that directory and in that directory create subdirectory PARALLEL_PERFORMANCE and move to that directory. Make a directory TRANS_MRCI45_CS_SP_2CPU and copy geom.uniq file from /home/cic2016/INPUT/PSB3/ directory.
1.3 COLINP integral input
2 Run colinp
> $COLUMBUS/colinp
-> 1) Integral program input (for argos/dalton/turbocol/molcas) 1.4 COLINP step: SCF input
3 Select option 2) SCF input
.... Do you want a closed shell calculation ?<YES>y Input the no. of doubly occupied orbitals for each irrep, DOCC:
19 1.5 COLINP step: MCSCF input
4 Select option 3) MCSCF input
Freeze orbitals prior to MCSCF (no gradients available) [y|n]n prepare input for no(0),CI(1), MCSCF(2), SA-MCSCF(3) analytical gradient1
.... number of electrons for DRT #1 (nucl. charge: 45)44
! nuclear charge: 45, 44 electrons -> net charge +1 multiplicity for DRT #1 1 ! we want to calculate a singlet spatial symmetry for DRT #1 1 ! Representation Aʹ (see Orbital
occupation table) .... State-averaging DRT 1: #states [2 ] weights[ 1,1 ] transition moments / non-adiabatic couplings [N] FINISHED [y]
Put all the information according to the DRT table.
1.6 COLINP step: MRCI input
20
5 Select option 4) CI input
It is strongly recommended to use the orbital occupation table during the input.
CI WAVE FUNCTION DEFINITION ... press return to continue<ENTER> -> 1) Def. of CI wave function - one-DRT case 6 The orbital occupation and DRT information is defined in the following options:
Do you want to compute gradients or non-adiabatic couplings? [y|n] n
.....
Enter the multiplicity1 <ENTER>! we want to calculate a doublet Enter the number of electrons44<ENTER>! Enter the molec. spatial symmetry1<ENTER>! Representation‘aʹ’ in Cs .... 7 The job summary should look like this now:
Multiplicity:1 #electrons:44 Molec. symm.:a' count order (bottom to top): fc-docc-active-aux-extern-fv irreps a' a" # basis fcts 76 24 Enter the multiplicity [ 1] frozen core 6 0 frozen virt 0 0 internal 14 5 ref. docc. 13 1 ci active 1 4 ci auxiliary 0 0 external 56 19 exc.level:2 gen.space:y allowed ref. syms:1
8 Proceed with the input:
Apply additional group restrictions for DRT [y|n]n <ENTER> Choose CI program: sequential ciudg [1]; parallel ciudg[2]2 <ENTER>
Type of calculation: CI [Y] AQCC [N] AQCC-LRT [N]
LRT shift: LRTSHIFT [0 ]
State(s) to be optimized NROOT [2 ] ROOT TO FOLLOW [0]
Reference space diagonalization INCORE[Y] NITER [ ]
RTOL [1e-3,1e-3, ]
Bk-procedure: NITER [1 ] MINSUB [2 ] MAXSUB [7 ]
RTOL [1e-3,1e-3, ]
CI/AQCC procedure: NITER [40 ] MINSUB [4 ] MAXSUB [7 ]
RTOL [1e-3,1e-3, ]
21
parallel options NCPU [2 ]
MAX. MEMORY PER PROCESS (MB) [6000 ]
EFF. AVERAGE BANDWIDTH (MB/(s*ncpu)) [300 ]
INTEGRAL FILES ON DISK: [N]
NUMBER OF PROCESSORS PER NODE [2 ]
FINISHED [y]
MAXSUB- this determines the maximum number of CI-vectors stored in memory and therefore the amount of memory needed
NCPU- number of processors
MAX. MEMORY PER PROCESS-this should be somewhat lower than the physical memory available per CPU
EFF. AVERAGE BANDWIDTH- this will have some influence on the final segmentation scheme
INTEGRAL FILES ON DISK- it is recommended to choose “N” here, in order to make sure that the calculation time will not be determined by disc I/O
NUMBER OF PROCESSORS PER NODE- this is only of interest if the files are on disc
9 Do not select any transition moments
-> 1) (Done with selections)
10 Pre-segmentation
Do you want to: [0] Keep default ciudgin file [1] Perform customization using cidrt.x, makpciudg.x, cimkseg.x [2] Run programs in batchmode (and return to [3] afterwards) [3] Call only pscript (use this if [1] or [2] was already called) Choice: [1]
Here some heuristics are called that allow for an optimal segmentation of the CI-vector. [0] is only recommended for small calculations. [1] directly calls the preparation programs. For large calculations, [1] may take too much time to be running inside of colinp and [2] allows to run the programs in batchmode outside.
CIDRT calculation performed successfully total number of configurations: 11469930 makpciudg.x: DRT Integral filesizes in bytes diagint 163800 ofdg 8386560 fil3x 1 6776704 fil3w 17300976 fil4w 17300976 fil4x 1 6252432 Executing cimkseg.x, this may take several minutes, please wait... progress can be monitored in file cimkseg.info ... setting up prelimniary segmentation .... ncpu task coremem totvol tcomm bandwidth 2 17 751 1.91 GB 6.50 s 300.0 MB/s
22
pciudg (runc) must be called with at least -m 751
An important functionality of this script is determining the amount of memory needed. If you get an error message “not enough memory”, rerun it specifying a larger NCPU or more MEMORY PER PROCESS.
You can check the segmentation information in the ciudgin file
FILELOC = 1,1,2,2,2,2,2 CDG4EX =1, C2EX0EX=0,C3EX1EX=0 nseg4x=1,1,1,1 nnseg4= 1,5444,18518,21734 nseg3x=1,1,2,1 nnseg3= 1,5444,18518,20017,21734 nseg2x=1,1,1,1 nnseg2= 1,5444,18518,21734 nsegwx=1,1,2,1 nnsegwx= 1,5444,18518,20117,21734 nseg1x=1,1,4,1 nnseg1= 1,5444,18518,19317,20117,20917,21734 nseg0x=1,1,1,1 nnseg0= 1,5444,18518,21734 maxseg=7 &end
11 Change FILELOC = 1,1,2,2,2,2,2 to FILELOC = 1,2,2,2,2,2,2 This means off diagonal integral file is copied to global array by node 0, i.e. it must be present in the local WORK directory of node 0 only.
and maxseg=27 (increase by 20)
1.7 Running a parallel MRCI single point job
12 Enter the job control menu and select 5) Set up job control <ENTER> 13 Select a single point job: 1) Job control for single point or gradient
calculation <ENTER>
14 Select single point calculation 1) single point calculation
15 Choose the following options: 2) [X] SCF 3) [X] MCSCF
6) [X] MR-CISD (parallel operation) 13) [X] convert MOs into molden format
16 Exit the input facility. 17 Copy SLURM_col_ssh file from /home/cic2016/INPUT/PSB3/ directory. Run Columbus with
this SLUM script and analyze the results. > sbatch SLURM_col_ssh
23
sbatch is the command to submit the job. squeue is for checking the job, scancel <job_id> is to cancel the job.
Check in the SLURM_col_ssh script
#SBATCH --ntasks-per-node=2 ! number of CPU is 2
#SBATCH --mem-per-cpu=6500
RUNCOPTS="-msmp 23000 -m 6000 -debug 000000001" ! memory per process is 6000 MB
(since memory per process is 6000 MB we choose 500 MB more i.e., 6500 MB in memory per CPU)
The job should take about 12 minutes.
1.8 Checking the results
18 Check the convergence of the MRCI calculation in the LISTINGS/ciudgsm.sp file
19 Performance information in WORK/ciudg.perf and runls file you will see
pciudg.x -m 6000 walltime 0:11:50
(This value may vary slightly)
20 If we run the same job with the #SBATCH –exclusive command in the SLUM script i.e.,
using the exculsive node, we will see in the runls file
pciudg.x -m 6000 walltime 0:11:17
(This value may vary slightly)
1.9 Performance fine tuning
In this section the tools for performance fine tuning will be introduced. We could typically run this script after an MRCI calculation with only 3-4 iterations. According to the ciudg.perf file, by increasing the segmentation in the ciudgin file, we can increase the performance.
21 Here we will make the total memory fixed (2*6000=12000 MB) but only divide this memory into more CPUs i.e., for example, for 4 CPUs, we will use 3000 MB per CPU, for 6 CPUs, 2000 MB and so on and check how the performance looks like.
22 For this purpose we will make some directories like TRANS_MRCI45_CS_SP_4CPU …and
so on and copy the input files from the previous directory and skip the SCF step. >cp ../ TRANS_MRCI45_CS_SP_4CPU /* .
23 Copy the molecular orbital file generated in the MCSCF calculation.
>cp ../ TRANS_MRCI45_CS_SP_4CPU /MOCOEFS/mocoef_mc.sp mocoef
24 Run the colinp with the parallel MRCI calculation using 4 CPUs with 3000 MB per CPU according to the above mentioned scheme and delete in the control.run file the SCF option. Also change the SLURM script according to the memory requirement.
24
25 Check the performance and compare with the previous results
number of CPUs
memory/CPU(MB)
Total time /sec
Total time with exclusive node/sec
2 6000 710 677 4 3000 444 396 6 2000 332 301 12 1000 181 180 24 500 122 122
Note that the exact time may vary but the trend remains the same
2. Parallel MRCI geometry optimization with symmetry
This calculation is done on the top of the MRCI(4,5) single-point calculation performed in section 1 with 24 CPUs and 500 MB memory for each CPU. We will optimize the first excited state with 6-31G* basis set and having CS symmetry.
2.1 Basic input
1 In the PSB3 directory create a subdirectory called TRANS_MRCI45_CS_S1_OPT
2 Move to this directory and copy the input files from the directory:
>cp ../PARALLEL_PERFORMANCE/TRANS_MRCI45_CS_SP_24CPU_1/* .
3 Copy the molecular orbital file generated in the MCSCF calculation.
>cp ../PARALLEL_PERFORMANCE/TRANS_MRCI45_CS_SP_24CPU_1/MOCOEFS/mocoef_mc.sp mocoef 2.2 COLINP step: MRCI input > $COLUMBUS/colinp -> 4) CI input ... press return to continue<enter> -> 2) Def. of CI wave function - one-DRT case
25
Do you want to compute gradients or non-adiabatic couplings? [y|n] [ n] y 4 Proceed with the input as mentioned before. Choose CI program: sequential ciudg [1]; parallel ciudg[2]2 <enter> 5 The last panel change NROOT from 1 to 2. Do not select any transition moment. -> 1) (Done with selections) 2.3 Running a MRCI geometry optimization job 6 Enter 5) Set up job control
7 Select 1) Job control for single point or gradient calculation
8 If you have copied the files from your MCSCF calculation, COLUMBUS recognizes your old job control file and asks you whether to discard it or not. In this case type y <enter>.
9 Select 2) geometry optimization with GDIIS Internal coordinates generated! Press return to continue<enter> Enter the number of optim. cycles:10<enter>
10 Choose the following options: -> 4) [X] ci gradient Afterwards the program will ask for the starting orbitals: starting orbitals from scf prior to mcscf? (y|n)n <enter> 11 Exit the input facility. 12 Change the ciudgin segmentation according to the directory
TRANS_MRCI45_CS_SP_24CPU_1
13 Run Columbus with the SLURM script and analyze the results. It takes about 68 minutes to finish.
3. MCSCF conical intersection search In this section we will optimize the conical intersection between states S0 and S1 at MCSCF
level for PSB3. The MCSCF calculations will be carried out with CASSCF(6,6)] averaging over the two lowest singlet states (denoted as SA-2). The 6-31G* basis set and no symmetry will be used (C1 point group).
3.1 Basic input
1 Make the orbital occupation and the DRT table in C1 symmetry from the concept of section 1.1 which was based on CS symmetry
2 In the PSB3 directory create a subdirectory called TRANS_CAS66_C1_SP
26
3 Move to this directory and copy the geom file:
>/home/anita/cic_2016/INPUT/PSB3/geom .
4 Do the single point calculation with two states at the SA2-CASSCF(6,6) level. During the MCSCF input:
prepare input for no(0), CI(1), MCSCF(2), SA-MCSCF(3) analytical gradient 3
5 Copy the SLURM_col_ssh script from /home/cic2016/INPUT/TUTORIAL/ directory and run the calculation.
6 In the PSB3 directory create a subdirectory called TRANS_CAS66_C1_MXS
7 Move to this directory and copy the geom file and mocoef file from the previous MCSCF directory
>cp ../TRANS_CAS66_C1_SP/* . > cp ../TRANS_CAS66_C1_SP/MOCOEFS/mocoef_mc.sp mocoef
8 COLINP step: MCSCF input
Select option 3) MCSCF input
Freeze orbitals prior to MCSCF (no gradients available) [y|n][n] prepare input for no(0),CI(1), MCSCF(2), SA-MCSCF(3) analytical gradient
[3] Skip DRT input (y|n) [ 1] y .... Convergence 1. Iterations #iter [100] #miter [50 ] #ciiter [300] 2. Thresholds knorm [1.e-5 ] wnorm [1.e-5 ] DE [1.e-8 ] 3. HMC-matrix build explicitly [n] diagonalize iteratively [y] 4. Miscellaneous quadratic cnvg. [y] from #iter [5 ] ... only with wnorm < [1.e-3 ] Resolution (NO) RAS [NO ] CAS [NO ] AUX [NO ] State-averaging DRT 1: #states [2 ] weights[ 1,1 ] transition moments / non-adiabatic couplings [y] FINISHED [y ] cigrdin exists. Do you want to overwrite it? (y|n)y
9 Then select transition moment
(Done with selections) [ ] bra: DRT# 1 state# 1 ket: DRT# 1 state# 1 [X] bra: DRT# 1 state# 1 ket: DRT# 1 state# 2 [ ] bra: DRT# 1 state# 2 ket: DRT# 1 state# 2 10 Enter 5) Set up job control
11 Select 1) Job control for single point or gradient calculation
You have an existing job control file. Discard it? (y|n) y
27
Select optimization on the crossing seam (GDIIS), and follow the input…
-> 6)optimization on the crossing seam or ISC (GDIIS)
Internal coordinates generated!
Press return to continue
┌-----------------------------------------------┐
|nadgdiis: Enter the number of optim. cycles:40 |<ENTER>
Starting orbitals from scf prior to mcscf? (y|n) n Coupling at the SA-MCSCF (1) or MR-CI (2) level? (1|2) 1 Optimize a conical intersection (1) or intersystem crossing (2) ? (1|2)1 Perform intersection analysis (slope)? (y|n)y Fix one or more internal coordinates? (y|n) n<ENTER>
12 Run Columbus with the SLURM script and analyze the results
28