19.01.2015 Views

MOLPRO

MOLPRO

MOLPRO

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

55 ORBITAL MERGING 375<br />

55 ORBITAL MERGING<br />

Orbitals can be manipulated using the MERGE facility. For instance, this allows the construction<br />

of molecular orbitals from atomic orbitals, to merge and orthogonalize different orbital sets,<br />

or to perform 2 × 2 rotations between individual orbitals. Other orbital manipulations can be<br />

performed using the LOCALI program (see section 18) or the MATROP program (section 56).<br />

The merge program is called using<br />

MERGE [,namout.file]<br />

All subcommands described in the following sections may be abbreviated by three characters.<br />

namout.file specifies the output data set (see also SAVE command). If namout.file is omitted and<br />

no SAVE card is present, the new orbitals are not saved. All output orbitals must be supplied via<br />

ORBITAL and ADD, MOVE, EXTRA, or PROJECT directives before they can be saved.<br />

55.1 Defining the input orbitals (ORBITAL)<br />

ORBITAL,namin.file,specifications<br />

Reads an input orbital set from a dump record. specifications can be used to select specific<br />

orbital sets, as described in section 4.11. Subsets of these orbitals can be added to the output set<br />

by the ADD, MOVE, or EXTRA commands.<br />

55.2 Moving orbitals to the output set (MOVE)<br />

MOVE,orb1.sym1,orb2.sym2,orb3.sym3,ioff,fac,istart,iend<br />

Moves orbitals orb1.sym1 to orb2.sym2 from the input set to the first vector of symmetry sym3<br />

in the output set which is undefined so far. The first orb3-1 vectors in the output set are skipped<br />

regardless of whether they have been defined before or not. If sym2 > sym1, sym3 will run from<br />

sym1 to sym2 and the input for sym3 has no effect. If orb1.sym1 is negative, abs(orb1) is the<br />

maximum number of orbitals to be moved, starting with orbital 1.sym1, up to orb2.sym2. If<br />

orb2.sym2 is negative, abs(orb2) is the maximum number of vectors to be moved, starting at<br />

orb1.isym1 up to the last orbital in symmetry sym2.<br />

Orbitals from the input set which have already been moved or added to the output set are generally<br />

skipped. If orb1 and orb2 are zero, the whole input set is moved to the output set. In<br />

this case the input and output dimensions must be identical. If orb1 is nonzero but orb2 is zero,<br />

orb2 is set to the last orbital in symmetry sym2. If sym2=0, sym2 is set to sym1. ioff is an offset<br />

in the output vector, relative to the global offset set by OFFSET directive. fac has no effect for<br />

move. The elements istart to iend of the input vector are moved. If istart=0 and iend=0, the<br />

whole input vector is moved.<br />

The usage of the MOVE directive is most easily understood by looking at the examples given<br />

below. See also ADD and EXTRA commands.<br />

55.3 Adding orbitals to the output set (ADD)<br />

ADD,orb1.sym1,orb2.sym2,orb3.sym3,ioff,fac,istart,iend<br />

This adds orbitals orb1.sym1 to orb2.sym2 to the output vectors, starting at orb3.sym3. The<br />

input vectors are scaled by the factor fac. If fac=0, fac is set to 1.0. For other details see

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

Saved successfully!

Ooh no, something went wrong!