From daizadeh@indigo.ucdavis.edu  Fri Oct 31 17:34:24 1997
Received: from indigo.ucdavis.edu  for daizadeh@indigo.ucdavis.edu
	by www.ccl.net (8.8.3/950822.1) id QAA02007; Fri, 31 Oct 1997 16:40:30 -0500 (EST)
Received: by indigo.ucdavis.edu (940816.SGI.8.6.9/940406.SGI.AUTO)
	 id NAA10221; Fri, 31 Oct 1997 13:42:24 -0800
From: "Iraj Daizadeh" <daizadeh@indigo.ucdavis.edu>
Message-Id: <9710311342.ZM10219@indigo.ucdavis.edu>
Date: Fri, 31 Oct 1997 13:42:03 -0800
X-Mailer: Z-Mail (3.2.0 26oct94 MediaMail)
To: Doug Fox <fox@gaussian.com>, chemistry@www.ccl.net
Subject: Solution.  Print out of MOs from two different sets:
Cc: fink@indigo.ucdavis.edu, Ahmed Bouferguene <boufer@CeNNAs.nhmfl.gov>,
        John McKelvey <McKelvey@kodakr.kodak.com>,
        Stephan Irle <irle@terra.chem.emory.edu>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii


Hello.

The overall project was to simply construct an overlap matrix of MO's from
different sets.  I have summarized replies to the previous message I submitted
(utter nonsense!).

The problem was to save the MO's from an initial run of Gaussian.  Then during
a second run read these in and project onto them atomic overlaps and the MOs of
the current calculation.  Lets take a closer look at the problem:

	Example:

	 trivial model system H-H+
run 1
H -- H+     -- > coefficients of expansion of MO's print out from G94

run2
H+--H       -- > read in MO's from checkpoint file and construct:

		(Smo)ij  = sum_{mu,nu}  Cmu,i  * (Sao)mu,nu  * Cnu,j

Now to do this I did the following:

		First I printed out the coefficients of Mo's from the first run
by introducing a link into G94 called l612.F.  The line is shown below:

      Call FileIO (2,-IRwCa,NBSq,V,0)
      do 200 i=1,NBsq
200     write (IUnitA,2010) V(i)

2010    format (E40.30)

		Also I print out Overlap matrix over atomic orbitals:

      NTT = Nbasis*(NBasis+1)/2
      Call FileIO(2,-IRwSao,NTT,V,0)
      do 211 i=1,NTT
211     write (IOvlp,2010) V(i)

Now I rerun G94 and print out the IRwCa again for the new molecule.


(BE WARNED: Fortran is the transpose of C/C++; that is: F(i,j) = C[j][i];)

In my C code I construct the overlap matrix myself.  This is a very cumbersome
method for doing this but it works!!!  Now for the C_{pho,k}'s from the same
calculation, of course, the Smo Matrix should be unitary.  But for different
combinations of MO set this is not the case *yet some symmetry should be there
** it depends on your system of course ** *.

This is my no means the best possible methodology I would appreciate any other
solutions.  Any comments, questions, or suggestions would be appreciated.

Iraj.



Hi Iraj,

Use the option IOP(3/33=1).

***********************************************************************
*    Lorsque la chance s'envole,                                      *
*               Lorsque la raison decole,                             *
*                          Il nous reste la picole.                   *
***********************************************************************

                                                       Ahmed Bouferguene


---
Hi Iraj,

Yes the matrix you get is the matrix S_{\mu , \nu} which is the overlap
between atomic orbitals. Now, the overlap between molecular orbitals, if
my memory is still good should be zero since this is one of the
constraint in the derivation of the Hartree-Fock equation.

                                                       Ahmed Bouferguene


--

   Add IOP(3/33=1) to get all of the one electron operator matrices in
the log file.

Doug Fox
--
Hi Iraj,

as far as I know there is no such option. However, the overlap
between different sets of orbitals during an SCF calculation is
evaluated if you set iop(5/14=1) and scf=dm which will activate
the conventional (and very slow) direct minimization technique
proposed by Seeger and Pople (J. Chem. Phys., 65 (1976), 265-271)
in L503.

You may want to cut out the responsible part of the code (mainly
subroutine BESSRT) and wrap your own code (reading of MO input,
overlap matrix etc.) around it.

I would very much appreciate if you could post a summary if you
get more replies on this topic.

Stephan Irle
--

G9x does exactly this automatically (default,) I believe.

John

   If the intention is to use this as an initial guess it is done by
default.

Doug Fox
--

  Iraj,

   If the point is to get this into the checkpoint file you can use,

%chk=mychk
#  ...  Guess=(Read,Save,Only)

which will pick up the previous MO's, project onto the new basis set,
save them to the checkpoint file and then only do properties before
quiting.  Then you could pick them up from the checkpoint file for visualizing
etc.
--



-- 
Iraj Daizadeh
Department of Chemistry
University of California
One Shields Ave.
Davis, CA  95616-5295
Phone:  916.754.8695
Fax:    916.752.8995
email:  daizadeh@indigo.ucdavis.edu

