CP2K 2.4 (Revision 12889)

Namespace List

Here is a list of all namespaces with brief descriptions:
admm_methodsContains methods used in the context of density fitting
admm_typesTypes and set/get functions for auxiliary denisty matrix methods
admm_utilsContains methods used in the context of density fitting
ai_angmomCalculation of the angular momentum integrals over Cartesian Gaussian-type functions
ai_coulombCalculation of Coulomb integrals over Cartesian Gaussian-type functions (electron repulsion integrals, ERIs)
ai_coulomb_testTest of Electron Repulsion Routines (ERI)
ai_derivativesCalculate the first derivative of an integral block
ai_elec_fieldCalculation of Coulomb integrals over Cartesian Gaussian-type functions (electron repulsion integrals, ERIs)
ai_eri_debugCalculation of Coulomb integrals over Cartesian Gaussian-type functions (electron repulsion integrals, ERIs)
ai_fermi_contactCalculation of the Fermi contact integrals over Cartesian Gaussian-type functions
ai_geminalsCalculation of Coulomb integrals over Correlated Cartesian Gaussian Geminals (electron repulsion integrals, ERIs)
ai_geminals_debugCalculation of Coulomb integrals over Correlated Cartesian Gaussian Geminals (electron repulsion integrals, ERIs). This is a slow reference implementation for debugging perposes
ai_geminals_utilsCalculation of Coulomb integrals over Correlated Cartesian Gaussian Geminals (electron repulsion integrals, ERIs). Utility routines
ai_kineticCalculation of the kinetic energy integrals over Cartesian Gaussian-type functions
ai_momentsCalculation of the moment integrals over Cartesian Gaussian-type functions
ai_onecenter
ai_oneelectronCalculation of general three-center integrals over Cartesian Gaussian-type functions and a spherical operator centered at position C
ai_os_rr
ai_overlap3
ai_overlap_newCalculation of the overlap integrals over Cartesian Gaussian-type functions
ai_overlap_pplCalculation of three-center overlap integrals over Cartesian Gaussian-type functions for the second term V(ppl) of the local part of the Goedecker pseudopotential (GTH):
ai_spin_orbitCalculation of spin orbit integrals over Cartesian Gaussian-type functions
ai_verfcBuild up the nuclear potential part of the core Hamiltonian matrix in the case of an allelectron calculation by computing the nuclear attraction integral matrix <a|-Z/r|b> and the integral matrix <a|Z*erf(r)/r|b>. The integrals <a|Z*erf(r)/r|b> can be rewritten as the three-center Coulomb integrals <ab||c> with a primitive s-type Gaussian function c multiplied by a factor N
al_system_dynamics
al_system_init
al_system_mapping
al_system_typesType for the canonical sampling through velocity rescaling
array_typesArray objects with reference counting
atom
atom_basis
atom_electronic_structure
atom_energy
atom_fitRoutines that fit parameters for /from atomic calculations
atom_kind_orbitalsCalculate the orbitals for a given atomic kind type
atom_operatorsCalculate the atomic operator matrices
atom_optimizationOptimizer for the atomic code
atom_outputRoutines that build the integrals of the Vxc potential calculated for the atomic code
atom_pseudo
atom_typesDefine the atom type and its sub types
atom_utilsSome basic routines for atomic calculations
atom_xcRoutines that build the integrals of the Vxc potential calculated for the atomic code
atomic_chargesSimple routine to print charges for all atomic charge methods (currently mulliken, lowdin and ddapc)
atomic_kind_list_typesRepresent a simple array based list of the given type
atomic_kind_typesDefine the atomic kind types and their sub types
atoms_input
atprop_typesHolds information on atomic properties
averages_typesHandles the type to compute averages during an MD
barostat_typesBarostat structure: module containing barostat available for MD
barostat_utilsBarostat utils
basis_set_types
bessel_libCalculates Bessel functions
beta_gamma_psi
bfgs_optimizerRoutines for Geometry optimization using BFGS algorithm
bibliographyCollects all references to literature in CP2K as new algorithms / method are included from literature sources we add a citation, to give credit to the authors (often ourselves, but this need not to be the case), and as a form of documentation
block_p_typesCollect pointers to a block of reals
bsseModule to perform a counterpoise correction (BSSE)
btree_i8_k_cp2d_vB-tree implementation template
btree_i8_k_dp2d_vB-tree implementation template
btree_i8_k_sp2d_vB-tree implementation template
btree_i8_k_zp2d_vB-tree implementation template
c_mpi_callsWrapper for various memory allocation methods and bindings
cell_optPerforms CELL optimization
cell_opt_typesContains type used for a Simulation Cell Optimization
cell_opt_utilsFunctional that calculates the energy and its derivatives for the geometry optimizer
cell_typesHandles all functions related to the CELL
cg_optimizerRoutines for Geometry optimization using Conjugate Gradients
cg_testTest of Clebsch-Gordon Coefficients
cg_utilsUtilities for Geometry optimization using Conjugate Gradients
colvar_methodsDefines collective variables s({R}) and the derivative of this variable wrt R these can then be used in constraints, restraints and metadynamics ..
colvar_typesInitialize the collective variables types
colvar_utilsEvaluations of colvar for internal coordinates schemes
constraint
constraint_3x3
constraint_4x6
constraint_clvModule that handles the COLLECTIVE constraints
constraint_fxd
constraint_utilContains routines useful for the application of constraints during MD
constraint_vsiteRoutines to handle the virtual site constraint/restraint
core_aeCalculation of the nuclear attraction contribution to the core Hamiltonian <a|erfc|b> :we only calculate the non-screened part
core_pplCalculation of the local pseudopotential contribution to the core Hamiltonian <a|V(local)|b> = <a|Sum e^a*rc**2|b>
core_ppnlCalculation of the non-local pseudopotential contribution to the core Hamiltonian <a|V(non-local)|b> = <a|p(l,i)>*h(i,j)*<p(l,j)|b>
cp2k_debugDebug energy and derivatives w.r.t. finite differences
cp2k_infoSome minimal info about CP2K, including its version and license
cp2k_runs
cp_array_i4_sortRoutine for sorting an array
cp_array_i8_sortRoutine for sorting an array
cp_array_i_sortRoutine for sorting an array
cp_array_i_utilsVarious utilities that regard array of different kinds: output, allocation,..
cp_array_logical_utilsVarious utilities that regard array of different kinds: output, allocation,..
cp_array_r_sortRoutine for sorting an array
cp_array_r_utilsVarious utilities that regard array of different kinds: output, allocation,..
cp_array_utilsWrapper for all the array utils
cp_blacs_callsWrappers for the actual blacs calls. all functionality needed in the code should actually be provide by cp_blacs_env these functions should be private members of that module
cp_blacs_envMethods related to the blacs parallel environment
cp_cfm_basic_linalgBasic linear algebra operations for complex full matrixes
cp_cfm_diagUsed for collecting some of the diagonalization shemes available for cp_cfm_type cp_fm_power also moved here as it is very related
cp_cfm_typesRepresent a complex full matrix distribued on many processors
cp_control_typesDefines control structures, which contain the parameters and the settings for the DFT-based calculations
cp_control_utilsUtilities to set up the control types
cp_dbcsr_choleskyInterface to (sca)lapack for the Cholesky based procedures
cp_dbcsr_diagInterface to (sca)lapack for the Cholesky based procedures
cp_dbcsr_interfaceDBCSR interface in CP2K
cp_dbcsr_methodsMethods for the CP2K DBCSR type
cp_dbcsr_operationsDBCSR operations in CP2K
cp_dbcsr_outputDBCSR output in CP2K
cp_dbcsr_typesDBCSR types in CP2K
cp_dbcsr_utilHelper routines for cp_dbcsr
cp_ddapcDensity Derived atomic point charges from a QM calculation (see Bloechl, J. Chem. Phys. Vol. 103 pp. 7422-7428)
cp_ddapc_forcesDensity Derived atomic point charges from a QM calculation (see J. Chem. Phys. Vol. 103 pp. 7422-7428)
cp_ddapc_methodsInformation regarding the decoupling/recoupling method of Bloechl
cp_ddapc_typesInformation regarding the decoupling/recoupling method of Bloechl
cp_ddapc_utilDensity Derived atomic point charges from a QM calculation (see Bloechl, J. Chem. Phys. Vol. 103 pp. 7422-7428)
cp_error_handlingModule that contains the routines for error handling The idea is that in general routines have an optional parameter that can be used to change the error behaviour
cp_external_controlRoutines to handle the external control of CP2K
cp_filesUtility routines to open and close files. Tracking of preconnections
cp_fm_basic_linalgBasic linear algebra operations for full matrixes
cp_fm_choleskyVarious cholesky decomposition related routines
cp_fm_diagUsed for collecting some of the diagonalization shemes available for cp_fm_type. cp_fm_power also moved here as it is very related
cp_fm_pool_typesPool for for elements that are retained and released
cp_fm_structRepresent the structure of a full matrix
cp_fm_typesRepresent a full matrix distribued on many processors
cp_fm_vectRoutine to handle vectors of full matrixes
cp_iter_typesCollection of routines to handle the iteration info
cp_lbfgsLBFGS-B routine (version 3.0, April 25, 2011)
cp_lbfgs_geoMain driver for L-BFGS optimizer
cp_lbfgs_optimizer_goptRoutines that optimize a functional using the limited memory bfgs quasi-newton method. The process set up so that a master runs the real optimizer and the others help then to calculate the objective function. The arguments for the objective function are physicaly present in every processor (nedeed in the actual implementation of pao). In the future tha arguments themselves could be distributed
cp_linked_list_3d_rDescribes a generic linked list template. Linked list are supposed to always use pointers to the nodes for basically everything: a pointer to the node is a list, an element of the list, an iterator between the elment of the list. An empty list is represented by an unassociated pointer
cp_linked_list_charDescribes a generic linked list template. Linked list are supposed to always use pointers to the nodes for basically everything: a pointer to the node is a list, an element of the list, an iterator between the elment of the list. An empty list is represented by an unassociated pointer
cp_linked_list_fmDescribes a generic linked list template. Linked list are supposed to always use pointers to the nodes for basically everything: a pointer to the node is a list, an element of the list, an iterator between the elment of the list. An empty list is represented by an unassociated pointer
cp_linked_list_intDescribes a generic linked list template. Linked list are supposed to always use pointers to the nodes for basically everything: a pointer to the node is a list, an element of the list, an iterator between the elment of the list. An empty list is represented by an unassociated pointer
cp_linked_list_logicalDescribes a generic linked list template. Linked list are supposed to always use pointers to the nodes for basically everything: a pointer to the node is a list, an element of the list, an iterator between the elment of the list. An empty list is represented by an unassociated pointer
cp_linked_list_pwDescribes a generic linked list template. Linked list are supposed to always use pointers to the nodes for basically everything: a pointer to the node is a list, an element of the list, an iterator between the elment of the list. An empty list is represented by an unassociated pointer
cp_linked_list_realDescribes a generic linked list template. Linked list are supposed to always use pointers to the nodes for basically everything: a pointer to the node is a list, an element of the list, an iterator between the elment of the list. An empty list is represented by an unassociated pointer
cp_linked_list_rsDescribes a generic linked list template. Linked list are supposed to always use pointers to the nodes for basically everything: a pointer to the node is a list, an element of the list, an iterator between the elment of the list. An empty list is represented by an unassociated pointer
cp_linked_list_valDescribes a generic linked list template. Linked list are supposed to always use pointers to the nodes for basically everything: a pointer to the node is a list, an element of the list, an iterator between the elment of the list. An empty list is represented by an unassociated pointer
cp_linked_list_xc_derivDescribes a generic linked list template. Linked list are supposed to always use pointers to the nodes for basically everything: a pointer to the node is a list, an element of the list, an iterator between the elment of the list. An empty list is represented by an unassociated pointer
cp_log_handlingVarious routines to log and control the output. The idea is that decisions about where to log should not be done in the code that generates the log, but should be globally changeable a central place. So some care has been taken to have enough information about the place from where the log comes so that in the future intelligent and flexible decisions can be taken by the logger, without having to change other code
cp_ma_interfaceMACHINE ARCH interface in CP2K
cp_output_handlingRoutines to handle the output, The idea is to remove the decision of wheter to output and what to output from the code that does the output, and centralize it here
cp_para_envType to store parallelization informations (at the moment assumes 1d position and uses mpi)
cp_para_typesType to store parallelization informations (at the moment assumes 1d position and uses mpi). type def in this separate module to avoid circular ref
cp_parser_buffer_typesModule to allow simple buffering of read lines of a parser
cp_parser_ilist_methodsModule to allow simple internal preprocessing in input files
cp_parser_ilist_typesModule to allow simple internal preprocessing in input files
cp_parser_inpp_methodsModule to allow simple internal preprocessing in input files
cp_parser_inpp_typesModule to allow simple internal preprocessing in input files
cp_parser_methodsUtility routines to read data from files. Kept as close as possible to the old parser because 1. string handling is a weak point of fortran compilers, and it is easy to write correct things that do not work 2. conversion of old code
cp_parser_status_typesModule to allow the storage of the parser status
cp_parser_typesUtility routines to read data from files. Kept as close as possible to the old parser because 1. string handling is a weak point of fortran compilers, and it is easy to write correct things that do not work 2. conversion of old code
cp_result_methodsSet of type/routines to handle the storage of results in force_envs
cp_result_typesSet of type/routines to handle the storage of results in force_envs
cp_subsys_methodsInitialize a small environment for a particular calculation
cp_subsys_typesTypes that represent a subsys, i.e. a part of the system
cp_symmetryWork with symmetry
cp_unitsUnit conversion facility
cpot_typesMakes a run that valuates the chemical potential difference between two different two box situations
csvr_system_dynamics
csvr_system_init
csvr_system_mapping
csvr_system_typesType for the canonical sampling through velocity rescaling
csvr_system_utils
cube_utilsFor a given dr()/dh(r) this will provide the bounds to be used if one wants to go over a sphere-subregion of given radius
cuda_memoryRoutines involved in management of device memory when cuda support is enabled
d3_polyRoutines 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
damping_dipole_types
dbcsr_array_i4_sortRoutine for sorting an array
dbcsr_array_i8_sortRoutine for sorting an array
dbcsr_blas_operationsWrappers to BLAS calls
dbcsr_block_accessDBCSR block access
dbcsr_block_buffersOperations with block buffers
dbcsr_block_operationsRoutines for basic block transformations
dbcsr_c_mpi_callsWrapper for various memory allocation methods and bindings
dbcsr_configConfiguration options for DBCSR
dbcsr_cuda_deviceCUDA device support for DBCSR
dbcsr_cuda_memoryCUDA support for DBCSR
dbcsr_cuda_methodsCUDA support for DBCSR
dbcsr_cuda_operationsCUDA support for DBCSR
dbcsr_cuda_typesCUDA support for DBCSR
dbcsr_data_methodsDBCSR data methods
dbcsr_data_operationsDBCSR data operations
dbcsr_dist_operationsDBCSR operations on distributions
dbcsr_error_handling
dbcsr_index_operationsOperations on the DBCSR index
dbcsr_ioDBCSR input/output
dbcsr_iterator_operationsDBCSR iterator operations
dbcsr_kindsDefines the basic variable types
dbcsr_machine
dbcsr_message_passingInterface to the message passing library MPI
dbcsr_methodsBase methods on DBCSR data structures
dbcsr_mm_cannonFirst layer of the dbcsr matrix-matrix multiplication. It performs the MPI parallelization according to Cannon's algorithm
dbcsr_mm_csrThird layer of the dbcsr matrix-matrix multiplication. It collects the full matrix blocks, which need to be multiplied, and stores their parameters in various stacks. After a certain amount of parameters is collected it dispatches the filled stacks to either the CPU or the GPU
dbcsr_mm_driverFourth layer of the dbcsr matrix-matrix multiplication. It hides the differences between performing calculations on the GPU or the CPU
dbcsr_mm_multrecSecond layer of the dbcsr matrix-matrix multiplication. It divides the multiplication in a cache-oblivious manner
dbcsr_mm_stackStacks of small matrix multiplications
dbcsr_mm_typesDatatypes used by the dbcsr matrix-matrix multiplication machinery
dbcsr_mp_operationsWrappers to message passing calls
dbcsr_operationsHigher-level operations on DBCSR matrices
dbcsr_performance_multiplyPerformance for DBCSR multiply
dbcsr_plasma_interfaceInterface to PLASMA
dbcsr_ptr_utilDBCSR pointer and unmanaged array utilities
dbcsr_test_addTests for DBCSR add
dbcsr_test_methodsTests for CP2K DBCSR operations
dbcsr_test_multiplyTests for DBCSR multiply
dbcsr_testsTests for CP2K DBCSR operations
dbcsr_toollibTools usually found in a standard library
dbcsr_transformationsDBCSR transformations
dbcsr_typesDBCSR data types
dbcsr_utilDBCSR sparse matrix utility routines
dbcsr_work_operationsDBCSR work matrix utilities
dft_plus_uAdd the DFT+U contribution to the Hamiltonian matrix
dg_rho0_types
dg_types
dgs
dictA common interface for all instances of dict__keytype___valuetype_.template
dict_i4tuple_callstatA dictionary (also known as hashtable or hashmap). Internally the dictionary uses an array to holds its data. If this array reaches a load-factor of 75%, a new array with twice the size will be allocated and the items are then copied over. This ensures that the dictionary will perform operations in O(1)
dict_str_i4A dictionary (also known as hashtable or hashmap). Internally the dictionary uses an array to holds its data. If this array reaches a load-factor of 75%, a new array with twice the size will be allocated and the items are then copied over. This ensures that the dictionary will perform operations in O(1)
dimer_methodsContains types used for a Dimer Method calculations
dimer_typesContains types used for a Dimer Method calculations
dimer_utilsContains utilities for a Dimer Method calculations
distribution_1d_typesStores a lists of integer that are local to a processor. The idea is that these integers represent objects that are distributed between the different processors. The ordering is just to make some operation more efficent, logically these lists are like sets. Some operations assume that the integers represent a range of values from 1 to a (not too big) maxval, and that an element is present just once, and only on a processor (these assumption are marked in the documentation of such operations). The concrete task for which this structure was developed was distributing atoms between the processors
distribution_2d_typesStores 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_methodsDistribution methods for atoms, particles, or molecules
distribution_optimizeOptimizes the parallel distribution trying to minimize a cost function
dkh_main
dm_ls_chebyshevRoutines using linear scaling chebyshev methods
dm_ls_scfRoutines for a linear scaling quickstep SCF run based on the density matrix
dm_ls_scf_curvyDensity matrix optimization using exponential transformations
dm_ls_scf_methodsLower level routines for linear scaling SCF
dm_ls_scf_qsRoutines 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_typesTypes needed for a linear scaling quickstep SCF run based on the density matrix
dummy_c_bindingsDummy C bindings
efield_utilsAll routins needed for a nonperiodic electric field
eigenvalueproblemsProvides interfaces to LAPACK eigenvalue/SVD routines
eip_environmentMethods and functions on the EIP environment
eip_environment_typesThe environment for the empirical interatomic potential methods
eip_mainMain program which drives the EIP calculation
eip_siliconEmpirical interatomic potentials for Silicon
elpa1
elpa2
elpa_pdgeqrf
elpa_pdlarfb
environmentSets up and terminates the global environment variables
ep_methodsIn this module there are the routines for the calculation of psi and energy without scf, but perturbatively as in PRL 87(22);226401; 26 Nov 2001,"Accurate Total Energies without Self-Consistency", David M. Benoit, Daniel Sebastiani, and Michele Parrinello
ep_qs_methodsMethods that change a qs calculation to perform an ep calculation
ep_qs_typesTypes for the modifications of the qs calculation to perform an ep calculation
ep_typesTypes needed for the calculation of the enrgy with perturbation
erf_fnCalculates error function and complementary error function
et_couplingCalculates the electron transfer coupling elements Wu, Van Voorhis, JCP 125, 164105 (2006)
et_coupling_typesDefinition and initialisation of the et_coupling data type
ewald_environment_types
ewald_pw_methodsPw_methods
ewald_pw_typesPw_types
ewald_spline_util
ewalds
ewalds_multipoleTreats the electrostatic for multipoles (up to quadrupoles)
exclusion_typesExclusion type
extended_system_dynamics
extended_system_init
extended_system_mapping
extended_system_typesLumps all possible extended system variables into one type for easy access and passing
external_potential_methodsMethods to include the effect of an external potential during an MD or energy calculation
external_potential_typesDefinition of the atomic potential types
f77_blasThis module is the real poisoning for BLAS. To avoid I/O issues at compiling time it is better to avoid the inclusion of the f77_blas_extra and f77_blas_generic into this module and include them directly in the needed modules. This reduces a lot the compile time on several machines.. See f77_blas_netlib, f77_blas_poison and f77_blas_generic for further comments
f77_blas_extra
f77_blas_generic
f77_blas_netlib
f77_blas_poison
f77_interfaceInterface to use cp2k as library
farming_methods
farming_types
fermi_utilsDeal with the Fermi distribution, compute it, fix mu, get derivs
fft_kindsDefines the basic variable types
fft_planType to store data about a (1D or 3D) FFT, including FFTW plan
fft_tools
fist_energy_types
fist_environmentInitialize fist environment
fist_environment_types
fist_force
fist_intra_force
fist_mainPerform classical molecular dynamics and path integral simulations
fist_neighbor_list_control
fist_neighbor_list_typesDefine the neighbor list data types and the corresponding functionality
fist_neighbor_listsGenerate the atomic neighbor lists for FIST
fist_nonbond_env_types
fist_nonbond_force
fist_pol_scf
force_env_methodsInterface for the force calculations
force_env_typesInterface for the force calculations
force_env_utilsUtil force_env module
force_field_typesDefine all structures types related to force_fields
force_fields
force_fields_all
force_fields_ext
force_fields_input
force_fields_util
fp_methodsMethods used in the flexible partitioning scheme
fp_typesTypes used in the flexible partitioning scheme
fparser
free_energy_methodsMethods to perform free energy and free energy derivatives calculations
free_energy_typesDefines types for metadynamics calculation
ga_environment_typesModule that collects GA functionality for semi-empirical
gammaCalculation of the incomplete Gamma function F_n(t) for multi-center integrals over Cartesian Gaussian functions
gauss_collocRoutines 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
geo_optPerforms geometry optimization
gle_system_dynamics
gle_system_types
glob_matching
global_typesRepresent 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
gopt_f_methodsFunctional that calculates the energy and its derivatives for the geometry optimizer
gopt_f_typesFunctional that calculates the energy and its derivatives for the geometry optimizer
gopt_param_typesTypo and related routines to handle parameters controlling the GEO_OPT module
graphconUses a combination of graphs and hashing to determine if two molecules are topologically equivalent, and if so, finds the one by one mapping
harris_energy_typesThe Harris energy type, which contains all the informations needed to perform and analyse the Harris functional energy correction
harris_env_typesThe Harris environment, which contains beside the harris energy and force types all the informations needed to perform and analyse the Harris functional energy and force corrections
harris_forcePerforms the Harris functional force correction
harris_force_typesThe Harris force , which contains all the informations needed to perform and analyse the Harris functional force correction
harris_functionalPerforms the Harris functional energy correction
hartree_local_methods
hartree_local_types
header
helium_commonIndependent helium subroutines shared by other modules
helium_interactionsMethods that handle helium-solvent and helium-helium interactions
helium_ioI/O subroutines for helium
helium_methodsMethods dealing with helium_solvent_type
helium_samplingMethods for sampling helium variables
helium_typesData types representing superfluid helium
hfx_admm_utilsUtilities for hfx and admm methods
hfx_communicationRoutines for data exchange between MPI processes
hfx_compression_core_methodsContains routines for data compression. PLEASE DO NOT MODIFY
hfx_compression_methodsRoutines and types for Hartree-Fock-Exchange
hfx_contract_blockRoutines to contract density matrix blocks with the for center integrals to yield the Kohn-Sham matrix. The specialized routines are about 1.2-2.0 as fast as the default one
hfx_contraction_methodsContains routines for contraction without dgemms. PLEASE DO NOT MODIFY. Contains specific routines for contraction. The compiler flag -D__MAX_CONTR defines the maximum angular momentum up to which specialized code will be used. Default setting is d-functions. Increasing -D__MAX_CONTR produces faster code but might overburden the optimization capabilities of some poor compilers. This file contains specific code up to g-functions. If you need more look at cp2k/tools/hfx_tools/contraction/
hfx_derivativesRoutines to calculate derivatives with respect to basis function origin
hfx_energy_potentialRountines to calculate HFX energy and potential
hfx_helpersSome auxiliary functions and subroutines needed for HFX calculations
hfx_libint_interfaceInterface to the Libint-Library
hfx_libint_wrapperInterface to the Libint-Library or a c++ wrapper
hfx_libint_wrapper_typesProvides types that are used to interface with the libint library
hfx_load_balance_methodsRountines for optimizing load balance between processes in HFX calculations
hfx_pair_list_methodsRountines for optimizing load balance between processes in HFX calculations
hfx_ri_gemoptOptimizer for geminal basis sets
hfx_ri_methodsMaster routines for the Hartree-Fock RI Method
hfx_screening_methodsSeveral screening methods used in HFX calcualtions
hfx_typesTypes and set/get functions for HFX
input_constantsCollects all constants needed in input so that they can be used without circular dependencies
input_cp2kBuilds the input structure for cp2k
input_cp2k_atomBuilds the input structure for the ATOM module
input_cp2k_atpropInput section for atomic properties
input_cp2k_barostats
input_cp2k_binary_restartsRoutines to read the binary restart file of CP2K
input_cp2k_checkChecks the input and perform some automatic "magic" on it
input_cp2k_colvar
input_cp2k_constraints
input_cp2k_dftFunction that build the dft section of the input
input_cp2k_distributionFunction that builds the distribution section of the input
input_cp2k_eipCreates the EIP section of the input
input_cp2k_force_evalBuilds the input structure for the FORCE_EVAL section of cp2k
input_cp2k_free_energy
input_cp2k_hfxFunction that builds the hartree fock exchange section of the input
input_cp2k_mixedBuilds the input structure for the MIXED environment
input_cp2k_mmCreates the mm section of the input
input_cp2k_motion
input_cp2k_mp2Input section for MP2
input_cp2k_poissonFunction that build the poisson section of the input
input_cp2k_properties_dftFunction that build the dft section of the input
input_cp2k_qmmmCreates the qmmm section of the input
input_cp2k_respFunction that builds the resp section of the input
input_cp2k_restartsSet of routines to dump the restart file of CP2K
input_cp2k_rsgrid
input_cp2k_subsysBuilds the subsystem section of the input
input_cp2k_thermostats
input_cp2k_vibBuilds the input structure for the VIBRATIONAL_ANALYSIS module
input_cp2k_xcFunction that build the xc section of the input
input_enumeration_typesEnumeration, i.e. a mapping between integers and strings
input_keyword_typesKeywords in an input
input_optimize_basisBuilds the input structure for optimize_basis
input_optimize_inputBuilds the input structure for optimize_input
input_parsingRoutines that parse the input
input_section_typesObjects that represent the structure of input sections and the data contained in an input section
input_val_typesWrapper for basic fortran types
integratorProvides integrator routines (velocity verlet) for all the ensemble types
integrator_utilsProvides integrator utility routines for the integrators
iterate_matrixRoutines useful for iterative matrix calculations
k290K-points and crystal symmetry routines
kahan_sumSums arrays of real/complex numbers with *much* reduced round-off as compared to a naive implementation (or the one found in most compiler's SUM intrinsic) using an implementation of Kahan's algorithm for summing real numbers that can be used instead of the standard Fortran SUM(array[,mask])
kg_correctionRoutines for a Kim-Gordon-like partitioning into molecular subunits
kg_environmentRoutines for a Kim-Gordon-like partitioning into molecular subunits
kg_environment_typesTypes needed for a for a Kim-Gordon-like partitioning into molecular subunits
kg_min_heap
kg_vertex_coloring_methodsRoutines 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)
kindsDefines the basic variable types
lapackInterface to the LAPACK F77 library
lazyFilters for interpolating scaling functions
lebedevGeneration of the spherical Lebedev grids. All Lebedev grids were generated with a precision of at least 33 digits (Mathematica). Thus the Lebedev abscissas and weights are accurate to 32 digits (quadruple precision)
lgrid_typesScratch space for multiple threads writing to rs grids (see qs_collocate_density.F for an example
lib_kindsDefines the basic variable types
library_testsPerformance tests for basic tasks like matrix multiplies, copy, fft
libxc_funcs_mCorrespondence between the functional name and identifier
linear_systemsProvides interfaces to LAPACK routines for factorisation and linear system solving
listA common interface for all instances of list__valuetype_.template
list_callstackentryAn array-based list which grows on demand. When the internal array is full, a new array of twice the size will be allocated and the items are copied over
list_routinestatAn array-based list which grows on demand. When the internal array is full, a new array of twice the size will be allocated and the items are copied over
list_timerenvAn array-based list which grows on demand. When the internal array is full, a new array of twice the size will be allocated and the items are copied over
lri_environment_methodsCalculates integral matrices for lripaw method lri : local resolution of the identity
lri_environment_typesTypes and subroutines for dealing with the lri_env lri : local resolution of the identity
ma_affinityAffinity support for cp2k
ma_configConfiguration options for Machine Architecture
ma_dummy_c_bindingsDummy C bindings
ma_errorsMachine Hardware support for cp2k
ma_kindsDefines the basic variable types
ma_process_mappingProcess mapping support for cp2k
ma_topologyNetwork topology support for cp2k
machine
machine_architectureMachine Hardware support for cp2k
machine_architecture_typesMachine Hardware support for cp2k
machine_architecture_utilsMachine Hardware support for cp2k
machine_g95
manybody_eam
manybody_potential
manybody_siepmann
manybody_tersoff
mathconstantsDefinition of mathematical constants and functions
mathlibCollection of simple mathematical functions and subroutines
mc_controlSome general routines for dealing with the restart files and creating force_env for MC use
mc_coordinatesMiscellaneous subroutines used in the Monte Carlo runs,mostly geared towards changes in coordinates
mc_ensemblesUsed to run the bulk of the MC simulation, doing things like choosing move types and writing data to files
mc_environment_typesSubroutines for dealing with the mc_env
mc_ge_movesMonte Carlo moves that can handle more than one box, including the Quickstep move, a volume swap between boxes, and a particle swap between boxes
mc_miscMiscellaneous subroutines used in the Monte Carlo runs, mostly I/O stuff
mc_move_controlControl the handling of the move data in Monte Carlo (MC) simulations
mc_movesVarious moves in Monte Carlo (MC) simulations, including change of internal conformation, translation of a molecule, rotation of a molecule, and changing the size of the simulation box
mc_runPreps the system for a Monte Carlo run (sets up some environments, calls the routines to read in the MC parameters)...converted from qs_mc.F
mc_typesHolds all the structure types needed for Monte Carlo, except the mc_environment_type
md_conserved_quantitiesComputes the conserved quantities for a given md ensemble and also kinetic energies, thermo/barostat stuff
md_ener_typesSplit md_ener module from md_environment_type
md_energiesPrints all energy info per timestep to the screen or to user defined output files
md_environment_types
md_runPerform a molecular dynamics (MD) run using QUICKSTEP
md_utilUtilities for Molecular Dynamics
md_vel_utilsCollection of utilities for setting-up and handle velocities in MD runs
memory_utilitiesUtility routines for the memory handling. Uses stop_memory to handle exceptions
message_passingInterface to the message passing library MPI
metadynamicsPerforms the metadynamics calculation
metadynamics_typesDefines types for metadynamics calculation
metadynamics_utilsPerforms the metadynamics calculation
min_heap
minimaxRoutines to calculate the minimax coefficients in order to approximate 1/x as a sum over exponential functions 1/x ~ SUM_{i}^{K} w_i EXP(-a_i * x) for x belonging to [1:Rc]
mixed_energy_types
mixed_environmentInitialize mixed environment
mixed_environment_types
mixed_environment_utilsUtil mixed_environment
mixed_mainPerform biased molecular dynamics (H= k H1 + (1-k) H2 [linear or general mixing)
mltfftsg_tools
mm_collocate_potentialCalculate the MM potential by collocating the primitive Gaussian functions (pgf)
mm_mapping_libraryContains 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_selectiveModule performing a mdoe selective vibrational analysis
mol_force
mol_kind_new_list_typesRepresent a simple array based list of the given type
mol_new_list_typesRepresent a simple array based list of the given type
molden_utilsFunctions handling the MOLDEN format. Split from mode_selective
molecular_statesRoutines for the calculation of molecular states
molecule_kind_typesDefine the molecule kind structure types and the corresponding functionality
molecule_types_newDefine the data structure for the molecule information
molsymMolecular symmetry routines
moments_utilsCalculates the moment integrals <a|r^m|b>
motion_utilsOutput Utilities for MOTION_SECTION
mp2Rountines to calculate MP2 energy
mp2_direct_methodRountines to calculate MP2 energy
mp2_gpwRountines to calculate MP2 energy using pw
mp2_laplaceRountines to calculate MP2 energy with laplace approach
mp2_ri_gpwRountines to calculate RI-GPW-MP2 energy using pw
mp2_setupTypes needed for MP2 calculations
mp2_typesTypes needed for MP2 calculations
mt_util
mullikenCompute mulliken charges we (currently) define them as c_i = 1/2 [ (PS)_{ii} + (SP)_{ii} ]
multipole_typesMultipole structure: for multipole (fixed and induced) in FF based MD
neb_ioI/O Module for Nudged Elastic Band Calculation
neb_md_utilsModule with utility to perform MD Nudged Elastic Band Calculation
neb_methodsModule performing a Nudged Elastic Band Calculation
neb_opt_utilsModule with utility to perform MD Nudged Elastic Band Calculation
neb_typesTypo for Nudged Elastic Band Calculation
neb_utilsModule with utility for Nudged Elastic Band Calculation
optbas_fenv_manipulation
optbas_opt_utils
optimize_basis
optimize_basis_types
optimize_basis_utils
optimize_input
orbital_pointersProvides Cartesian and spherical orbital pointers and indices
orbital_symbolsOrbital_symbols
orbital_transformation_matricesCalculation of the spherical harmonics and the corresponding orbital transformation matrices
pair_potential
pair_potential_coulomb
pair_potential_types
pair_potential_util
parallel_rng_typesParallel (pseudo)random number generator (RNG) for multiple streams and substreams of random numbers
particle_list_typesRepresent a simple array based list of the given type
particle_typesDefine the data structure for the particle information
paw_proj_set_types
periodic_tablePeriodic Table related data definitions
physconDefinition of physical constants:
pint_gleMethods to apply GLE to PI runs
pint_ioI/O subroutines for pint_env
pint_methodsMethods to performs a path integral run
pint_normalmodeData type and methods dealing with PI calcs in normal mode coords
pint_publicPublic path integral routines that can be called from other modules
pint_stagingData type and methods dealing with PI calcs in staging coordinates
pint_transformations
pint_types
pme
pme_toolsTools common both to PME and SPME
population_analysesProvide various population analyses and print the requested output information
powell
preconditionerComputes preconditioners, and implements methods to apply them currently used in qs_ot
preconditioner_typesTypes of preconditioners
ps_wavelet_baseCreates the wavelet kernel for the wavelet based poisson solver
ps_wavelet_fft3d
ps_wavelet_kernelCreates the wavelet kernel for the wavelet based poisson solver
ps_wavelet_scaling_functionCreates the wavelet kernel for the wavelet based poisson solver
ps_wavelet_typesDefinition and initialisation of the ps_wavelet data type
ps_wavelet_utilPerforms a wavelet based solution of the Poisson equation
pw_env_methodsMethods of pw_env that have dependence on qs_env
pw_env_typesContainer for various plainwaves related things
pw_grid_infoThis module returns additional info on PW grids
pw_grid_types
pw_gridsThis module defines the grid data type and some basic operations on it
pw_methods
pw_methods_cuda
pw_poisson_methods
pw_poisson_typesFunctions related to the poisson solver on regular grids
pw_pool_typesManages a pool of grids (to be used for example as tmp objects), but can also be used to instantiate grids that are never given back
pw_spline_utilsDifferent utils that are useful to manipulate splines on the regular grid of a pw
pw_types
qmmm_elpot
qmmm_ff_fist
qmmm_force_mixingRoutines used for force-mixing QM/MM calculations
qmmm_gaussian_dataGEEP 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_initInitialize the use of the gaussians to treat the QMMM coupling potential
qmmm_gaussian_inputSet the QMMM Gaussian Input Environment
qmmm_gaussian_typesSets the typo for the gaussian treatment of the qm/mm interaction
qmmm_gpw_energyA collection of methods to treat the QM/MM electrostatic coupling
qmmm_gpw_forcesRoutines to compute energy and forces in a QM/MM calculation
qmmm_image_chargeRoutines for image charge calculation within QM/MM
qmmm_initInitialize a QM/MM calculation
qmmm_links_methodsA collection of methods to treat the QM/MM links
qmmm_mainInitialize a QM/MM calculation
qmmm_per_elpot
qmmm_pw_gridSets variables for the qmmm pool of pw_types
qmmm_se_energyCalculation of the QMMM Hamiltonian integral matrix <a| q_i|b> for semi-empirical methods
qmmm_se_forcesCalculation of the derivative of the QMMM Hamiltonian integral matrix <a| q_i|b> for semi-empirical methods
qmmm_topology_util
qmmm_types
qmmm_util
qs_block_davidson_typesModule 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 diagonalization in augmented plane wave based methods in electronic structure calculations
qs_charges_typesContainer for information about total charges on the grids
qs_collocate_densityCalculate the plane wave density by collocating the primitive Gaussian functions (pgf)
qs_conductivityShould be able to compute the optical conductivity
qs_core_energiesCalculation of the energies concerning the core charge distribution
qs_core_hamiltonianCalculation of the core Hamiltonian integral matrix <a|H|b> over Cartesian Gaussian-type functions
qs_density_mixing_typesModule that contains the definitions of the scf types
qs_dftb_coulombCalculation of Coulomb contributions in DFTB
qs_dftb_dispersionCalculation of dispersion in DFTB
qs_dftb_matricesCalculation of Overlap and Hamiltonian matrices in DFTB
qs_dftb_parameters
qs_dftb_typesDefinition of the DFTB parameter types
qs_dftb_utilsWorking with the DFTB parameter types
qs_diisApply the direct inversion in the iterative subspace (DIIS) of Pulay in the framework of an SCF iteration for convergence acceleration
qs_diis_typesBuffer for the diis of the scf
qs_dispersion_nonlocCalculation 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_pairpotCalculation of dispersion using pair potentials
qs_dispersion_typesDefinition of disperson types for DFT calculations
qs_efield_berryCalculates the energy contribution and the mo_derivative of a static periodic electric field
qs_elec_fieldDistribution of the electric field gradient integral matrix
qs_electric_field_gradientCalculates electric field gradients H.M. Petrili, P.E. Blochl, P. Blaha, K. Schwarz, PRB 57, 14690 (1998)
qs_energyPerform a QUICKSTEP wavefunction optimization (single point)
qs_energy_types
qs_environment
qs_environment_methodsQs_environement methods that use many other modules
qs_environment_types
qs_epr_hypCalculates hyperfine values
qs_external_potentialRoutines to handle an external electrostatic field The external field can be generic and is provided by user input
qs_fermi_contactDistribution of the Fermi contact integral matrix
qs_forceQuickstep force driver routine
qs_force_types
qs_gapw_densities
qs_geminalsRountines to calculate Geminal integrals
qs_grid_atom
qs_gspace_mixing
qs_harmonics_atom
qs_initial_guessRoutines to somehow generate an intial guess
qs_integrate_potentialBuild up the plane wave density by collocating the primitive Gaussian functions (pgf)
qs_integrate_potential_low
qs_interactionsCalculate the interaction radii for the operator matrix calculation
qs_kineticCalculation of kinetic energy matrix, its derivatives and forces
qs_kpp1_env_methodsModule that builds the second order perturbation kernel kpp1 = delta_rho|_P delta_rho|_P E drho(P1) drho
qs_kpp1_env_typesBasis types for the calculation of the perturbation of density theory
qs_ks_apply_restraintsSet of routines to apply restraints to the KS hamiltonian
qs_ks_atomRoutines that build the Kohn-Sham matrix contributions coming from local atomic densities
qs_ks_methodsRoutines that build the Kohn-Sham matrix (i.e calculate the coulomb and xc parts
qs_ks_qmmm_methods
qs_ks_qmmm_types
qs_ks_scp_methods
qs_ks_scp_types
qs_ks_types
qs_linres_atom_currentGiven 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_currentGiven 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_utilsChemical 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_nablavksCalculates Nabla V_KS (local part if PSP) on the different grids
qs_linres_epr_ownutils
qs_linres_epr_utilsG 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_utilsChemical 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_methodsLocalize wavefunctions linear response scf
qs_linres_moduleContains 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_utilsGiven 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_shiftFrom the response current density calculates the shift tensor and the susceptibility
qs_linres_nmr_utilsChemical 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_opCalculate 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_typesType definitiona for linear response calculations
qs_loc_methodsDriver 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_moleculesSet of routines handling the localization for molecular properties
qs_loc_typesNew 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_utilsSome utilities for the construction of the localization environment
qs_local_rho_types
qs_localization_methodsLocalization methods such as 2x2 Jacobi rotations Steepest Decents Conjugate Gradient
qs_mainPerform a LCGTO-SCF-DF calculation using the Gaussian plane wave (GPW) method
qs_matrix_poolsWrapper for the pools of matrixes
qs_mo_methodsCollects routines that perform operations directly related to MOs
qs_mo_typesDefinition and initialisation of the mo data type
qs_modify_pab_blockSet of procedures to modify the density matrix, in order to collocate on the real space grid specific functions of the primitives
qs_momentsCalculates the moment integrals <a|r^m|b> and <a|r x d/dr|b>
qs_neighbor_list_typesDefine the neighbor list data types and the corresponding functionality
qs_neighbor_listsGenerate the atomic neighbor lists
qs_oce_methodsRoutines 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_otOrbital transformations
qs_ot_eigensolverEigen-space solver for the generalised symmetric eigenvalue problem for sparse matrices, needing only multiplications
qs_ot_minimizerOrbital transformations
qs_ot_scfBasic functionality for using ot in the scf routines
qs_ot_typesOrbital transformations
qs_outer_scfRoutines for performing an outer scf loop
qs_overlapCalculation of overlap matrix, its derivatives and forces
qs_p_env_methodsUtility functions for the perturbation calculations
qs_p_env_typesBasis types for the calculation of the perturbation of density theory
qs_p_sparse_psiUtilities to represent orbitals that are localized on few atoms
qs_pdosCalculation and writing of projected density of states The DOS is computed per angular momentum and per kind
qs_period_efield_typesType for berry phase efield matrices. At the moment only used for cosmat and sinmat
qs_respResp fit for gas phase systems
qs_rho0_ggrid
qs_rho0_methods
qs_rho0_types
qs_rho_atom_methods
qs_rho_atom_types
qs_rho_methodsMethods of the rho structure (defined in qs_rho_types)
qs_rho_typesSuperstucture that hold various representations of the density and keeps track of which ones are valid
qs_scfRoutines for the Quickstep SCF run
qs_scf_block_davidsonModule 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 diagonalization in augmented plane wave based methods in electronic structure calculations
qs_scf_diagonalizationDifferent diagonalization schemes that can be used for the iterative solution of the eigenvalue problem
qs_scf_lanczosModule that contains the algorithms to perform an itrative diagonalization by the block-Lanczos approach
qs_scf_methodsGroups 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_post_dftbDoes all kind of post scf calculations for DFTB
qs_scf_post_gpwDoes all kind of post scf calculations for GPW/GAPW
qs_scf_post_seDoes all kind of post scf calculations for semi-empirical
qs_scf_typesModule that contains the definitions of the scf types
qs_spin_orbitDistribution of the spin orbit integral matrix
qs_tddfpt_eigensolver
qs_tddfpt_modulePerforms 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_utilAll kind of helpfull little routines
qs_vxc
qs_vxc_atomRoutines that build the integrals of the Vxc potential calculated for the atomic density in the basis set of spherical primitives
qs_wf_history_methodsStorage of past states of the qs_env. Methods to interpolate (or actually normally extrapolate) the new guess for density and wavefunctions
qs_wf_history_typesInterpolate the wavefunctions to speed up the convergence when doing MD
realspace_grid_cubeGenerate Gaussian cube files
realspace_grid_types
reference_managerUniform framework to add references to CP2K cite and output these
reftraj_typesInitialization of the reftraj structure used to analyse previously generated trajectories
reftraj_utilInitialize the analysis of trajectories to be done by activating the REFTRAJ ensemble
rel_control_typesParameters that control a relativistic calculation
replica_methodsMethods 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_typesTypes 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
restraintHandles all possible kinds of restraints in CP2K
ri_environment_typesTypes and subroutines for dealing with the ri_env ri : resolution of the identity
rmsdDefines functions to perform rmsd in 3D
rpa_communicationAuxiliary rountines necessary to redistribute an fm_matrix from a given blacs_env to another
rpa_ri_gpwRountines to calculate RI-RPA energy
rt_make_propagatorsRoutines for calculating a complex matrix exponential
rt_matrix_expRoutines for calculating a complex matrix exponential
rt_propagationRoutines for the real time propagation
rt_propagation_methodsRoutines for propagating the orbitals
rt_propagation_outputRoutine for the real time propagation output
rt_propagation_typesTypes 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)
rt_propagation_utilsRoutines needed for EMD
rt_propagator_initRoutines for the prepares teh matrices for the propagators
rtp_admm_methodsUtilities for rtp in combination with admm methods adapted routines from admm_method (author Manuel Guidon)
s_square_methodsMethods related to S**2 (ie. spin)
sap_kind_typesGeneral overlap type integrals containers
scf_control_typesParameters that control an scf iteration
scp_coeff_typesDefine the data structure for the auxilliary basis SCP coefficents
scp_delta_fock_matrixModule that collects all Coulomb parts of the fock matrix construction
scp_density_methodsCalculate the SPC plane wave density by collocating the primitive Gaussian functions (pgf). Also computes the integral of the potential with a density in the primitive gaussian basis
scp_diis_utils
scp_dispersionPerform the calculation of the dispersion contributions for the SCP method
scp_energyScp_energy minim routine
scp_energy_types
scp_environmentInitialize scp environment
scp_environment_methodsTo complete the setup of the scp_env
scp_environment_types
scp_fock_matrix_integralsProvides the low level routines to build Coulomb Fock matrices for SCP
scp_force_types
scp_hartree_1centerPerform the calculation of the hartree 1 center 3 electron self-interaction terms for the SCP method
scp_nddo_utilsCalculation of the SCP specific terms for semi-empirical methods
scp_restartsRoutine handling the collection of the restart information for the SCP
scp_rho_methodsRho_methods
scp_rho_typesRho_types
scp_rspw_methodsSet the SCP real-space plane-wave environment
scp_rspw_types
scptb_core_interactionsSCPTB short range repulsive core interaction
scptb_core_matrixCalculation of the Hamiltonian integral and Overlap matrices <a|b> and <a|T+V|b> for SCP-TB methods
scptb_ks_matrixCalculation of Hamiltonian matrices in SCPTB
scptb_parametersDefault parameter sets for SCPTB method key, atomname key, atomic name z, zeff atomic number, core charge lmaxorb, lmaxscp max l basis, max l polarization norb number of orbitals (0,1,2,3) zeta exponents of orbitals (0,1,2,3) hcore two body terms occupation orbital occupation in free atom energy total energy of free atom crep core repulsion terms (1=a,2=c,3=d) pol polarization constants (1,2,3) ag Gaussian exponents
scptb_typesDefinition of the SCPTB parameter types
scptb_utilsRoutines for SCPTB
se_core_coreSplit and build its own idependent core_core SE interaction module
se_core_matrixCalculation of the Hamiltonian integral matrix <a|H|b> for semi-empirical methods
se_fock_matrix_controlControls the construction of the fock matrix with GA or MPI
se_fock_matrix_coulomb_gaModule that collects all Coulomb parts of the fock matrix construction
se_fock_matrix_coulomb_mpiModule that collects all Coulomb parts of the fock matrix construction
se_fock_matrix_dbg
se_fock_matrix_exchangeConstruction of the Exchange part of the Fock Matrix
se_fock_matrix_gaCalculation of the Fock matrix for SE methods
se_fock_matrix_integralsProvides 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.
se_fock_matrix_mpiCalculation of the Fock matrix for SE methods
se_ga_toolsModule that collects GA functionality for semi-empirical
semi_empirical_expns3_methodsMethods for handling the 1/R^3 residual integral part
semi_empirical_expns3_typesDefinition of the type to handle the 1/R^3 residual integral part
semi_empirical_int3_utilsUtilities for evaluating the residual part (1/r^3) of Integrals for semi-empiric methods
semi_empirical_int_anaAnalytical derivatives of Integrals for semi-empirical methods
semi_empirical_int_arraysArrays of parameters used in the semi-empirical calculations Everywhere in this module TCA stands for:

  • TCA: W. Thiel and A. A. Voityuk - Teor. Chim. Acta (1992) 81:391-404
  • TCA77: M.J.S. Dewar and W. Thiel - Teor. Chim. Acta (1977) 46:89-104
semi_empirical_int_gksIntegral GKS scheme: The order of the integrals in makeCoul reflects the standard order by MOPAC
semi_empirical_int_numIntegrals for semi-empiric methods
semi_empirical_int_utilsUtilities for Integrals for semi-empiric methods
semi_empirical_integralsSet of wrappers for semi-empirical analytical/numerical Integrals routines
semi_empirical_mpole_methodsSetup and Methods for semi-empirical multipole types
semi_empirical_mpole_typesDefinition of the semi empirical multipole integral expansions types
semi_empirical_par_utilsUtilities to post-process semi-empirical parameters
semi_empirical_parametersDefault 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_typesType to store integrals for semi-empirical calculations
semi_empirical_typesDefinition of the semi empirical parameter types
semi_empirical_utilsWorking with the semi empirical parameter types
shell_opt
shell_potential_types
simpar_methodsMethods for storing MD parameters type
simpar_typesType for storing MD parameters
soft_basis_set
spherical_harmonicsCalculate spherical harmonics
splines_methodsRoutines for handling splines
splines_typesRoutines for handling splines_types
spmeCalculate the electrostatic energy by the Smooth Particle Ewald method
statistical_methodsMethods to perform on the fly statistical analysis of data -) Schiferl and Wallace, J. Chem. Phys. 83 (10) 1985
stm_imagesCalculation of STM image as post processing of an electronic structure calculation,
sto_ng
string_tableGenerates a unique id number for a string (str2id) that can be used two compare two strings. I.e. if (str1==str2) => str2id(str1)==str2id(str2) if (str1.NE.str2) => str2id(str1).NE.str2id(str2) and the other way around. Given an id, the string can be retrieved
string_utilitiesUtilities for string manipulations
structure_factor_types
structure_factors
subcell_typesSubcell types and allocation routines
t_c_g0
t_sh_p_s_c
tamc_runPerform a temperature accelarated hybrid monte carlo (TAHMC) run using QUICKSTEP
taper_typesDefinition of the semi empirical parameter types
task_list_methodsGenerate the tasks lists used by collocate and integrate routines
task_list_typesTypes for task lists
terminationPerform an abnormal program termination
thermal_region_typesThermal regions type: to initialize and control the temperature of different regions
thermal_region_utilsSetup of regions with different temperature
thermostat_mapping
thermostat_methodsMethods for Thermostats
thermostat_typesThermostat structure: module containing thermostat available for MD
thermostat_utilsUtilities for thermostats
timingsTiming routines for accounting
timings_base_typeTypes used by timings.F and timings_report.F The types in this module are used within dict or list, which are in turn used in timer_env_type from timings_type.F Due to the fortran restriction on cicular module-dependencies these "inner-types" had to go into a separate module
timings_reportTiming routines for accounting
timings_typesTypes used by timings.F and timings_report.F Due to the fortran restriction on cicular module-dependencies the types, which are used through dict or list had to go into the separate module timings_base_type.F
topologyControl for reading in different topologies and coordinates
topology_amberHandles all functions used to read and interpret AMBER coordinates and topology files
topology_cifHandles CIF (Crystallographic Information File) files
topology_connectivity_utilCollection of subroutine needed for topology related things
topology_constraint_utilCollection of subroutine needed for topology related things
topology_coordinate_utilCollection of subroutine needed for topology related things
topology_cp2k
topology_generate_utilCollection of subroutine needed for topology related things
topology_gromos
topology_inputReads the input sections "topology"
topology_multiple_unit_cellHandles the multiple unit cell option regarding atomic coordinates
topology_pdbHandles PDB files
topology_psfFunctionality to read in PSF topologies and convert it into local data structures
topology_types
topology_utilCollection of subroutine needed for topology related things
topology_xtlHandles XTL (Molecular Simulations, Inc (MSI)) files
topology_xyz
tum_utils
utilAll kind of helpfull little routines
velocity_verlet_controlProvides an interface to the velocity-verlet based integrator routines for all ensembles
vibrational_analysisModule performing a vibrational analysis
virial_methods
virial_types
wannier_statesRoutines for the calculation of wannier states
wannier_states_typesDefines the type needed for computing wannier states expectations
whittakerCalculates special integrals
wiener_processHandling of the Wiener process currently employed in turn of the Langevin dynamics
xas_controlDefines control structures, which contain the parameters and the settings for the calculations
xas_env_typesDefine create destroy get and put information in xas_env to calculate the x-ray absorption spectra
xas_methodsDriver for the xas calculation and xas_scf for the tp method
xas_restartInitialize 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_scfXas_scf for the tp method It is repeaated for every atom that have to be excited
xcExchange and Correlation functional calculations
xc_adiabatic_methodsContains some functions used in the context of adiabatic hybrid functionals
xc_adiabatic_utils
xc_atom
xc_b97Calculates the b97 correlation functional
xc_cs1Calculate the CS1 Functional (Handy s improved LYP functional)
xc_derivative_descModule with functions to handle derivative descriptors. derivative description are strings have the following form "(rho)(rho)(rhoa)" which means that it is a forth order derivative, twice with respect to rho, once with respect to rhoa and once with respect to drhoa. Possible derivatives are:

  • rho: total density
  • norm_drho: norm of the gradient of the total density
  • rhoa, rhob: alpha and beta spin density (with LSD)
  • norm_drhoa, norm_drhob: norm of the gradient of the alpha and beta spin density
  • drhoa_drhob: scalar product between the gradient of rhoa and the grandient of rhob
  • tau: the local kinetic part
  • taua, taub: the kinetic part of the different spins
xc_derivative_set_typesRepresent a group ofunctional derivatives
xc_derivative_typesProvides types for the management of the xc-functionals and their derivatives
xc_derivatives
xc_exchange_ggaCalculate several different exchange energy functionals with a GGA form
xc_f90_lib_m
xc_f90_types_m
xc_functionals_utilitiesUtility routines for the functional calculations
xc_hcthCalculate the Hamprecht, Cohen, Tozer, and Handy (HCTH) exchange functional
xc_ke_ggaCalculate the several different kinetic energy functionals with a GGA form
xc_libxcCalculates a functional from libxc and its derivatives
xc_lypCalculates the lyp correlation functional
xc_lyp_adiabaticCalculates the density_scaled Lyp functional when used in adiabatic hybrids. The energy is given as
xc_optxCalculate optx
xc_padeCalculate the LDA functional in the Pade approximation Literature: S. Goedecker, M. Teter and J. Hutter, Phys. Rev. B 54, 1703 (1996)
xc_pbeCalculates the pbe correlation functional
xc_perdew86Calculate the Perdew Correlation from 1986
xc_perdew_wangCalculate the Perdew-Wang correlation potential and energy density and ist derivatives with respect to the spin-up and spin-down densities up to 3rd order
xc_perdew_zungerCalculate the Perdew-Zunger correlation potential and energy density and ist derivatives with respect to the spin-up and spin-down densities up to 3rd order
xc_pot_saopCalculate the saop potential
xc_rho_cflags_typesStructure
xc_rho_set_typesStructure
xc_tfwCalculate the Thomas-Fermi kinetic energy functional plus the von Weizsaecker term
xc_thomas_fermiCalculate the Thomas-Fermi kinetic energy functional
xc_tpssCalculates the tpss functional
xc_vwnCalculate the LDA functional according to Vosk, Wilk and Nusair Literature: S. H. Vosko, L. Wilk and M. Nusair, Can. J. Phys. 58, 1200 (1980)
xc_xalphaCalculate the local exchange functional
xc_xbecke88Calculates the Becke 88 exchange functional
xc_xbecke88_long_rangeCalculates the longrange part of Becke 88 exchange functional
xc_xbecke88_lr_adiabaticCalculates the density_scaled BECKE88 long-range functional when used in adiabatic hybrids. The energy is given as
xc_xbecke_rousselCalculates the exchange energy based on the Becke-Roussel exchange hole. Takes advantage of an analytical representation of the hole in order to avoid solving a non-linear equation by means of Newton- Raphson algorithm
xc_xbr_pbe_lda_hole_t_c_lrThis functional is a combination of three different exchange hole models. The ingredients are:
xc_xlda_hole_t_c_lrCalculates the lda exchange hole in a truncated coulomb potential. Can be used as longrange correction for truncated hfx calculations
xc_xpbe_hole_t_c_lrCalculates the exchange energy for the pbe hole model in a truncated coulomb potential, considering the long range part only. Can be used as longrange correction to a truncated Hartree Fock calculation
xc_xwpbeCalculates short range exchange part for wPBE functional and averaged PBE exchange-hole functional (omega = 0.0 )
xml_parser
xray_diffraction