Overview of package ROOT

Main package of CP2K

admm_dm_methods
Contains ADMM methods which only require the density matrix
admm_dm_types
Types and set/get functions for auxiliary denisty matrix methods
admm_methods
Contains ADMM methods which require molecular orbitals
admm_types
Types and set/get functions for auxiliary denisty matrix methods
admm_utils
Contains methods used in the context of density fitting
al_system_types
Type for the canonical sampling through velocity rescaling
almo_scf
Routines for all ALMO-based SCF methods RZK-warning marks unresolved issues
almo_scf_diis_types
A DIIS implementation for the ALMO-based SCF methods
almo_scf_env_methods
almo_scf_env methods
almo_scf_methods
Subroutines for ALMO SCF
almo_scf_optimizer
Optimization routines for all ALMO-based SCF methods
almo_scf_qs
Interface between ALMO SCF and QS
almo_scf_types
Types for all ALMO-based methods
atom
...
atom_admm_methods
...
atom_basis
...
atom_electronic_structure
...
atom_energy
...
atom_fit
routines that fit parameters for /from atomic calculations
atom_grb
...
atom_kind_orbitals
calculate the orbitals for a given atomic kind type
atom_operators
Calculate the atomic operator matrices
atom_optimization
Optimizer for the atomic code
atom_output
routines that build the integrals of the Vxc potential calculated for the atomic code
atom_pseudo
...
atom_sgp
...
atom_types
Define the atom type and its sub types
atom_upf
...
atom_utils
Some basic routines for atomic calculations
atom_xc
routines that build the integrals of the Vxc potential calculated for the atomic code
atomic_charges
simple routine to print charges for all atomic charge methods (currently mulliken, lowdin and ddapc)
atoms_input
...
beta_gamma_psi
...
block_p_types
collect pointers to a block of reals
bse
Rountines for GW + Bethe-Salpeter for computing electronic excitations
bsse
Module to perform a counterpoise correction (BSSE)
cell_methods
Handles all functions related to the CELL
colvar_methods
defines collective variables s({R}) and the derivative of this variable wrt R these can then be used in constraints, restraints and metadynamics ...
colvar_utils
evaluations of colvar for internal coordinates schemes
commutator_rkinetic
Calculation of commutator of kinetic energy and position operator
commutator_rpnl
Calculation of the non-local pseudopotential contribution to the core Hamiltonian = *h(i,j)*
constraint
...
constraint_3x3
...
constraint_4x6
...
constraint_clv
Module that handles the COLLECTIVE constraints
constraint_fxd
...
constraint_util
Contains routines useful for the application of constraints during MD
constraint_vsite
Routines to handle the virtual site constraint/restraint
core_ae
Calculation of the nuclear attraction contribution to the core Hamiltonian :we only calculate the non-screened part
core_ppl
Calculation of the local pseudopotential contribution to the core Hamiltonian =
core_ppnl
Calculation of the non-local pseudopotential contribution to the core Hamiltonian = *h(i,j)*
cp2k_debug
Debug energy and derivatives w.r.t. finite differences
cp2k_info
some minimal info about CP2K, including its version and license
cp_control_types
Defines control structures, which contain the parameters and the settings for the DFT-based calculations.
cp_control_utils
Utilities to set up the control types
cp_dbcsr_cholesky
Interface to (sca)lapack for the Cholesky based procedures
cp_dbcsr_cp2k_link
Routines that link DBCSR and CP2K concepts together
cp_dbcsr_diag
Interface to (sca)lapack for the Cholesky based procedures
cp_dbcsr_operations
DBCSR operations in CP2K
cp_dbcsr_output
DBCSR output in CP2K
cp_ddapc
Density Derived atomic point charges from a QM calculation (see Bloechl, J. Chem. Phys. Vol. 103 pp. 7422-7428)
cp_ddapc_forces
Density Derived atomic point charges from a QM calculation (see J. Chem. Phys. Vol. 103 pp. 7422-7428)
cp_ddapc_methods
contains information regarding the decoupling/recoupling method of Bloechl
cp_ddapc_types
contains information regarding the decoupling/recoupling method of Bloechl
cp_ddapc_util
Density Derived atomic point charges from a QM calculation (see Bloechl, J. Chem. Phys. Vol. 103 pp. 7422-7428)
cp_eri_mme_interface
Interface to Minimax-Ewald method for periodic ERI's to be used in CP2K.
cp_external_control
Routines to handle the external control of CP2K
cp_gemm_interface
basic linear algebra operations for full matrixes
cp_realspace_grid_cube
A wrapper around pw_to_cube() which accepts particle_list_type
cp_realspace_grid_init
...
cp_spline_utils
utils to manipulate splines on the regular grid of a pw
cp_subsys_methods
Initialize a small environment for a particular calculation
cp_symmetry
Work with symmetry
cryssym
K-points and crystal symmetry routines
csvr_system_types
Type for the canonical sampling through velocity rescaling
csvr_system_utils
...
ct_methods
Cayley transformation methods
ct_types
Types for all cayley transformation methods
d3_poly
Routines to efficently handle dense polynomial in 3 variables up to a given degree. Multiplication, partial evalution, affine transform (change of reference system), differentiation are efficiently implemented. some functions accept or return several polynomial together, these have to have all the same size, and are stored one after the other in an unique 1d array. This gives them an easy handling and even seem to be faster than the transposed layout.
debug_os_integrals
Debugs Obara-Saika integral matrices
dft_plus_u
Add the DFT+U contribution to the Hamiltonian matrix
distribution_2d_types
stores a mapping of 2D info (e.g. matrix) on a 2D processor distribution (i.e. blacs grid) where cpus in the same blacs row own the same rows of the 2D info (and similar for the cols)
distribution_methods
Distribution methods for atoms, particles, or molecules
dkh_main
...
dm_ls_chebyshev
Routines using linear scaling chebyshev methods
dm_ls_scf
Routines for a linear scaling quickstep SCF run based on the density matrix
dm_ls_scf_create
Routines for a linear scaling quickstep SCF run based on the density matrix
dm_ls_scf_curvy
density matrix optimization using exponential transformations
dm_ls_scf_methods
lower level routines for linear scaling SCF
dm_ls_scf_qs
Routines for a linear scaling quickstep SCF run based on the density matrix, with a focus on the interface between dm_ls_scf and qs
dm_ls_scf_types
Types needed for a linear scaling quickstep SCF run based on the density matrix
domain_submatrix_methods
Subroutines to handle submatrices
domain_submatrix_types
Types to handle submatrices
efield_utils
all routins needed for a nonperiodic electric field
eip_environment
Methods and functions on the EIP environment
eip_environment_types
The environment for the empirical interatomic potential methods.
eip_silicon
Empirical interatomic potentials for Silicon
environment
Sets up and terminates the global environment variables
et_coupling
calculates the electron transfer coupling elements Wu, Van Voorhis, JCP 125, 164105 (2006)
et_coupling_types
Definition and initialisation of the et_coupling data type.
ewald_environment_types
...
ewald_pw_methods
pw_methods
ewald_pw_types
pw_types
ewald_spline_util
Setting up the Spline coefficients used to Interpolate the G-Term in Ewald sums
ewalds
...
ewalds_multipole
Treats the electrostatic for multipoles (up to quadrupoles)
exclusion_types
an exclusion type
extended_system_types
Lumps all possible extended system variables into one type for easy access and passing
external_potential_methods
Methods to include the effect of an external potential during an MD or energy calculation
f77_interface
interface to use cp2k as library
farming_methods
...
farming_types
...
fermi_utils
deal with the Fermi distribution, compute it, fix mu, get derivs
fist_efield_methods
...
fist_efield_types
...
fist_energy_types
...
fist_environment
initialize fist environment
fist_environment_types
...
fist_force
...
fist_intra_force
...
fist_main
perform classical molecular dynamics and path integral simulations
fist_neighbor_list_control
...
fist_neighbor_list_types
Define the neighbor list data types and the corresponding functionality
fist_neighbor_lists
Generate the atomic neighbor lists for FIST.
fist_nonbond_env_types
...
fist_nonbond_force
...
fist_pol_scf
...
force_env_methods
Interface for the force calculations
force_env_types
Interface for the force calculations
force_env_utils
Util force_env module
force_field_types
Define all structures types related to force_fields
force_fields
...
force_fields_all
...
force_fields_ext
...
force_fields_input
...
force_fields_util
...
fp_methods
methods used in the flexible partitioning scheme
fp_types
types used in the flexible partitioning scheme
free_energy_types
defines types for metadynamics calculation
gauss_colloc
Routines to efficently collocate and integrate gaussians on a grid These use most of Joost's tricks and a couple more... result is *speed* and genericity
gaussian_gridlevels
...
generic_os_integrals
Calculation of contracted, spherical Gaussian integrals using the (OS) integral scheme. Routines for the following two-center integrals: i) (a|O(r12)|b) where O(r12) is the overlap, coulomb operator etc. ii) (aba) and (abb) s-overlaps
gle_system_types
global_types
represent the global information of a run: the input file, parallel environment (and partially output). Use sparingly, try not to send it too deep in your structures.
graphcon
uses a combination of graphs and hashing to determine if two molecules are topologically equivalent, and if so, finds the one by one mapping
hartree_local_methods
...
hartree_local_types
...
header
...
hfx_admm_utils
Utilities for hfx and admm methods
hfx_communication
Routines for data exchange between MPI processes
hfx_compression_methods
routines and types for Hartree-Fock-Exchange
hfx_derivatives
Routines to calculate derivatives with respect to basis function origin
hfx_energy_potential
Rountines to calculate HFX energy and potential
hfx_helpers
Some auxiliary functions and subroutines needed for HFX calculations
hfx_libint_interface
Interface to the Libint-Library
hfx_libint_wrapper
Interface to the Libint-Library or a c++ wrapper.
hfx_libint_wrapper_types
Provides types that are used to interface with the libint library
hfx_load_balance_methods
Rountines for optimizing load balance between processes in HFX calculations
hfx_pair_list_methods
Rountines for optimizing load balance between processes in HFX calculations
hfx_screening_methods
Several screening methods used in HFX calcualtions
hfx_types
Types and set/get functions for HFX
hirshfeld_methods
Calculate Hirshfeld charges and related functions
hirshfeld_types
The types needed for the calculation of Hirshfeld charges and related functions
input_constants
collects all constants needed in input so that they can be used without circular dependencies
input_cp2k_almo
input for the ALMO SCF section
input_cp2k_atom
builds the input structure for the ATOM module
input_cp2k_atprop
input section for atomic properties
input_cp2k_binary_restarts
Routines to read the binary restart file of CP2K
input_cp2k_check
checks the input and perform some automatic "magic" on it
input_cp2k_colvar
...
input_cp2k_constraints
...
input_cp2k_dft
function that build the dft section of the input
input_cp2k_distribution
function that builds the distribution section of the input
input_cp2k_eip
Creates the EIP section of the input
input_cp2k_field
function that build the field section of the input
input_cp2k_force_eval
builds the input structure for the FORCE_EVAL section of cp2k
input_cp2k_free_energy
...
input_cp2k_global
builds the global input section for cp2k
input_cp2k_hfx
function that builds the hartree fock exchange section of the input
input_cp2k_kpoints
function that build the kpoints section of the input
input_cp2k_ls
input for the linear scaling (LS) section
input_cp2k_mixed
builds the input structure for the MIXED environment
input_cp2k_mm
creates the mm section of the input
input_cp2k_motion_print
...
input_cp2k_mp2
input section for MP2
input_cp2k_neb
...
input_cp2k_poisson
function that build the poisson section of the input
input_cp2k_properties_dft
function that build the dft section of the input
input_cp2k_qmmm
creates the qmmm section of the input
input_cp2k_read
parse cp2k input files
input_cp2k_resp
function that builds the resp section of the input
input_cp2k_restarts_util
...
input_cp2k_rsgrid
...
input_cp2k_subsys
builds the subsystem section of the input
input_cp2k_thermostats
...
input_cp2k_transport
input section for NEGF based quantum transport calculations (integration with the quantum transport code OMEN)
input_cp2k_xc
function that build the xc section of the input
input_optimize_basis
builds the input structure for optimize_basis
input_optimize_input
builds the input structure for optimize_input
input_restart_force_eval
...
input_restart_rng
...
ipi_driver
Driver mode - To communicate with i-PI Python wrapper
iterate_matrix
Routines useful for iterative matrix calculations
kg_correction
Routines for a Kim-Gordon-like partitioning into molecular subunits
kg_energy_corrections
Routines for a Harris type energy correction on top of a Kim-Gordon calculation
kg_environment
Routines for a Kim-Gordon-like partitioning into molecular subunits
kg_environment_types
Types needed for a for a Kim-Gordon-like partitioning into molecular subunits
kg_tnadd_mat
Calculation of the local potential contribution of the nonadditive kinetic energy =
kg_vertex_coloring_methods
Routines for a Kim-Gordon-like partitioning into molecular subunits unsing a vertex coloring algorithm (DSATUR) to find non-interating subsets, such that two molecules within the same subset have small/zero overlap (in other words: this molecular pair is not present in the neighborlist sab_orb for the current value of EPS_DEFAULT)
kpoint_io
Restart file for k point calculations
kpoint_methods
Routines needed for kpoint calculation
kpoint_transitional
Datatype to translate between k-points (2d) and gamma-point (1d) code.
kpoint_types
Types and basic routines needed for a kpoint calculation
library_tests
Performance tests for basic tasks like matrix multiplies, copy, fft.
linesearch
A generic framework to calculate step lengths for 1D line search
lri_compression
integral compression (fix point accuracy)
lri_environment_init
initializes the environment for lri lri : local resolution of the identity
lri_environment_methods
Calculates integral matrices for LRIGPW method lri : local resolution of the identity
lri_environment_types
contains the types and subroutines for dealing with the lri_env lri : local resolution of the identity
lri_forces
Calculates forces for LRIGPW method lri : local resolution of the identity
lri_integrals
Calculates integrals for LRIGPW method lri : local resolution of the identity
lri_ks_methods
routines that build the Kohn-Sham matrix for the LRIGPW and xc parts
lri_optimize_ri_basis
Optimizes exponents and contraction coefficients of the lri auxiliary basis sets using the UOBYQA minimizer lri : local resolution of the identity
lri_optimize_ri_basis_types
sets the environment for optimization of exponents and contraction coefficients of the lri auxiliary lri : local resolution of the identity
ls_matrix_exp
Routines for calculating a complex matrix exponential with dbcsr matrices. Based on the code in matrix_exp.F from Florian Schiffmann
manybody_eam
...
manybody_potential
...
manybody_quip
...
manybody_siepmann
implementation of dipole and three-body part of Siepmann-Sprik potential dipole term: 3rd term in Eq. (1) in J. Chem. Phys., Vol. 102, p.511 three-body term: Eq. (4) in J. Chem. Phys., Vol. 102, p. 511 remaining terms of Siepmann-Sprik potential can be given via the GENPOT section
manybody_tersoff
...
mao_basis
Calculate MAO's and analyze wavefunctions
mao_methods
Calculate MAO's and analyze wavefunctions
mao_optimizer
Calculate MAO's and analyze wavefunctions
mao_types
The types needed for the calculation of modified atomic orbitals (MAO)
mao_wfn_analysis
Calculate MAO's and analyze wavefunctions
matrix_exp
Routines for calculating a complex matrix exponential.
mdctrl_types
A common interface for passing a callback into the md_run loop.
metadynamics
Performs the metadynamics calculation
metadynamics_types
defines types for metadynamics calculation
metadynamics_utils
Performs the metadynamics calculation
minbas_methods
Calculate localized minimal basis
minbas_wfn_analysis
Calculate localized minimal basis and analyze wavefunctions
mixed_cdft_methods
Methods for mixed CDFT calculations
mixed_cdft_types
Types for mixed CDFT calculations
mixed_cdft_utils
Utility subroutines for mixed CDFT calculations
mixed_energy_types
...
mixed_environment
initialize mixed environment
mixed_environment_types
...
mixed_environment_utils
Util mixed_environment
mixed_main
perform biased molecular dynamics (H= k H1 + (1-k) H2 [linear or general mixing)
mm_collocate_potential
Calculate the MM potential by collocating the primitive Gaussian functions (pgf)
mm_mapping_library
Contains the mapping ATOM_KIND -> ELEMENT for the most common cases in CHARMM and AMBER This should avoid in most cases the need to provide the element column in the PDB if in the atom_name column of the PDB is provided instead the atom kind
mode_selective
Module performing a mdoe selective vibrational analysis
mol_force
...
molden_utils
Functions handling the MOLDEN format. Split from mode_selective.
molecular_states
Routines for the calculation of molecular states
molsym
Molecular symmetry routines
moments_utils
Calculates the moment integrals
motion_utils
Output Utilities for MOTION_SECTION
mp2
Rountines to calculate MP2 energy
mp2_cphf
Rountines to calculate CPHF like update and solve Z-vector equation for MP2 gradients (only GPW)
mp2_direct_method
Rountines to calculate MP2 energy
mp2_eri
Interface to direct methods for electron repulsion integrals for MP2.
mp2_gpw
Rountines to calculate MP2 energy using pw
mp2_laplace
Rountines to calculate MP2 energy with laplace approach
mp2_optimize_ri_basis
Routines to optimize the RI-MP2 basis. Only exponents of non-contracted auxiliary basis basis are optimized. The derivative of the MP2 energy with respect to the exponents of the basis are calculated numerically.
mp2_ri_gpw
Rountines to calculate RI-GPW-MP2 energy using pw
mp2_ri_grad
Rountines to calculate gradients of RI-GPW-MP2 energy using pw
mp2_ri_grad_util
Rountines for calculating RI-MP2 gradients
mp2_ri_libint
Rountines to calculate the 3 and 2 center ERI's needed in the RI approximation using libint
mp2_setup
Types needed for MP2 calculations
mp2_types
Types needed for MP2 calculations
mscfg_methods
Subroutines to perform calculations on molecules from a bigger system. Useful to generate a high-quality MO guess for systems of many molecules with complex electronic structure, to bootstrap ALMO simulations, etc.
mscfg_types
Types used to generate the molecular SCF guess
mulliken
compute mulliken charges we (currently) define them as c_i = 1/2 [ (PS)_{ii} + (SP)_{ii} ]
opt_embed_pot_types
...
optbas_fenv_manipulation
...
optbas_opt_utils
...
optimize_basis
...
optimize_basis_types
...
optimize_basis_utils
...
optimize_embedding_potential
...
optimize_input
...
pair_potential
...
pair_potential_coulomb
...
pair_potential_types
...
pair_potential_util
...
pao_input
...
pao_io
Routines for reading and writing restart files.
pao_linpot_full
Full parametrization of Fock matrix, ie. the identity parametrization.
pao_linpot_rotinv
Rotationally invariant parametrization of Fock matrix.
pao_main
Main module for the PAO method
pao_methods
Methods used by pao_main.F
pao_ml
Main module for PAO Machine Learning
pao_ml_descriptor
Feature vectors for describing chemical environments in a rotationally invariant fashion.
pao_ml_gaussprocess
Gaussian Process implementation
pao_ml_neuralnet
Neural Network implementation
pao_optimizer
Optimizers used by pao_main.F
pao_param
Front-End for any PAO parametrization
pao_param_exp
Original matrix exponential parametrization
pao_param_fock
Common framework for using eigenvectors of a Fock matrix as PAO basis.
pao_param_gth
Parametrization based on GTH pseudo potentials
pao_param_linpot
Common framework for a linear parametrization of the potential.
pao_potentials
Factory routines for potentials used e.g. by pao_param_exp and pao_ml
pao_types
Types used by the PAO machinery
particle_methods
Define methods related to particle_type
paw_proj_set_types
...
pexsi_interface
Interface to the PEXSI library, providing wrappers for all PEXSI routines that are called inside CP2K. Requires PEXSI version 0.10.x.
pexsi_methods
Methods using the PEXSI library to calculate the density matrix and related quantities using the Kohn-Sham and overlap matrices from the linear scaling quickstep SCF environment.
pexsi_types
Environment storing all data that is needed in order to call the DFT driver of the PEXSI library with data from the linear scaling quickstep SCF environment, mainly parameters and intermediate data for the matrix conversion between DBCSR and CSR format.
pme
...
pme_tools
Tools common both to PME and SPME
population_analyses
Provide various population analyses and print the requested output information
preconditioner
computes preconditioners, and implements methods to apply them currently used in qs_ot
preconditioner_apply
computes preconditioners, and implements methods to apply them currently used in qs_ot
preconditioner_makes
computes preconditioners, and implements methods to apply them currently used in qs_ot
preconditioner_solvers
solves the preconditioner, contains to utility function for fm<->dbcsr transfers, should be moved soon
preconditioner_types
types of preconditioners
pw_env_methods
methods of pw_env that have dependence on qs_env
pw_env_types
container for various plainwaves related things
pw_poisson_read_input
Reading of input parameters for the pw_poisson-modules.
qmmm_create
Initialize a QM/MM calculation
qmmm_elpot
...
qmmm_ff_fist
...
qmmm_force
Calculates QM/MM energy and forces
qmmm_gaussian_data
GEEP coefficients for fixed radii. THIS IS THE GEEP LIB. They can be used together with the "omotetia" rule for erf function to obtain the expansion for whatever radius one desires Radius value are in Angstrom
qmmm_gaussian_init
Initialize the use of the gaussians to treat the QMMM coupling potential
qmmm_gaussian_input
Set the QMMM Gaussian Input Environment
qmmm_gaussian_types
Sets the typo for the gaussian treatment of the qm/mm interaction
qmmm_gpw_energy
A collection of methods to treat the QM/MM electrostatic coupling
qmmm_gpw_forces
Routines to compute energy and forces in a QM/MM calculation
qmmm_image_charge
Routines for image charge calculation within QM/MM
qmmm_init
Initialize a QM/MM calculation
qmmm_links_methods
A collection of methods to treat the QM/MM links
qmmm_per_elpot
...
qmmm_pw_grid
sets variables for the qmmm pool of pw_types
qmmm_se_energy
Calculation of the QMMM Hamiltonian integral matrix for semi-empirical methods
qmmm_se_forces
Calculation of the derivative of the QMMM Hamiltonian integral
qmmm_topology_util
...
qmmm_types
Basic container type for QM/MM.
qmmm_types_low
...
qmmm_util
...
qmmmx_create
Initialize a QM/MM calculation with Force-Mixing
qmmmx_force
Calculates QM/MM energy and forces with Force-Mixing
qmmmx_types
Basic container type for QM/MM with force mixing.
qmmmx_update
Update a QM/MM calculations with force mixing
qmmmx_util
Routines used for force-mixing QM/MM calculations
qs_active_space_methods
Determine active space Hamiltonian
qs_active_space_types
The types needed for the calculation of active space Hamiltonians
qs_band_structure
Calculation of band structures
qs_basis_gradient
...
qs_block_davidson_types
module that contains the algorithms to perform an itrative diagonalization by the block-Davidson approach P. Blaha, et al J. Comp. Physics, 229, (2010), 453-460
qs_cdft_methods
Subroutines for building CDFT constraints
qs_cdft_types
Defines CDFT control structures
qs_cdft_utils
Utility subroutines for CDFT calculations
qs_charges_types
container for information about total charges on the grids
qs_collocate_density
Calculate the plane wave density by collocating the primitive Gaussian functions (pgf).
qs_commutators
Calculation of commutator [H,r] matrices
qs_condnum
Calculation of overlap matrix condition numbers
qs_core_energies
Calculation of the energies concerning the core charge distribution
qs_core_hamiltonian
Calculation of the core Hamiltonian integral matrix over Cartesian Gaussian-type functions.
qs_density_mixing_types
module that contains the definitions of the scf types
qs_dftb3_methods
Calculation of DFTB3 Terms
qs_dftb_coulomb
Calculation of Coulomb contributions in DFTB
qs_dftb_dispersion
Calculation of dispersion in DFTB
qs_dftb_matrices
Calculation of Overlap and Hamiltonian matrices in DFTB
qs_dftb_parameters
...
qs_dftb_types
Definition of the DFTB parameter types.
qs_dftb_utils
Working with the DFTB parameter types.
qs_diis
Apply the direct inversion in the iterative subspace (DIIS) of Pulay in the framework of an SCF iteration for convergence acceleration
qs_diis_types
buffer for the diis of the scf
qs_dispersion_nonloc
Calculation of non local dispersion functionals Some routines adapted from: Copyright (C) 2001-2009 Quantum ESPRESSO group Copyright (C) 2009 Brian Kolb, Timo Thonhauser - Wake Forest University This file is distributed under the terms of the GNU General Public License. See the file `License' in the root directory of the present distribution, or http://www.gnu.org/copyleft/gpl.txt .
qs_dispersion_pairpot
Calculation of dispersion using pair potentials
qs_dispersion_types
Definition of disperson types for DFT calculations
qs_dispersion_utils
Set disperson types for DFT calculations
qs_efield_berry
Calculates the energy contribution and the mo_derivative of a static periodic electric field
qs_efield_local
Calculates the energy contribution and the mo_derivative of a static electric field (nonperiodic)
qs_elec_field
Distribution of the electric field gradient integral matrix.
qs_electric_field_gradient
Calculates electric field gradients H.M. Petrili, P.E. Blochl, P. Blaha, K. Schwarz, PRB 57, 14690 (1998)
qs_energy
Perform a QUICKSTEP wavefunction optimization (single point)
qs_energy_init
Utility subroutine for qs energy calculation
qs_energy_matrix_w
Utility subroutine for qs energy calculation
qs_energy_types
...
qs_energy_utils
Utility subroutine for qs energy calculation
qs_environment
...
qs_environment_methods
qs_environement methods that use many other modules
qs_environment_types
...
qs_epr_hyp
Calculates hyperfine values
qs_external_density
Routines to handle an external density The external density can be generic and is provided by user input
qs_external_potential
Routines to handle an external electrostatic field The external field can be generic and is provided by user input
qs_fb_atomic_halo_types
...
qs_fb_atomic_matrix_methods
...
qs_fb_buffer_types
...
qs_fb_com_tasks_types
...
qs_fb_distribution_methods
...
qs_fb_env_methods
...
qs_fb_env_types
...
qs_fb_filter_matrix_methods
...
qs_fb_hash_table_types
A simple hash table of integer keys, using hash function: H(k) = (k*p) mod n + 1 where: k = key p = a prime number >= n n = size of the hash table And collision resolvation is done by open addressing with linear probing.
qs_fb_input
...
qs_fb_matrix_data_types
...
qs_fb_trial_fns_types
...
qs_fermi_contact
Distribution of the Fermi contact integral matrix.
qs_force
Quickstep force driver routine
qs_force_types
...
qs_gamma2kp
Initialize a qs_env for kpoint calculations starting from a gamma point qs_env
qs_gapw_densities
...
qs_grid_atom
...
qs_gspace_mixing
...
qs_harmonics_atom
...
qs_hash_table_functions
Functions which are common to different hash tables Derived from qs_fb_hash_table_types and qs_fb_hash_table_types (Mark Tucker, Jun 2016)
qs_initial_guess
Routines to somehow generate an intial guess
qs_integral_utils
Some utility functions for the calculation of integrals
qs_integrate_potential
Integrate single or product functions over a potential on a RS grid
qs_integrate_potential_low
...
qs_integrate_potential_product
Build up the plane wave density by collocating the primitive Gaussian functions (pgf).
qs_integrate_potential_single
Build up the plane wave density by collocating the primitive Gaussian functions (pgf).
qs_interactions
Calculate the interaction radii for the operator matrix calculation.
qs_kind_types
Define the quickstep kind type and their sub types
qs_kinetic
Calculation of kinetic energy matrix and forces
qs_kpp1_env_methods
module that builds the second order perturbation kernel kpp1 = delta_rho|_P delta_rho|_P E drho(P1) drho
qs_kpp1_env_types
basis types for the calculation of the perturbation of density theory.
qs_ks_apply_restraints
Set of routines to apply restraints to the KS hamiltonian
qs_ks_atom
routines that build the Kohn-Sham matrix contributions coming from local atomic densities
qs_ks_methods
routines that build the Kohn-Sham matrix (i.e calculate the coulomb and xc parts
qs_ks_qmmm_methods
...
qs_ks_qmmm_types
...
qs_ks_types
...
qs_ks_utils
routines that build the Kohn-Sham matrix (i.e calculate the coulomb and xc parts
qs_linres_atom_current
given the response wavefunctions obtained by the application of the (rxp), p, and ((dk-dl)xp) operators, here the current density vector (jx, jy, jz) is computed for the 3 directions of the magnetic field (Bx, By, Bz)
qs_linres_current
given the response wavefunctions obtained by the application of the (rxp), p, and ((dk-dl)xp) operators, here the current density vector (jx, jy, jz) is computed for the 3 directions of the magnetic field (Bx, By, Bz)
qs_linres_current_utils
Chemical shift calculation by dfpt Initialization of the nmr_env, creation of the special neighbor lists Perturbation Hamiltonians by application of the p and rxp oprtators to psi0 Write output Deallocate everything
qs_linres_epr_nablavks
Calculates Nabla V_KS (local part if PSP) on the different grids
qs_linres_epr_ownutils
...
qs_linres_epr_utils
g tensor calculation by dfpt Initialization of the epr_env, creation of the special neighbor lists Perturbation Hamiltonians by application of the p and rxp oprtators to psi0 Write output Deallocate everything
qs_linres_issc_utils
Chemical shift calculation by dfpt Initialization of the issc_env, creation of the special neighbor lists Perturbation Hamiltonians by application of the p and rxp oprtators to psi0 Write output Deallocate everything
qs_linres_methods
localize wavefunctions linear response scf
qs_linres_module
Contains the setup for the calculation of properties by linear response by the application of second order density functional perturbation theory. The knowledge of the ground state energy, density and wavefunctions is assumed. Uses the self consistent approach. Properties that can be calculated : none
qs_linres_nmr_epr_common_utils
given the response wavefunctions obtained by the application of the (rxp), p, and ((dk-dl)xp) operators, here the current density vector (jx, jy, jz) is computed for the 3 directions of the magnetic field (Bx, By, Bz)
qs_linres_nmr_shift
from the response current density calculates the shift tensor and the susceptibility
qs_linres_nmr_utils
Chemical shift calculation by dfpt Initialization of the nmr_env, creation of the special neighbor lists Perturbation Hamiltonians by application of the p and rxp oprtators to psi0 Write output Deallocate everything
qs_linres_op
Calculate the operators p rxp and D needed in the optimization of the different contribution of the firs order response orbitals in a epr calculation
qs_linres_polar_utils
Polarizability calculation by dfpt Initialization of the polar_env, Perturbation Hamiltonian by application of the Berry phase operator to psi0 Write output Deallocate everything periodic Raman SL February 2013
qs_linres_types
Type definitiona for linear response calculations
qs_loc_methods
Driver for the localization that should be general for all the methods available and all the definition of the spread functional Write centers, spread and cubes only if required and for the selected states The localized functions are copied in the standard mos array for the next use
qs_loc_molecules
Set of routines handling the localization for molecular properties
qs_loc_types
New version of the module for the localization of the molecular orbitals This should be able to use different definition of the spread functional It should also calculate the integrals analytically so that it can be used irrespective of the pw_env and the collocation of wfn on the grids It should also work with a selected set of states, instead than all of them, in this case one should check that the selected states have the same occupation number The spread functional can be only estimated, or also optimized by minimization and in principle also maximization should be available. This operations can be required irrespective of the printing requirements It would be highly desirable to do all this along a MD run every N steps, and have a trajectory of the centeroids of the localized wfn In addition these functions can be used for properties calculations like NMR and XAS. Therefore it is necessary that the rotated wfn are then copied in the mos fm matrix to be available for next use.
qs_loc_utils
Some utilities for the construction of the localization environment
qs_local_rho_types
...
qs_localization_methods
Localization methods such as 2x2 Jacobi rotations Steepest Decents Conjugate Gradient
qs_matrix_pools
wrapper for the pools of matrixes
qs_mo_io
Definition and initialisation of the mo data type.
qs_mo_methods
collects routines that perform operations directly related to MOs
qs_mo_occupation
Set occupation of molecular orbitals
qs_mo_types
Definition and initialisation of the mo data type.
qs_modify_pab_block
Set of procedures to modify the density matrix, in order to collocate on the real space grid specific functions of the primitives
qs_mom_methods
methods for deltaSCF calculations
qs_mom_types
manage control variables for the maximum overlap method
qs_moments
Calculates the moment integrals and
qs_neighbor_list_types
Define the neighbor list data types and the corresponding functionality
qs_neighbor_lists
Generate the atomic neighbor lists.
qs_nl_hash_table_types
A simple hash table of integer keys, using hash function: H(k) = (k*p) mod n + 1 where: k = key p = a prime number >= n n = size of the hash table And collision resolvation is done by open addressing with linear probing.
qs_o3c_methods
Methods used with 3-center overlap type integrals containers
qs_o3c_types
3-center overlap type integrals containers
qs_oce_methods
Routines for the construction of the coefficients for the expansion of the atomic densities rho1_hard and rho1_soft in terms of primitive spherical gaussians.
qs_oce_types
...
qs_operators_ao
...
qs_ot
orbital transformations
qs_ot_eigensolver
an eigen-space solver for the generalised symmetric eigenvalue problem for sparse matrices, needing only multiplications
qs_ot_minimizer
orbital transformations
qs_ot_scf
basic functionality for using ot in the scf routines.
qs_ot_types
orbital transformations
qs_outer_scf
Routines for performing an outer scf loop
qs_overlap
Calculation of overlap matrix, its derivatives and forces
qs_p_env_methods
Utility functions for the perturbation calculations.
qs_p_env_types
basis types for the calculation of the perturbation of density theory.
qs_pdos
Calculation and writing of projected density of states The DOS is computed per angular momentum and per kind
qs_period_efield_types
type for berry phase efield matrices. At the moment only used for cosmat and sinmat
qs_resp
provides a resp fit for gas phase systems
qs_rho0_ggrid
...
qs_rho0_methods
...
qs_rho0_types
...
qs_rho_atom_methods
...
qs_rho_atom_types
...
qs_rho_methods
methods of the rho structure (defined in qs_rho_types)
qs_rho_types
superstucture that hold various representations of the density and keeps track of which ones are valid
qs_sccs
Self-consistent continuum solvation (SCCS) model implementation
qs_scf
Routines for the Quickstep SCF run.
qs_scf_block_davidson
module that contains the algorithms to perform an itrative diagonalization by the block-Davidson approach P. Blaha, et al J. Comp. Physics, 229, (2010), 453-460 Iterative diagonalization in augmented plane wave based methods in electronic structure calculations
qs_scf_diagonalization
Different diagonalization schemes that can be used for the iterative solution of the eigenvalue problem
qs_scf_initialization
Utility routines for qs_scf
qs_scf_lanczos
module that contains the algorithms to perform an itrative diagonalization by the block-Lanczos approach
qs_scf_loop_utils
Utility routines for qs_scf
qs_scf_methods
groups fairly general SCF methods, so that modules other than qs_scf can use them too split off from qs_scf to reduce dependencies
qs_scf_output
...
qs_scf_post_dftb
Does all kind of post scf calculations for DFTB
qs_scf_post_gpw
Does all kind of post scf calculations for GPW/GAPW
qs_scf_post_scf
Utility routines for qs_scf
qs_scf_post_se
Does all kind of post scf calculations for semi-empirical
qs_scf_types
module that contains the definitions of the scf types
qs_scf_wfn_mix
Does all kind of post scf calculations for GPW/GAPW
qs_spin_orbit
Distribution of the spin orbit integral matrix.
qs_subsys_methods
Routines that work on qs_subsys_type
qs_subsys_types
types that represent a quickstep subsys
qs_tddfpt2_methods
...
qs_tddfpt2_subgroups
...
qs_tddfpt_eigensolver
...
qs_tddfpt_module
Performs density functional perturbation theory (tddfpt) calculations. Uses the self consistent approach. The tddfpt calculation uses the ground state of the unperturbed system as the initial state.
qs_tddfpt_types
...
qs_tddfpt_utils
...
qs_update_s_mstruct
qs_environement methods that use many other modules
qs_vxc
qs_vxc_atom
routines that build the integrals of the Vxc potential calculated for the atomic density in the basis set of spherical primitives
qs_wannier90
Interface to Wannier90 code
qs_wf_history_methods
Storage of past states of the qs_env. Methods to interpolate (or actually normally extrapolate) the new guess for density and wavefunctions.
qs_wf_history_types
interpolate the wavefunctions to speed up the convergence when doing MD
rel_control_types
parameters that control a relativistic calculation
replica_methods
methods to setup replicas of the same system differing only by atom positions and velocities (as used in path integral or nudged elastic band for example)
replica_types
types used to handle many replica of the same system that differ only in atom positions, and velocity. This is useful for things like path integrals or nudged elastic band
restraint
Handles all possible kinds of restraints in CP2K
ri_environment_methods
Calculates integral matrices for RIGPW method
rmsd
Defines functions to perform rmsd in 3D
rpa_axk_util
Auxiliary routines needed for RPA-AXK given blacs_env to another
rpa_communication
Auxiliary rountines necessary to redistribute an fm_matrix from a given blacs_env to another
rpa_im_time
Rountines for RPA with imaginary time
rpa_ri_gpw
Rountines to calculate RI-RPA energy
rs_pw_interface
Transfers densities from PW to RS grids and potentials from PW to RS
rt_propagation_forces
Routines needed for EMD
rt_propagation_types
Types and set_get for real time propagation depending on runtype and diagonalization method different matrices are allocated exp_H_old, exp_H_new, mos_new, mos_old contain always real and imaginary parts of the matrices odd index = real part (alpha, beta spin) even index= imaginary part (alpha, beta spin)
rtp_admm_methods
Utilities for rtp in combination with admm methods adapted routines from admm_method (author Manuel Guidon)
s_square_methods
methods related to S**2 (ie. spin)
sap_kind_types
General overlap type integrals containers
scf_control_types
parameters that control an scf iteration
se_core_core
Split and build its own idependent core_core SE interaction module
se_core_matrix
Calculation of the Hamiltonian integral matrix for semi-empirical methods
se_fock_matrix
Calculation of the Fock matrix for SE methods
se_fock_matrix_coulomb
Module that collects all Coulomb parts of the fock matrix construction
se_fock_matrix_dbg
...
se_fock_matrix_exchange
Construction of the Exchange part of the Fock Matrix
se_fock_matrix_integrals
Provides the low level routines to build both the exchange and the Coulomb Fock matrices.. This routines support d-orbitals and should be changed only if one knows exactly what he is doing..
semi_empirical_expns3_methods
Methods for handling the 1/R^3 residual integral part
semi_empirical_expns3_types
Definition of the type to handle the 1/R^3 residual integral part
semi_empirical_int3_utils
Utilities for evaluating the residual part (1/r^3) of Integrals for semi-empiric methods
semi_empirical_int_ana
Analytical derivatives of Integrals for semi-empirical methods
semi_empirical_int_arrays
Arrays of parameters used in the semi-empirical calculations
semi_empirical_int_gks
Integral GKS scheme: The order of the integrals in makeCoul reflects the standard order by MOPAC
semi_empirical_int_num
Integrals for semi-empiric methods
semi_empirical_int_utils
Utilities for Integrals for semi-empiric methods
semi_empirical_integrals
Set of wrappers for semi-empirical analytical/numerical Integrals routines
semi_empirical_mpole_methods
Setup and Methods for semi-empirical multipole types
semi_empirical_mpole_types
Definition of the semi empirical multipole integral expansions types
semi_empirical_par_utils
Utilities to post-process semi-empirical parameters
semi_empirical_parameters
Default parameter sets for semi empirical models: sep%... ass, asp, app, a.u. parameters for the SCP-NDDO calculations ad, am, aq, a.u. parameters for the multipole approximation to dd, qq a.u. the two-centre, two-electron integrals. alp A**(-1) the exponents used to calculate the core-core repulsion terms. beta eV parameters for the two-centre, one-electron core resonance integrals. z the CORE charge on each element. eheat kcal/mol the experimental heat of formation for each element. eisol eV the calculated electronic energies for each element. fn1 A*eV AM1/PM3 specific parameters fn2 A**(-2) for the core-core repulsion fn3 A interaction. pre eV PDDG function d A PDDG function bfn1-3 special core-core interactions
semi_empirical_store_int_types
Type to store integrals for semi-empirical calculations
semi_empirical_types
Definition of the semi empirical parameter types.
semi_empirical_utils
Working with the semi empirical parameter types.
shg_integrals_test
Calculates 2-center integrals for different r12 operators comparing the Solid harmonic Gaussian integral scheme to the Obara-Saika (OS) scheme
simpar_types
Type for storing MD parameters
spglib_f08
Interface for SPGLIB symmetry routines
splines_methods
routines for handling splines
splines_types
routines for handling splines_types
spme
Calculate the electrostatic energy by the Smooth Particle Ewald method
statistical_methods
Methods to perform on the fly statistical analysis of data -) Schiferl and Wallace, J. Chem. Phys. 83 (10) 1985
stm_images
Calculation of STM image as post processing of an electronic structure calculation,
subcell_types
subcell types and allocation routines
surface_dipole
...
t_c_g0
...
t_sh_p_s_c
...
taper_types
Definition of the semi empirical parameter types.
task_list_methods
generate the tasks lists used by collocate and integrate routines
task_list_types
types for task lists
topology
Control for reading in different topologies and coordinates
topology_amber
Handles all functions used to read and interpret AMBER coordinates and topology files
topology_cif
Handles CIF (Crystallographic Information File) files
topology_connectivity_util
Collection of subroutine needed for topology related things
topology_constraint_util
Collection of subroutine needed for topology related things
topology_coordinate_util
Collection of subroutine needed for topology related things
topology_cp2k
...
topology_generate_util
Collection of subroutine needed for topology related things
topology_gromos
...
topology_input
Reads the input sections "topology"
topology_multiple_unit_cell
Handles the multiple unit cell option regarding atomic coordinates
topology_pdb
Handles PDB files
topology_psf
Functionality to read in PSF topologies and convert it into local data structures
topology_types
...
topology_util
Collection of subroutine needed for topology related things
topology_xtl
Handles XTL (Molecular Simulations, Inc (MSI)) files
topology_xyz
...
transport
routines for DFT+NEGF calculations (coupling with the quantum transport code OMEN)
transport_env_types
CP2K transport environment and related C-interoperable types
uff_vdw_radii_table
provides a table for UFF vdW radii: Rappe et al. J. Am. Chem. Soc. 114, 10024 (1992)
virial_methods
...
wannier90
Outtakes from Wannier90 code
wannier_states
Routines for the calculation of wannier states
wannier_states_types
defines the type needed for computing wannier states expectations
xas_control
Defines control structures, which contain the parameters and the settings for the calculations.
xas_env_types
define create destroy get and put information in xas_env to calculate the x-ray absorption spectra
xas_methods
driver for the xas calculation and xas_scf for the tp method
xas_restart
Initialize the XAS orbitals for specific core excitations Either the GS orbitals are used as initial guess, or the xas mos are read from a previous calculation. In the latter case, the core-hole potetial should be the same.
xas_tp_scf
xas_scf for the tp method It is repeaated for every atom that have to be excited
xc_adiabatic_methods
Contains some functions used in the context of adiabatic hybrid functionals
xc_adiabatic_utils
xc_pot_saop
Calculate the saop potential
xc_write_output
Writes information on XC functionals to output
xray_diffraction
...