From chemistry-request ":at:" server.ccl.net Fri Aug 16 13:46:32 2002 Received: from f04n07.cac.psu.edu ([128.118.141.35]) by server.ccl.net (8.11.6/8.11.0) with ESMTP id g7GHkWo27464 for ; Fri, 16 Aug 2002 13:46:32 -0400 Received: from psu.edu (amoeba.chem.psu.edu [128.118.172.90]) by f04n07.cac.psu.edu (8.9.3/8.9.3) with ESMTP id NAA87004 for ; Fri, 16 Aug 2002 13:46:32 -0400 Message-ID: <3D5D3A78.7CEFE901-: at :-psu.edu> Date: Fri, 16 Aug 2002 13:46:35 -0400 From: Ed Brothers Reply-To: enb108 \\at// psu.edu Organization: PSU Merz Group X-Mailer: Mozilla 4.61 (Macintosh; I; PPC) X-Accept-Language: en,pdf MIME-Version: 1.0 To: chemistry ":at:" ccl.net Subject: Summary of "rotating a density matrix" Content-Type: text/plain; charset=us-ascii; x-mac-type="54455854"; x-mac-creator="4D4F5353" Content-Transfer-Encoding: 7bit Several people ask me to forward the result, so here is s summary. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC It should not be too difficult. Remembering that the wave function in one spatial orientation must be equivalent to that in a different one Psi (0) = C(0)*1*Chi(0) C=SCF coefficients Chi=atomic orbitals 1 = R**(-1) * R C(u) = R**(-1)*C(0) where u represents the new orientation In other words, if you rotate the orbitals one way, you rotate the coefficients the opposite. R = 3x3 rotation matrix to go from the 0th geometry to a different one, u. Now the 1S and 2S coefficients will not change, but the Px, Py, and Pz will. So, for each set of X,Y,Z AO coefficients on each atom apply the inverse of the 3x3 R matrix. Easy to write a simple code for this. Then recompute the density.. I hope this helps.. John McKelvey CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC If you can express your density matrix into MOs (it should be no problem with AM1 and PM3) then you just has to build a rotation matrix over atoms (choose 3 atoms to define a reference frame and calculate the angles that transform this frame from a geometry to another) that you can apply on the basis functions. I used to build such matrices for s, p and d functions in order to rotate some localized orbitals. See J.Comp.Chem. 23(6) 2002, 610-624 But be careful to keep the norm of your functions through the rotations. Hope this helps. Nicolas -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Nicolas FERRE' (PhD) CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC I'm not sure the format of the density matrix you need to transform. If you have this in the Gaussian 'density cube' format (the usual output of the density keyword I believe) then I have a very simple Fortran utility that can transform the orientation for you. Let me know and I can send it. If you have some other format, then I'm afraid I'm no help. Brent Krueger CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC My thanks to everyone who sent me a response. Ed.