19.01.2015 Views

MOLPRO

MOLPRO

MOLPRO

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

6 PROGRAM CONTROL 36<br />

Certain important input data can be passed to the program using variables. For instance, occupancy<br />

patterns, symmetries, number of electrons, and multiplicity can be defined in this way<br />

(see section 8.8 for more details). This allows the quite general use of procedures. For example,<br />

assume the following procedure has been defined at the top of the input:<br />

PROC MRCI<br />

IF (INTDONE.EQ.0) INT<br />

IF (SCFDONE.EQ.0) THEN<br />

SCF<br />

ENDIF<br />

MULTI<br />

CI<br />

ENDPROC<br />

This procedure can be used for a calculation of a vertical ionization potential of H 2 O as follows:<br />

R=1 ANG !Set bond distance<br />

THETA=104 DEGREE !Set bond angle<br />

BASIS=VTZ<br />

GEOMETRY<br />

O<br />

H1,O,R<br />

H2,O,R,H1,THETA<br />

ENDG<br />

HF<br />

MRCI<br />

EH2O=ENERGY<br />

!Define basis set<br />

!Geometry input block<br />

!Z-matrix<br />

!End of geometry input<br />

!Compute mrci energy of water using defaults<br />

!save mrci energy in variable EH2O<br />

SET,NELEC=9 !Set number of electrons to 9<br />

SET,SYMMETRY=2 !Set wavefunction symmetry to 2<br />

HF<br />

MRCI<br />

!Compute mrci energy of H2O+ (2B2 state)<br />

IPCI=(ENERGY-EH2O)*TOEV<br />

!Compute MRCI ionization potential in eV<br />

Note: At present, all variables are global, i.e., variables are commonly known to all procedures<br />

and all variables defined in procedures will be subsequently known outside the procedures as<br />

well. The reason is that procedures are included into the internal input deck at the beginning of<br />

the job and not at execution time; for the same reason, variable substitution of procedure names<br />

is not possible, e.g. one cannot use constructs like<br />

method=scf<br />

$method<br />

!this does not work!<br />

6.9 Text cards (TEXT)<br />

TEXT,xxxxxx<br />

will just print xxxxxx in the output. If the text contains variables which are preceded by a dollar<br />

($), these are replaced by their actual values, e.g.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!