Classes | |
| struct | BoxPotential |
Public Member Functions | |
| ScalarFieldArray | get_nXC () const |
| return the total (spin) density including core contributions | |
| ScalarField | get_nTot () const |
| return the total electron density (even in spin polarized situations) | |
| void | setup (const Everything &everything) |
| void | EdensityAndVscloc (Energies &ener, const ExCorr *alternateExCorr=0) |
| double | elecEnergyAndGrad (Energies &ener, ElecGradient *grad=0, ElecGradient *Kgrad=0, bool calc_Hsub=false) |
| void | setEigenvectors () |
| Set C to eigenvectors of the subspace hamiltonian. | |
| ScalarFieldArray | KEdensity () const |
| Compute the kinetic energy density. | |
| ScalarFieldArray | calcDensity () const |
| Calculate density using current orthonormal wavefunctions (C) | |
| void | orthonormalize (int q, matrix *extraRotation=0) |
| double | applyHamiltonian (int q, const diagMatrix &Fq, ColumnBundle &HCq, Energies &ener, bool need_Hsub=false) |
Public Attributes | |
| std::vector< ColumnBundle > | C |
| orthonormal electronic wavefunctions | |
| std::vector< diagMatrix > | Haux_eigs |
| auxilliary hamiltonian eigenvalues | |
| std::vector< diagMatrix > | F |
| the fillings (diagonal matrices) for each state | |
| std::vector< matrix > | Hsub |
| Subspace Hamiltonian: Hsub[q]=C[q]^H*C[q]. | |
| std::vector< matrix > | Hsub_evecs |
| eigenvectors of Hsub[q] in columns | |
| std::vector< diagMatrix > | Hsub_eigs |
| eigenvalues of Hsub[q] | |
| std::vector< std::vector< matrix > > | VdagC |
| ScalarFieldArray | n |
| electron density (single ScalarField) or spin density (two ScalarFields [up,dn]) or spin density matrix (four ScalarFields [UpUp, DnDn, Re(UpDn), Im(UpDn)]) | |
| ScalarFieldArray | nAccumulated |
| ElecVars::n accumulated over an MD trajectory. | |
| ScalarFieldArray | tau |
| kinetic energy density including tauCore, if present (computed if a meta GGA is being used) | |
| ScalarFieldTilde | d_fluid |
| electrostatic potential due to fluid | |
| ScalarFieldTilde | V_cavity |
| non-electrostatic potential on electrons due to fluid | |
| ScalarFieldArray | Vscloc |
| ScalarFieldArray | Vtau |
| Local part of (optionally spin-dependent) self-consistent potential. | |
| std::vector< matrix > | rhoAtom |
| Gradient w.r.t kinetic energy density (if meta-GGA) | |
| std::vector< matrix > | U_rhoAtom |
| Atomic density matrices and gradients w.r.t them (for DFT+U) | |
| ScalarFieldArray | Vexternal |
| external potential | |
| ScalarFieldTilde | rhoExternal |
| external charge density | |
| bool | rhoExternalSelfEnergy |
| whether to include self-energy of rhoExternal in output energy | |
| std::vector< BoxPotential > | boxPot |
| FluidSolverParams | fluidParams |
| parameters for the external box potential | |
| std::shared_ptr< struct FluidSolver > | fluidSolver |
| string | fluidInitialStateFilename |
| string | wfnsFilename |
| file to read wavefunctions from | |
| std::shared_ptr< struct ColumnBundleReadConversion > | readConversion |
| ColumnBundle conversion. | |
| bool | isRandom |
| indicates whether the electronic state is random (not yet minimized) | |
| bool | initLCAO |
| initialize wave functions using linear combinations of atomic orbitals | |
| string | eigsFilename |
| file to read eigenvalues from | |
| bool | HauxInitialized |
| whether Haux has been read in/computed | |
| string | nFilenamePattern |
| file pattern to read electron (spin,kinetic) density from | |
| string | VFilenamePattern |
| file pattern to read electron (spin,kinetic) potential from | |
Friends | |
| struct | CommandVexternal |
| struct | CommandRhoExternal |
| struct | CommandWavefunction |
| struct | CommandLcaoParams |
| class | Dump |
| double ElecVars::applyHamiltonian | ( | int | q, |
| const diagMatrix & | Fq, | ||
| ColumnBundle & | HCq, | ||
| Energies & | ener, | ||
| bool | need_Hsub = false |
||
| ) |
Applies the Kohn-Sham Hamiltonian on the orthonormal wavefunctions C, and computes Hsub if necessary, for a single quantum number Returns the Kinetic energy contribution from q, which can be used for the inverse kinetic preconditioner
Compute the terms written as a functional of the electronic density, and its gradient i.e. Vscloc If supplied, alternateExCorr replaces the main exchange and correlaton functional
| double ElecVars::elecEnergyAndGrad | ( | Energies & | ener, |
| ElecGradient * | grad = 0, |
||
| ElecGradient * | Kgrad = 0, |
||
| bool | calc_Hsub = false |
||
| ) |
Update and return the electronic system energy. Optionally compute the gradient, preconditioned gradient and/or the subspace hamiltonian
| void ElecVars::orthonormalize | ( | int | q, |
| matrix * | extraRotation = 0 |
||
| ) |
Orthonormalise wavefunctions, with an optional extra rotation If extraRotation is present, it is applied after symmetric orthononormalization, and on output extraRotation contains the net transformation applied to the wavefunctions.