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
- ...