Inverse Participation Ratio (IPR) calculation

The workflow ipr_calculation returns the inverse participation ratio for the selected orbitals. For finite systems, the IPR is defined as the inverse of number of atoms that contribute to a given electronic state i. It assumes its maximum value, 1, in the case of a state localized to a single atom (1/1) and tends to 0 (1/N, where N is the total number of atoms in the system) when the wave function is distributed equally over all atoms.

Preparing the input

The following is an example of input file to perform the IPR calculation for the Cd33Se33 system.


project_name: Cd33Se33
active_space: [50, 50]
path_hdf5: "Cd33Se33.hdf5"
path_traj_xyz: ""
scratch_path: "/tmp/IPR"

  basis:  "DZVP-MOLOPT-SR-GTH"
  potential: "GTH-PBE"
  cell_parameters: 28.0
  periodic: none
  executable: cp2k.popt

      template: pbe_main
              eps_scf: 1e-6


In your working directory, copy the previous input into an input_test_ipr.yml file. Also copy locally the file containing the coordinates of the relaxed Cd33Se33 system,

Your input_test_ipr.yml input file now contains all settings to perform the coop calculations and needs to be edited according to your system and preferences. Please note that this input is very similar to the basic example of single point calculation provided in a previous tutorial (please refer to it for a more extensive description of the above options) except for the workflow option, set in this case to ipr_calculation.

Here again you can customize the settings used to generate the cp2k input in the cp2k_general_settings. To help you creating your custom input requirements, please consult the cp2k manual and the templates available in nano-qmflows.

Setting up the calculation

Once all settings of your yml input have been customized, can to launch your ipr calculation.

  • First, activate the conda environment with QMFlows:

    conda activate qmflows

  • Then, load the module with your version of cp2k, for example:

    module load CP2K/7.1.0

  • Finally, use the command to submit your calculation. -i input_test_ipr.yml


Once your calculation has finished successfully, you will find a IPR.txt file in your working directory. The two columns of this file contain, respectively, the orbitals’ energies and the corresponding IPR values.