Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
properties_and_expectation_values [2020/06/16 14:30] – link to duplicate example may | properties_and_expectation_values [2024/08/22 09:22] (current) – [Dipole fields (DIP)] peterk | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Properties and expectation values ====== | ||
+ | |||
+ | ===== The property program ===== | ||
+ | |||
+ | The property program allows the evaluation of one-electron operators and expectation values. Normally, the operators are computed automatically when using the global '' | ||
+ | |||
+ | ==== Calling the property program (PROPERTY) ==== | ||
+ | |||
+ | '' | ||
+ | |||
+ | invokes the property program. | ||
+ | |||
+ | ==== Expectation values (DENSITY) ==== | ||
+ | |||
+ | '' | ||
+ | |||
+ | If this card is present, the density matrix will be read from record | ||
+ | |||
+ | ==== Orbital analysis (ORBITAL) ==== | ||
+ | |||
+ | '' | ||
+ | |||
+ | If this card is present, the orbitals are read from record // | ||
+ | |||
+ | ==== Specification of one-electron operators ==== | ||
+ | |||
+ | The required operators are specified by code words. Optionally, the geometry or the nuclear centre at which the operator is computed can be specified. | ||
+ | |||
+ | For each operator, an input card of the following form is required: | ||
+ | |||
+ | // | ||
+ | |||
+ | //code// specifies the property. The available operators are given in section [[program control# | ||
+ | |||
+ | The other parameters have the following meaning: | ||
+ | |||
+ | * **// | ||
+ | * **// | ||
+ | * **// | ||
+ | |||
+ | ==== Printing options ==== | ||
+ | |||
+ | '' | ||
+ | |||
+ | This card is used to control output, mainly for debugging purposes. | ||
+ | |||
+ | * **// | ||
+ | * **// | ||
+ | |||
+ | ==== Examples ==== | ||
+ | |||
+ | The following example computes the dipole quadrupole moments of water and prints an orbital analysis. By default, the origin is at the centre of mass, and this is taken as origin for the quadrupole moments. | ||
+ | |||
+ | <code - examples/ | ||
+ | ***,h2o properties | ||
+ | geometry={o; | ||
+ | r=1 ang !bond length | ||
+ | theta=104 | ||
+ | hf !do scf calculation | ||
+ | property | ||
+ | orbital | ||
+ | density | ||
+ | dm !compute dipole moments and print orbital contributions | ||
+ | qm !compute quadrupole moments and print orbital contributions | ||
+ | {multi; | ||
+ | natorb, | ||
+ | natorb, | ||
+ | |||
+ | {property | ||
+ | orbital, | ||
+ | density, | ||
+ | dm !compute dipole moments and print orbital contributions | ||
+ | qm} !compute quadrupole moments and print orbital contributions | ||
+ | |||
+ | {property | ||
+ | orbital, | ||
+ | density, | ||
+ | dm !compute dipole moments and print orbital contributions | ||
+ | qm} | ||
+ | </ | ||
+ | |||
+ | Alternatively, | ||
+ | |||
+ | <code - examples/ | ||
+ | ***,h2o properties | ||
+ | geometry={o; | ||
+ | r=1 ang !bond length | ||
+ | theta=104 | ||
+ | gexpec, | ||
+ | hf !do scf calculation | ||
+ | {multi; | ||
+ | natorb, | ||
+ | natorb, | ||
+ | </ | ||
+ | |||
+ | There is a another example described in the [[program_control# | ||
+ | |||
+ | <code - examples/ | ||
+ | ***,H2O properties | ||
+ | r=1.85 | ||
+ | theta=104 | ||
+ | geometry={o; | ||
+ | Basis={ | ||
+ | s, | ||
+ | p, | ||
+ | d, | ||
+ | s, | ||
+ | |||
+ | gexpec, | ||
+ | |||
+ | hf !closed-shell SCF | ||
+ | |||
+ | pop | ||
+ | |||
+ | {dma !distributed multipole analysis using scf density | ||
+ | limit,, | ||
+ | |||
+ | multi !full valence CASSCF | ||
+ | |||
+ | {pop; | ||
+ | individual} | ||
+ | |||
+ | {dma; | ||
+ | limit,, | ||
+ | |||
+ | {ci !MRCI with casscf reference | ||
+ | natorb, | ||
+ | dm, | ||
+ | |||
+ | {pop; | ||
+ | individual} | ||
+ | |||
+ | {property; | ||
+ | density, | ||
+ | orbital, | ||
+ | qm; | ||
+ | --- | ||
+ | </ | ||
+ | |||
+ | ===== Distributed multipole analysis ===== | ||
+ | |||
+ | Any density matrix can be analysed using the distributed multipole analysis described by Stone, [[https:// | ||
+ | |||
+ | Options may appear in any order, except '' | ||
+ | |||
+ | The present version does not allow generally contracted AO basis sets. | ||
+ | |||
+ | ==== Calling the DMA program (DMA) ==== | ||
+ | |||
+ | '' | ||
+ | |||
+ | This command initializes the DMA program. | ||
+ | |||
+ | ==== Specifying the density matrix (DENSITY) ==== | ||
+ | |||
+ | '' | ||
+ | |||
+ | The density matrix to be analysed is that found in record //record// on file //file//. If omitted, // | ||
+ | |||
+ | ==== Linear molecules (LINEAR, GENERAL) ==== | ||
+ | |||
+ | '' | ||
+ | |||
+ | (default) invokes the normal program, which copes with any geometry. | ||
+ | |||
+ | '' | ||
+ | |||
+ | invokes a faster program which can be used when all the atoms are arranged parallel to the $z$-axis and only the $m=0$ components of the multipoles are required. | ||
+ | |||
+ | ==== Maximum rank of multipoles (LIMIT) ==== | ||
+ | |||
+ | '' | ||
+ | |||
+ | //lmax// is the highest rank of multipole that is to be calculated by the program. Default (and maximum) is 10 for the general program and 20 for the linear one. If //name// is specified, the limit applies only to multipole site //name//. | ||
+ | |||
+ | ==== Omitting nuclear contributions (NONUCLEAR) ==== | ||
+ | |||
+ | '' | ||
+ | |||
+ | The nuclear contributions to properties are not to be evaluated. | ||
+ | |||
+ | ==== Specification of multipole sites (ADD, DELETE) ==== | ||
+ | |||
+ | '' | ||
+ | |||
+ | Add a new site at ($x$, $y$, $z$) with the //name// specified. The multipole rank is limited to //lmax// if a value is specified, otherwise the value of lmax specified by the '' | ||
+ | |||
+ | '' | ||
+ | |||
+ | Delete all atoms with the //name// given from consideration as a multipole site. Note that original atoms from the integral program have names $1, | ||
+ | |||
+ | ==== Defining the radius of multipole sites (RADIUS) ==== | ||
+ | |||
+ | '' | ||
+ | |||
+ | Assign radius $r$ to all sites with the //name// given. The program moves multipoles at an overlap centre $P$ to the site $S$ for which the value of $|P-S|/ | ||
+ | |||
+ | ==== Notes and references ==== | ||
+ | |||
+ | The multipoles produced by this analysis are given in their spherical harmonic definitions. Explicit formulae for translating between the cartesian and spherical harmonic definitions of the multipole moments are given in, //Explicit formulae for the electrostatic energy, forces and torques between a pair of molecules of arbitrary symmetry//, S. L. Price, A. J. Stone, and M. Alderton, Molec. Phys., 52, 987 (1984). | ||
+ | |||
+ | For examples of the use of '' | ||
+ | |||
+ | ==== Examples ==== | ||
+ | |||
+ | The following input calculates SCF multipole moments for water. | ||
+ | |||
+ | <code - examples/ | ||
+ | ***,h2o distributed multipole analysis | ||
+ | geometry={o; | ||
+ | r=1 ang !bond length | ||
+ | theta=104 | ||
+ | basis=6-311g** | ||
+ | hf !do scf calculation | ||
+ | {dma; | ||
+ | </ | ||
+ | |||
+ | ===== Mulliken population analysis ===== | ||
+ | |||
+ | ==== Calling the population analysis program (POP) ==== | ||
+ | |||
+ | '' | ||
+ | |||
+ | Invokes Mulliken analysis program, which analyses any density matrix into its contributions from s,p,d,f... basis functions on each atom. In the case of Hartree-Fock, | ||
+ | |||
+ | The subcommands may be abbreviated by the first four characters. The atomic charges are stored in the '' | ||
+ | |||
+ | ==== Defining the density matrix (DENSITY) ==== | ||
+ | |||
+ | '' | ||
+ | |||
+ | Take density matrix to be analysed from record //record// on file //file//. Density matrices for specific states can be selected using // | ||
+ | |||
+ | ==== Populations of basis functions (INDIVIDUAL) ==== | ||
+ | |||
+ | '' | ||
+ | |||
+ | ==== Examples ==== | ||
+ | |||
+ | <code - examples/ | ||
+ | ***,h2o population analysis | ||
+ | geometry={o; | ||
+ | r=1 ang !bond length | ||
+ | theta=104 | ||
+ | basis=6-311g** | ||
+ | hf !do scf calculation | ||
+ | pop; !Mulliken population analysis using mcscf density | ||
+ | individual | ||
+ | </ | ||
+ | |||
+ | If specified, the Mulliken populations of each individual basis function are printed. | ||
+ | |||
+ | The following example shows how to compute the population first on the Hartree-Fock level, and then on the CI level. | ||
+ | |||
+ | <code - examples/ | ||
+ | geomtyp=xyz; | ||
+ | geometry={ | ||
+ | c -1.058493 | ||
+ | h -1.058493 | ||
+ | h -0.040825 | ||
+ | h -1.567327 | ||
+ | h -1.567327 | ||
+ | } | ||
+ | basis={ | ||
+ | default=def2-SVP | ||
+ | } | ||
+ | hf; | ||
+ | pop; | ||
+ | ci; | ||
+ | pop; | ||
+ | </ | ||
+ | |||
+ | ===== Natural Bond Orbital Analysis ===== | ||
+ | |||
+ | ==== Calling the Natural Bond Orbital analysis program (NBO) ==== | ||
+ | |||
+ | '' | ||
+ | |||
+ | The Natural Bond Orbital Analysis of Weinhold and coworkers ([[https:// | ||
+ | |||
+ | One can choose to truncate the transformation series (e.g., only compute the NAO orbitals), with help of the '' | ||
+ | |||
+ | Sometimes, the NBO procedure will not converge due to a bad ordering on the 2-center bond search. The first run is based on the Wiberg bond index, but the algorithm switches to the atom ordering on the subsequent runs. This can be avoided by the use of the option '' | ||
+ | |||
+ | ==== Saving the NLMO orbitals (SAVE) ==== | ||
+ | |||
+ | '' | ||
+ | |||
+ | The NLMO orbitals are saved in the specified //record//, together with the NPA charges. | ||
+ | |||
+ | ===== Finite field calculations ===== | ||
+ | |||
+ | Dipole moments, quadrupole moments etc. and the corresponding polarizabilities can be obtained as energy derivatives by the finite difference approximation. This is most easily done with the '' | ||
+ | |||
+ | |||
+ | |||
+ | ==== Dipole fields (DIP) ==== | ||
+ | |||
+ | '' | ||
+ | '' | ||
+ | |||
+ | Add a finite combination of the dipole operators $\vec\mu=(\mu_x, | ||
+ | |||
+ | The perturbed hamiltonian represents a physical system in a uniform electric field with electric field strength $\vec F= -\vec d$. Therefore the corresponding energy-derivative form of the dipole moment projection in this direction can be obtained as $$|\vec F|^{-1}\vec F \cdot \vec \mu = |2\vec d|^{-1}(E(\vec d)-E(-\vec d)) + O(|\vec d|^2)= |\vec d|^{-1}(E(\vec d)-E(\vec 0)) + O(|\vec d|).$$ | ||
+ | The diagonal polarisability in this direction can similarly be calculated via | ||
+ | $$\alpha_{\vec d, \vec d} = |\vec d|^{-2}(E(\vec d)+E(-\vec d)-2E(\vec 0)) + O(|\vec d|^2).$$ | ||
+ | |||
+ | ==== Quadrupole fields (QUAD) ==== | ||
+ | |||
+ | '' | ||
+ | '' | ||
+ | |||
+ | Exactly as the '' | ||
+ | |||
+ | ==== General fields (FIELD) ==== | ||
+ | |||
+ | '' | ||
+ | '' | ||
+ | |||
+ | |||
+ | Adds one-electron operators //oper1//, //oper2//, …with the corresponding factors //fac1//, //fac2//, …to the one-electron hamiltonian. The available operators are given in section [[program control# | ||
+ | |||
+ | '' | ||
+ | |||
+ | Note that '' | ||
+ | |||
+ | ==== Examples ==== | ||
+ | |||
+ | The first examples shows various possibilities to add perturbations to the one-electron hamiltonian. | ||
+ | |||
+ | <code - examples/ | ||
+ | ***,H2O finite fields | ||
+ | R | ||
+ | THETA = 101.90140469 | ||
+ | geometry={H1 | ||
+ | O,H1,R; | ||
+ | H2, | ||
+ | {hf; | ||
+ | |||
+ | f=0.05 | ||
+ | |||
+ | dip,,, | ||
+ | hf !do scf with modified h0 | ||
+ | |||
+ | field, | ||
+ | !same result as previous example | ||
+ | hf !do scf with modified h0 | ||
+ | |||
+ | quad,,, | ||
+ | hf !do scf with modified h0 | ||
+ | |||
+ | field, | ||
+ | !same result as previous example | ||
+ | hf !do scf with modified h0 | ||
+ | |||
+ | field, | ||
+ | !add general field; same result as quad above | ||
+ | hf !do scf with modified h0 | ||
+ | |||
+ | field, | ||
+ | field+, | ||
+ | field+, | ||
+ | hf !do scf with modified h0 | ||
+ | |||
+ | field !remove field | ||
+ | hf !scf without field | ||
+ | </ | ||
+ | |||
+ | The second example shows how to compute dipole moments and polarizabilities using finite fields. | ||
+ | |||
+ | <code - examples/ | ||
+ | ***,H2O finite field calculations | ||
+ | |||
+ | r=1.85, | ||
+ | geometry={O; | ||
+ | H1,O,r; | ||
+ | H2, | ||
+ | basis=avtz | ||
+ | field=[0, | ||
+ | $method=[hf, | ||
+ | |||
+ | k=0 | ||
+ | do i=1,# | ||
+ | dip,,, | ||
+ | do m=1,# | ||
+ | k=k+1 | ||
+ | $method(m) | ||
+ | e(k)=energy | ||
+ | enddo | ||
+ | enddo | ||
+ | |||
+ | k=0 | ||
+ | n=#method | ||
+ | do m=1,#method | ||
+ | k=k+1 | ||
+ | energ(m)=e(k) | ||
+ | dipmz(m)=(e(k+n)-e(k+2*n))/ | ||
+ | dpolz(m)=(e(k+n)+e(k+2*n)-2*e(k))/ | ||
+ | enddo | ||
+ | |||
+ | table, | ||
+ | title, | ||
+ | --- | ||
+ | </ | ||
+ | |||
+ | ===== Relativistic corrections ===== | ||
+ | |||
+ | Relativistic corrections may be calculated within the Cowan-Griffin approach by computing expectation values of the mass-velocity and 1-electron Darwin integrals; these should be generated using the property integral program with keyword '' | ||