input_description -distribution {Quantum Espresso} -package PWscf -program molecularpdos.x { toc {} intro { @b {Purpose of molecularpdos.x:} Takes the projections onto orthogonalized atomic wavefunctions as computed by projwfc.x (see outdir/prefix.save/atomic_proj.xml) to build an LCAO-like representation of the eigenvalues of a system "full" and "part" of it (each should provide its own atomic_proj.xml file). Then the eigenvectors of the full system are projected onto the ones of the part. For example, to decompose the PDOS of an adsorbed molecule into its molecular orbital, as determined by a gas-phase calculation. Reference: An explanation of the keywords and the implementation is provided in Scientific Reports | 6:24603 (2016) DOI: 10.1038/srep24603 (Supp. Info). @b {Structure of the input data:} ============================ @b &INPUTMOPDOS ... @b / } namelist INPUTMOPDOS { vargroup -type CHARACTER { var xmlfile_full var xmlfile_part info { xml files with atomic projections (produced by projwfc.x) for the full system and its molecular part } } var i_atmwfc_beg_full -type INTEGER { default { 1 } info { first atomic wavefunction of the full system considered for the projection } } var i_atmwfc_end_full -type INTEGER { default { 0, i.e., all atomic wavefunctions } info { last atomic wavefunction of the full system considered for the projection } } var i_atmwfc_beg_part -type INTEGER { default { 1 } info { first atomic wavefunction of the molecular part considered for the projection } } var i_atmwfc_end_part -type INTEGER { default { 0, i.e., all atomic wavefunctions } info { first atomic wavefunction of the molecular part considered for the projection } } var i_bnd_beg_full -type INTEGER { default { 1 } info { first eigenstate of the full system to be taken into account for the projection } } var i_bnd_end_full -type INTEGER { default { 0, i.e., all eigenstates } info { last eigenstate of the full system to be taken into account for the projection } } var i_bnd_beg_part -type INTEGER { default { 1 } info { first eigenstate of the molecular part to be taken into account for the projection } } var i_bnd_end_part -type INTEGER { default { 0, i.e., all eigenstates } info { last eigenstate of the molecular part to be taken into account for the projection } } var fileout -type CHARACTER { info { prefix for output files containing molecular PDOS(E) } default { 'molecularpdos' } } var ngauss -type INTEGER { default { 0 } info { Type of gaussian broadening: 0 ... Simple Gaussian (default) 1 ... Methfessel-Paxton of order 1 -1 ... Marzari-Vanderbilt "cold smearing" -99 ... Fermi-Dirac function } } var degauss -type REAL { default { 0.0 } info { gaussian broadening, Ry (not eV!) } } vargroup -type REAL { var Emin var Emax info { min & max energy (eV) for DOS plot } default { (band extrema) } } var DeltaE -type REAL { default { 0.01 } info { energy grid step (eV) } } var kresolveddos -type LOGICAL { default { .false. } info { if .true. the k-resolved DOS is computed: not summed over all k-points but written as a function of the k-point index. In this case all k-point weights are set to unity } } } section -title Notes { subsection -title {Format of output files} { text { Projections are written to standard output. The molecular projected DOS is written to the file "fileout".mopdos. * The format for the spin-unpolarized case is: index_of_molecular_orbital E MOPDOS(E) ... * The format for the collinear, spin-polarized case is: index_of_molecular_orbital E MOPDOSup(E) MOPDOSdw(E) ... The file "fileout".mopdos_tot contains the sum over the molecular orbitals. * The format for the spin-unpolarized case is: E MOPDOS(E) ... * The format for the collinear, spin-polarized case is: E MOPDOSup(E) MOPDOSdw(E) ... All DOS(E) are in states/eV plotted vs E in eV } } subsection -title {Important notices} { text { * The atomic wavefunctions identified by the ranges i_atmwfc_beg_full:i_atmwfc_end_full (full system) and i_atmwfc_beg_part:i_atmwfc_end_part (molecular part) should correspond to the same atomic states. See the header of the output of projwfc.x for more information. * If using k-points, the same unit cell and the same k-points should be used in computing the molecular part, unless you really know what you are doing. * The tetrahedron method is presently not implemented. * Gaussian broadening is used in all cases (with ngauss and degauss values from input). } } } }