(git:d18deda)
Loading...
Searching...
No Matches
Modules List
Here is a list of all modules with brief descriptions:
[detail level 12]
 Madmm_dm_methodsContains ADMM methods which only require the density matrix
 Madmm_dm_typesTypes and set/get functions for auxiliary density matrix methods
 Madmm_methodsContains ADMM methods which require molecular orbitals
 Madmm_typesTypes and set/get functions for auxiliary density matrix methods
 Madmm_utilsContains methods used in the context of density fitting
 Mai_angmomCalculation of the angular momentum integrals over Cartesian Gaussian-type functions
 Mai_contractionSet of routines to: Contract integrals over primitive Gaussians Decontract (density) matrices Trace matrices to get forces Block copy and add matrices
 Mai_contraction_sphiContraction of integrals over primitive Cartesian Gaussians based on the contraction matrix sphi which is part of the gto_basis_set_type
 Mai_coulombCalculation of Coulomb integrals over Cartesian Gaussian-type functions (electron repulsion integrals, ERIs)
 Mai_coulomb_testTest of Electron Repulsion Routines (ERI)
 Mai_derivativesCalculate the first derivative of an integral block
 Mai_elec_fieldCalculation of Coulomb integrals over Cartesian Gaussian-type functions (electron repulsion integrals, ERIs)
 Mai_eri_debugCalculation of Coulomb integrals over Cartesian Gaussian-type functions (electron repulsion integrals, ERIs)
 Mai_fermi_contactCalculation of the Fermi contact integrals over Cartesian Gaussian-type functions
 Mai_kineticCalculation of the kinetic energy integrals over Cartesian Gaussian-type functions
 Mai_momentsCalculation of the moment integrals over Cartesian Gaussian-type functions
 Mai_onecenter
 Mai_oneelectronCalculation of general three-center integrals over Cartesian Gaussian-type functions and a spherical operator centered at position C
 Mai_operator_ra2mCalculation of integrals over Cartesian Gaussian-type functions for [a|(r-Ra)^(2m)|b] Ra is the position of center a
 Mai_operators_r12Calculation of integrals over Cartesian Gaussian-type functions for different r12 operators: 1/r12, erf(omega*r12/r12), erfc(omega*r12/r12), exp(-omega*r12^2)/r12 and exp(-omega*r12^2)
 Mai_os_rr
 Mai_overlapCalculation of the overlap integrals over Cartesian Gaussian-type functions
 Mai_overlap3
 Mai_overlap3_debugThree-center integrals over Cartesian Gaussian-type functions
 Mai_overlap_aabbCalculation of the overlap integrals over Cartesian Gaussian-type functions
 Mai_overlap_debugTwo-center overlap integrals over Cartesian Gaussian-type functions
 Mai_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):
 Mai_spin_orbitCalculation of spin orbit integrals over Cartesian Gaussian-type functions
 Mai_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
 Mal_system_dynamics
 Mal_system_init
 Mal_system_mapping
 Mal_system_typesType for the canonical sampling through velocity rescaling
 Malmo_scfRoutines for all ALMO-based SCF methods 'RZK-warning' marks unresolved issues
 Malmo_scf_diis_typesA DIIS implementation for the ALMO-based SCF methods
 Malmo_scf_env_methodsAlmo_scf_env methods
 Malmo_scf_lbfgs_typesLimited memory BFGS
 Malmo_scf_methodsSubroutines for ALMO SCF
 Malmo_scf_optimizerOptimization routines for all ALMO-based SCF methods
 Malmo_scf_qsInterface between ALMO SCF and QS
 Malmo_scf_typesTypes for all ALMO-based methods
 Mao_utilAll kind of helpful little routines
 Marnoldi_apiArnoldi iteration using dbcsr
 Marnoldi_data_methodsThe methods which allow to analyze and manipulate the arnoldi procedure The main routine and this should eb the only public access point for the method
 Marnoldi_geevUnified interface to lapack geev routines
 Marnoldi_methodsMethods for arnoldi iteration
 Marnoldi_typesCollection of types used in arnoldi
 Marnoldi_vectorOperations for skinny matrices/vectors expressed in dbcsr form
 Matom
 Matom_admm_methods
 Matom_basis
 Matom_electronic_structure
 Matom_energy
 Matom_fitRoutines that fit parameters for /from atomic calculations
 Matom_grb
 Matom_kind_orbitalsCalculate the orbitals for a given atomic kind type
 Matom_operatorsCalculate the atomic operator matrices
 Matom_optimizationOptimizer for the atomic code
 Matom_outputRoutines that print various information about an atomic kind
 Matom_pseudo
 Matom_set_basis
 Matom_sgp
 Matom_typesDefine the atom type and its sub types
 Matom_upfRoutines that process Quantum Espresso UPF files
 Matom_utilsSome basic routines for atomic calculations
 Matom_xcRoutines that build the integrals of the Vxc potential calculated for the atomic code
 Matomic_chargesSimple routine to print charges for all atomic charge methods (currently mulliken, lowdin and ddapc)
 Matomic_kind_list_typesRepresent a simple array based list of the given type
 Matomic_kind_typesDefine the atomic kind types and their sub types
 Matoms_input
 Matprop_typesHolds information on atomic properties
 Mauto_basisAutomatic generation of auxiliary basis sets of different kind
 Maux_basis_set
 Maverages_typesHandles the type to compute averages during an MD
 Mbarostat_typesBarostat structure: module containing barostat available for MD
 Mbarostat_utilsBarostat utils
 Mbase_hooksCentral dispatch for basic hooks
 Mbasis_set_container_types
 Mbasis_set_outputPrint basis sets in CP2K format
 Mbasis_set_types
 Mbessel_libCalculates Bessel functions
 Mbeta_gamma_psi
 Mbfgs_optimizerRoutines for Geometry optimization using BFGS algorithm
 MbibliographyCollects 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
 Mblock_p_typesCollect pointers to a block of reals
 Mbse_full_diagRoutines for the full diagonalization of GW + Bethe-Salpeter for computing electronic excitations
 Mbse_iterativeIterative routines for GW + Bethe-Salpeter for computing electronic excitations
 Mbse_mainMain routines for GW + Bethe-Salpeter for computing electronic excitations
 Mbse_printRoutines for printing information in context of the BSE calculation
 Mbse_propertiesRoutines for computing excitonic properties, e.g. exciton diameter, from the BSE
 Mbse_utilAuxiliary routines for GW + Bethe-Salpeter for computing electronic excitations
 MbsseModule to perform a counterpoise correction (BSSE)
 Mcallgraph
 Mcell_methodsHandles all functions related to the CELL
 Mcell_optPerforms CELL optimization
 Mcell_opt_typesContains type used for a Simulation Cell Optimization
 Mcell_opt_utilsFunctional that calculates the energy and its derivatives for the geometry optimizer
 Mcell_typesHandles all functions related to the CELL
 Mcg_optimizerRoutines for Geometry optimization using Conjugate Gradients
 Mcg_testTest of Clebsch-Gordon Coefficients
 Mcg_utilsUtilities for Geometry optimization using Conjugate Gradients
 Mcolvar_methodsDefines collective variables s({R}) and the derivative of this variable wrt R these can then be used in constraints, restraints and metadynamics ..
 Mcolvar_typesInitialize the collective variables types
 Mcolvar_utilsEvaluations of colvar for internal coordinates schemes
 Mcommutator_rkineticCalculation of commutator of kinetic energy and position operator
 Mcommutator_rpnlCalculation 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>
 Mconstants_operatorConstants for the different operators of the 2c-integrals
 Mconstraint
 Mconstraint_3x3
 Mconstraint_4x6
 Mconstraint_clvModule that handles the COLLECTIVE constraints
 Mconstraint_fxd
 Mconstraint_utilContains routines useful for the application of constraints during MD
 Mconstraint_vsiteRoutines to handle the virtual site constraint/restraint
 Mconstruct_shgCalculation of the integrals over solid harmonic Gaussian(SHG) functions. Routines for (a|O(r12)|b) and overlap integrals (ab), (aba) and (abb)
 Mcore_aeCalculation of the nuclear attraction contribution to the core Hamiltonian <a|erfc|b> :we only calculate the non-screened part
 Mcore_pplCalculation of the local pseudopotential contribution to the core Hamiltonian <a|V(local)|b> = <a|Sum e^a*rc**2|b>
 Mcore_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>
 Mcp2k_debugDebug energy and derivatives w.r.t. finite differences
 Mcp2k_infoSome minimal info about CP2K, including its version and license
 Mcp2k_runs
 Mcp2k_shellInteractive shell of CP2K
 Mcp_array_sortRoutine for sorting an array
 Mcp_array_utilsVarious utilities that regard array of different kinds: output, allocation,... maybe it is not a good idea mixing output and memeory utils..
 Mcp_blacs_envMethods related to the blacs parallel environment
 Mcp_blacs_typesWrappers 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
 Mcp_cfm_basic_linalgBasic linear algebra operations for complex full matrices
 Mcp_cfm_choleskyVarious cholesky decomposition related routines
 Mcp_cfm_diagUsed for collecting diagonalization schemes available for cp_cfm_type
 Mcp_cfm_dlaf_api
 Mcp_cfm_typesRepresents a complex full matrix distributed on many processors
 Mcp_control_typesDefines control structures, which contain the parameters and the settings for the DFT-based calculations
 Mcp_control_utilsUtilities to set up the control types
 Mcp_dbcsr_api
 Mcp_dbcsr_choleskyInterface to (sca)lapack for the Cholesky based procedures
 Mcp_dbcsr_contrib
 Mcp_dbcsr_cp2k_linkRoutines that link DBCSR and CP2K concepts together
 Mcp_dbcsr_diagInterface to (sca)lapack for the Cholesky based procedures
 Mcp_dbcsr_operationsDBCSR operations in CP2K
 Mcp_dbcsr_outputDBCSR output in CP2K
 Mcp_ddapcDensity Derived atomic point charges from a QM calculation (see Bloechl, J. Chem. Phys. Vol. 103 pp. 7422-7428)
 Mcp_ddapc_forcesDensity Derived atomic point charges from a QM calculation (see J. Chem. Phys. Vol. 103 pp. 7422-7428)
 Mcp_ddapc_methodsInformation regarding the decoupling/recoupling method of Bloechl
 Mcp_ddapc_typesInformation regarding the decoupling/recoupling method of Bloechl
 Mcp_ddapc_utilDensity Derived atomic point charges from a QM calculation (see Bloechl, J. Chem. Phys. Vol. 103 pp. 7422-7428)
 Mcp_dlaf_utils_api
 Mcp_eri_mme_interfaceInterface to Minimax-Ewald method for periodic ERI's to be used in CP2K
 Mcp_error_handlingModule that contains the routines for error handling
 Mcp_external_controlRoutines to handle the external control of CP2K
 Mcp_filesUtility routines to open and close files. Tracking of preconnections
 Mcp_fm_basic_linalgBasic linear algebra operations for full matrices
 Mcp_fm_choleskyVarious cholesky decomposition related routines
 Mcp_fm_cusolver_apiWrapper for cuSOLVERMp
 Mcp_fm_diagUsed for collecting some of the diagonalization schemes available for cp_fm_type. cp_fm_power also moved here as it is very related
 Mcp_fm_diag_utilsAuxiliary tools to redistribute cp_fm_type matrices before and after diagonalization. Heuristics are used to determine the optimal number of CPUs for diagonalization and the input matrices are redistributed if necessary
 Mcp_fm_dlaf_api
 Mcp_fm_elpaWrapper for ELPA
 Mcp_fm_pool_typesPool for for elements that are retained and released
 Mcp_fm_structRepresent the structure of a full matrix
 Mcp_fm_typesRepresent a full matrix distributed on many processors
 Mcp_iter_typesCollection of routines to handle the iteration info
 Mcp_lbfgsLBFGS-B routine (version 3.0, April 25, 2011)
 Mcp_lbfgs_geoMain driver for L-BFGS optimizer
 Mcp_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 physically present in every processor (nedeed in the actual implementation of pao). In the future tha arguments themselves could be distributed
 Mcp_linked_list_fm
 Mcp_linked_list_input
 Mcp_linked_list_pw
 Mcp_linked_list_xc_deriv
 Mcp_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
 Mcp_min_heap
 Mcp_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
 Mcp_parser_buffer_typesModule to allow simple buffering of read lines of a parser
 Mcp_parser_ilist_methodsModule to allow simple internal preprocessing in input files
 Mcp_parser_ilist_typesModule to allow simple internal preprocessing in input files
 Mcp_parser_inpp_methodsModule to allow simple internal preprocessing in input files
 Mcp_parser_inpp_typesModule to allow simple internal preprocessing in input files
 Mcp_parser_methodsUtility routines to read data from files. Kept as close as possible to the old parser because
 Mcp_parser_status_typesModule to allow the storage of the parser status
 Mcp_parser_typesUtility routines to read data from files. Kept as close as possible to the old parser because
 Mcp_realspace_grid_cubeA wrapper around pw_to_cube() which accepts particle_list_type
 Mcp_realspace_grid_init
 Mcp_result_methodsSet of type/routines to handle the storage of results in force_envs
 Mcp_result_typesSet of type/routines to handle the storage of results in force_envs
 Mcp_spline_utilsUtils to manipulate splines on the regular grid of a pw
 Mcp_subsys_methodsInitialize a small environment for a particular calculation
 Mcp_subsys_typesTypes that represent a subsys, i.e. a part of the system
 Mcp_symmetryWork with symmetry
 Mcp_unitsUnit conversion facility
 McryssymK-points and crystal symmetry routines
 Mcsvr_system_dynamics
 Mcsvr_system_init
 Mcsvr_system_mapping
 Mcsvr_system_typesType for the canonical sampling through velocity rescaling
 Mcsvr_system_utils
 Mct_methodsCayley transformation methods
 Mct_typesTypes for all cayley transformation methods
 Mcube_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
 Md3_polyRoutines to efficiently handle dense polynomial in 3 variables up to a given degree. Multiplication, partial evaluation, 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
 Mdamping_dipole_types
 Mdbm_api
 Mdbm_tests
 Mdbt_allocate_wrapWrapper for allocating, copying and reshaping arrays
 Mdbt_apiThis is the start of a dbt_api, all publically needed functions are exported here. The others remain private to the library. Currently, this is the CP2K used set. Ultimately, a reduced subset and well defined api will remain, possibly grouped in to standard and expert api. Currently, this is work in progress
 Mdbt_array_list_methodsRepresentation of arbitrary number of 1d integer arrays with arbitrary sizes. This is needed for generic handling of dimension-specific tensor quantities (such as block index)
 Mdbt_blockMethods to operate on n-dimensional tensor blocks
 Mdbt_indexTensor index and mapping to DBM index
 Mdbt_ioDBT tensor Input / Output
 Mdbt_methodsDBT tensor framework for block-sparse tensor contraction. Representation of n-rank tensors as DBT tall-and-skinny matrices. Support for arbitrary redistribution between different representations. Support for arbitrary tensor contractions
 Mdbt_reshape_opsRoutines to reshape / redistribute tensors
 Mdbt_splitRoutines to split blocks and to convert between tensors with different block sizes
 Mdbt_tas_baseTall-and-skinny matrices: base routines similar to DBM API, mostly wrappers around existing DBM routines
 Mdbt_tas_globalGlobal data (distribution and block sizes) for tall-and-skinny matrices For very sparse matrices with one very large dimension, storing array data of the same size as the matrix dimensions may require too much memory and we need to compute them on the fly for a given row or column. Hence global array data such as distribution and block sizes are specified as function objects, leaving up to the caller how to efficiently store global data
 Mdbt_tas_ioTall-and-skinny matrices: Input / Output
 Mdbt_tas_mmMatrix multiplication for tall-and-skinny matrices. This uses the k-split (non-recursive) CARMA algorithm that is communication-optimal as long as the two smaller dimensions have the same size. Submatrices are obtained by splitting a dimension of the process grid. Multiplication of submatrices uses DBM Cannon algorithm. Due to unknown sparsity pattern of result matrix, parameters (group sizes and process grid dimensions) can not be derived from matrix dimensions and need to be set manually
 Mdbt_tas_reshape_opsCommunication routines to reshape / replicate / merge tall-and-skinny matrices
 Mdbt_tas_splitMethods to split tall-and-skinny matrices along longest dimension. Basically, we are splitting process grid and each subgrid holds its own DBM matrix
 Mdbt_tas_testTesting infrastructure for tall-and-skinny matrices
 Mdbt_tas_typesDBT tall-and-skinny base types. Mostly wrappers around existing DBM routines
 Mdbt_tas_utilOften used utilities for tall-and-skinny matrices
 Mdbt_testGeneral methods for testing DBT tensors
 Mdbt_typesDBT tensor framework for block-sparse tensor contraction: Types and create/destroy routines
 MdctType I Discrete Cosine Transform (DCT-I)
 Mdebug_os_integralsDebugs Obara-Saika integral matrices
 Mdeepmd_wrapperInterface to the DeePMD-kit or a c++ wrapper
 Mdft_plus_uAdd the DFT+U contribution to the Hamiltonian matrix
 Mdg_rho0_types
 Mdg_types
 Mdgemm_counter_typesCounters to determine the performance of parallel DGEMMs
 Mdgs
 Mdielectric_methodsMethods for evaluating the dielectric constant
 Mdielectric_typesDielectric constant data type
 Mdimer_methodsContains types used for a Dimer Method calculations
 Mdimer_typesContains types used for a Dimer Method calculations
 Mdimer_utilsContains utilities for a Dimer Method calculations
 Mdirichlet_bc_methodsSubroutines for defining and creating Dirichlet type subdomains
 Mdirichlet_bc_typesDirichlet boundary condition data types
 Mdistribution_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 efficient, 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
 Mdistribution_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)
 Mdistribution_methodsDistribution methods for atoms, particles, or molecules
 Mdkh_main
 Mdm_ls_chebyshevRoutines using linear scaling chebyshev methods
 Mdm_ls_scfRoutines for a linear scaling quickstep SCF run based on the density matrix
 Mdm_ls_scf_createRoutines for a linear scaling quickstep SCF run based on the density matrix
 Mdm_ls_scf_curvyDensity matrix optimization using exponential transformations
 Mdm_ls_scf_methodsLower level routines for linear scaling SCF
 Mdm_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
 Mdm_ls_scf_typesTypes needed for a linear scaling quickstep SCF run based on the density matrix
 Mdomain_submatrix_methodsSubroutines to handle submatrices
 Mdomain_submatrix_typesTypes to handle submatrices
 Mec_efield_localCalculates the energy contribution and the mo_derivative of a static electric field (nonperiodic)
 Mec_env_typesTypes needed for a for a Energy Correction
 Mec_environmentEnergy correction environment setup and handling
 Mec_externalRoutines for an external energy correction on top of a Kohn-Sham calculation
 Mec_methodsRoutines used for Harris functional Kohn-Sham calculation
 Mec_orth_solverAO-based conjugate-gradient response solver routines
 Med_analysisCalculate Energy Decomposition analysis
 Meeq_dataEEQ data from different sources
 Meeq_inputInput definition and setup for EEQ model
 Meeq_methodCalculation of charge equilibration method
 Mefield_tb_methodsCalculation of electric field contributions in TB
 Mefield_utilsAll routins needed for a nonperiodic electric field
 MeigenvalueproblemsProvides interfaces to LAPACK eigenvalue/SVD routines
 Meip_environmentMethods and functions on the EIP environment
 Meip_environment_typesThe environment for the empirical interatomic potential methods
 Meip_siliconEmpirical interatomic potentials for Silicon
 Membed_environmentInitialize embed environment: clone of the mixed environment
 Membed_mainMain force create for embedding
 Membed_types
 Menergy_correctionsRoutines for an energy correction on top of a Kohn-Sham calculation
 MenvironmentSets up and terminates the global environment variables
 Meri_mme_error_controlMethods aiming for error estimate and automatic cutoff calibration. integrals
 Meri_mme_gaussianMethods related to properties of Hermite and Cartesian Gaussian functions
 Meri_mme_integrateMinimax-Ewald (MME) method for calculating 2-center and 3-center electron repulsion integrals (ERI) of periodic systems using a Hermite Gaussian basis. The method relies on analytical Fourier transforms of Cartesian and Hermite Gaussian functions and Poisson summation formula to represent ERIs as a discrete sum over direct lattice vectors or reciprocal lattice vectors. The reciprocal space potential 1/G^2 is approximated by a linear combination of Gaussians employing minimax approximation. Not yet implemented: 3c ERIs for nonorthogonal cells
 Meri_mme_lattice_summationEwald sums to represent integrals in direct and reciprocal lattice
 Meri_mme_testMethods for testing / debugging
 Meri_mme_typesTypes and initialization / release routines for Minimax-Ewald method for electron repulsion integrals
 Meri_mme_utilSome utility methods used in different contexts
 Met_couplingCalculates the electron transfer coupling elements Wu, Van Voorhis, JCP 125, 164105 (2006)
 Met_coupling_projCalculates the electron transfer coupling elements by projection-operator approach Kondov et al. J.Phys.Chem.C 2007, 111, 11970-11981
 Met_coupling_typesDefinition and initialisation of the et_coupling data type
 Mewald_environment_types
 Mewald_methods_tbCalculation of Ewald contributions in DFTB
 Mewald_pw_methodsPw_methods
 Mewald_pw_typesPw_types
 Mewald_spline_utilSetting up the Spline coefficients used to Interpolate the G-Term in Ewald sums
 Mewalds
 Mewalds_multipoleTreats the electrostatic for multipoles (up to quadrupoles)
 Mex_property_calculationRoutines for property calculations of excited states
 Mexcited_statesRoutines for total energy and forces of excited states
 Mexclusion_typesExclusion type
 Mexstates_typesTypes for excited states potential energies
 Mextended_system_dynamics
 Mextended_system_init
 Mextended_system_mapping
 Mextended_system_typesLumps all possible extended system variables into one type for easy access and passing
 Mexternal_potential_methodsMethods to include the effect of an external potential during an MD or energy calculation
 Mexternal_potential_typesDefinition of the atomic potential types
 Mf77_interfaceInterface to use cp2k as library
 Mfarming_methods
 Mfarming_types
 Mfermi_utilsDeal with the Fermi distribution, compute it, fix mu, get derivs
 Mfft_kindsDefines the basic variable types
 Mfft_lib
 Mfft_planType to store data about a (1D or 3D) FFT, including FFTW plan
 Mfft_tools
 Mfftsg_lib
 Mfftw3_lib
 Mfist_efield_methods
 Mfist_efield_types
 Mfist_energy_types
 Mfist_environmentInitialize fist environment
 Mfist_environment_types
 Mfist_force
 Mfist_intra_force
 Mfist_mainPerform classical molecular dynamics and path integral simulations
 Mfist_neighbor_list_control
 Mfist_neighbor_list_typesDefine the neighbor list data types and the corresponding functionality
 Mfist_neighbor_listsGenerate the atomic neighbor lists for FIST
 Mfist_nonbond_env_types
 Mfist_nonbond_force
 Mfist_pol_scf
 Mforce_env_methodsInterface for the force calculations
 Mforce_env_typesInterface for the force calculations
 Mforce_env_utilsUtil force_env module
 Mforce_field_kind_typesDefine all structure types related to force field kinds
 Mforce_field_typesDefine all structures types related to force_fields
 Mforce_fields
 Mforce_fields_all
 Mforce_fields_ext
 Mforce_fields_input
 Mforce_fields_util
 Mfp_methodsMethods used in the flexible partitioning scheme
 Mfp_typesTypes used in the flexible partitioning scheme
 MfparserThis public domain function parser module is intended for applications where a set of mathematical expressions is specified at runtime and is then evaluated for a large number of variable values. This is done by compiling the set of function strings into byte code, which is interpreted very efficiently for the various variable values
 Mfree_energy_methodsMethods to perform free energy and free energy derivatives calculations
 Mfree_energy_typesDefines types for metadynamics calculation
 MgammaCalculation of the incomplete Gamma function F_n(t) for multi-center integrals over Cartesian Gaussian functions
 Mgapw_1c_basis_set
 Mgaussian_gridlevels
 Mgeneric_os_integralsCalculation 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
 Mgeneric_shg_integralsCalculation of contracted, spherical Gaussian integrals using the solid harmonic Gaussian (SHG) 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
 Mgeneric_shg_integrals_initInitialization for solid harmonic Gaussian (SHG) integral scheme. Scheme for calculation of contracted, spherical Gaussian integrals using the solid harmonics. Initialization of the contraction matrices
 Mgeo_optPerforms geometry optimization
 MgfunCalculation of the G function G_n(t) for 1/R^2 operators
 Mglbopt_callbackCallback used by global geometry optimization schemes
 Mglbopt_historyHistory of minima, calculates, stores and compares fingerprints of minima. Used by Minima Hopping and Minima Crawling
 Mglbopt_inputDeclares the input for global optimization
 Mglbopt_masterMaster's routines for global optimization
 Mglbopt_mincrawlRoutines for the Minima Crawling global optimization scheme
 Mglbopt_minhopRoutines for the Minima Hopping global optimization scheme
 Mglbopt_workerWorker routines used by global optimization schemes
 Mgle_system_dynamics
 Mgle_system_types
 Mglobal_typesDefine type storing the global information of a run. Keep the amount of stored data small. Use it sparingly and try not to send it too deep in your structures
 Mgopt_f_methodsFunctional that calculates the energy and its derivatives for the geometry optimizer
 Mgopt_f_typesFunctional that calculates the energy and its derivatives for the geometry optimizer
 Mgopt_param_typesTypo and related routines to handle parameters controlling the GEO_OPT module
 Mgraph_methodsProgram to Map on grid the hills spawned during a metadynamics run
 Mgraph_utilsModule containing utils for mapping FESs
 MgraphconUses a combination of graphs and hashing to determine if two molecules are topologically equivalent, and if so, finds the one by one mapping
 Mgrid_apiFortran API for the grid package, which is written in C
 Mgroup_dist_typesTypes to describe group distributions
 Mgrrm_utilsGRRM interface
 Mgw_communication
 Mgw_integralsUtility method to build 3-center integrals for small cell GW
 Mgw_kp_to_real_space_and_back
 Mgw_large_cell_gammaRoutines from paper [Graml2024]
 Mgw_main
 Mgw_small_cell_full_kp
 Mgw_utils
 Mhartree_local_methods
 Mhartree_local_types
 Mhdf5_wrapperA wrapper around the HDF5 Fortran API
 Mheader
 Mhelium_commonIndependent helium subroutines shared with other modules
 Mhelium_interactionsMethods that handle helium-solvent and helium-helium interactions
 Mhelium_ioI/O subroutines for helium
 Mhelium_methodsMethods dealing with helium_solvent_type
 Mhelium_nnpMethods dealing with Neural Network interaction potential
 Mhelium_samplingMethods for sampling helium variables
 Mhelium_typesData types representing superfluid helium
 Mhelium_wormMethods dealing with the canonical worm alogrithm
 Mhfx_admm_utilsUtilities for hfx and admm methods
 Mhfx_communicationRoutines for data exchange between MPI processes
 Mhfx_compression_core_methodsContains routines for data compression. PLEASE DO NOT MODIFY
 Mhfx_compression_methodsRoutines and types for Hartree-Fock-Exchange
 Mhfx_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
 Mhfx_contraction_methodsContains routines for contraction without dgemms. PLEASE DO NOT MODIFY. \notes 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/
 Mhfx_derivativesRoutines to calculate derivatives with respect to basis function origin
 Mhfx_energy_potentialRoutines to calculate HFX energy and potential
 Mhfx_exxRoutines to calculate EXX in RPA and energy correction methods
 Mhfx_helpersSome auxiliary functions and subroutines needed for HFX calculations
 Mhfx_libint_interfaceInterface to the Libint-Library
 Mhfx_load_balance_methodsRoutines for optimizing load balance between processes in HFX calculations
 Mhfx_pair_list_methodsRoutines for optimizing load balance between processes in HFX calculations
 Mhfx_pw_methodsTest routines for HFX caclulations using PW
 Mhfx_riRI-methods for HFX
 Mhfx_ri_kpRI-methods for HFX and K-points. \auhtor Augustin Bussy (01.2023)
 Mhfx_screening_methodsSeveral screening methods used in HFX calcualtions
 Mhfx_typesTypes and set/get functions for HFX
 Mhirshfeld_methodsCalculate Hirshfeld charges and related functions
 Mhirshfeld_typesThe types needed for the calculation of Hirshfeld charges and related functions
 Miao_analysisCalculate intrinsic atomic orbitals and analyze wavefunctions
 Miao_typesCalculate ntrinsic atomic orbitals and analyze wavefunctions
 Minput_constantsCollects all constants needed in input so that they can be used without circular dependencies
 Minput_cp2kBuilds the input structure for cp2k
 Minput_cp2k_almoInput for the ALMO SCF section
 Minput_cp2k_asFunction that build the active space section of the input
 Minput_cp2k_atomBuilds the input structure for the ATOM module
 Minput_cp2k_atpropInput section for atomic properties
 Minput_cp2k_barostats
 Minput_cp2k_binary_restartsRoutines to read the binary restart file of CP2K
 Minput_cp2k_checkChecks the input and perform some automatic "magic" on it
 Minput_cp2k_colvar
 Minput_cp2k_constraints
 Minput_cp2k_dftFunction that build the dft section of the input
 Minput_cp2k_distributionFunction that builds the distribution section of the input
 Minput_cp2k_ecFunction that build the dft section of the input
 Minput_cp2k_eipCreates the EIP section of the input
 Minput_cp2k_embedBuilds the input structure for the EMBED environment: clone of MIXED environment
 Minput_cp2k_exstateExcited state input section
 Minput_cp2k_externalFunction that build the input sections for external [potential, density VXC]
 Minput_cp2k_fieldFunction that build the field section of the input
 Minput_cp2k_force_evalBuilds the input structure for the FORCE_EVAL section of cp2k
 Minput_cp2k_free_energy
 Minput_cp2k_globalBuilds the global input section for cp2k
 Minput_cp2k_harrisHarris input section
 Minput_cp2k_hfxFunction that builds the hartree fock exchange section of the input
 Minput_cp2k_kpointsFunction that build the kpoints section of the input
 Minput_cp2k_loc
 Minput_cp2k_lsInput for the linear scaling (LS) section
 Minput_cp2k_md
 Minput_cp2k_mixedBuilds the input structure for the MIXED environment
 Minput_cp2k_mmCreates the mm section of the input
 Minput_cp2k_motion
 Minput_cp2k_motion_print
 Minput_cp2k_mp2Input section for MP2
 Minput_cp2k_neb
 Minput_cp2k_negfInput section for NEGF based quantum transport calculations
 Minput_cp2k_nnpCreates the NNP section of the input
 Minput_cp2k_optFunction that build the dft section of the input
 Minput_cp2k_poissonFunction that build the poisson section of the input
 Minput_cp2k_print_dftFunction that build the print section of the dft input
 Minput_cp2k_projection_rtpFunction that builds the projection of MO in RTP section of the input
 Minput_cp2k_properties_dftFunction that build the dft section of the input
 Minput_cp2k_pwdft
 Minput_cp2k_qmmmCreates the qmmm section of the input
 Minput_cp2k_qsFunction that build the QS section of the input
 Minput_cp2k_readParse cp2k input files
 Minput_cp2k_respFunction that builds the resp section of the input
 Minput_cp2k_restartsSet of routines to dump the restart file of CP2K
 Minput_cp2k_restarts_util
 Minput_cp2k_rsgrid
 Minput_cp2k_scfFunction that build the scf section of the input
 Minput_cp2k_seFunction that build the semi empirical section of the input
 Minput_cp2k_smeagolFunctions that build SMEAGOL input section
 Minput_cp2k_subsysBuilds the subsystem section of the input
 Minput_cp2k_tbFunction that build the dft section of the input
 Minput_cp2k_thermostats
 Minput_cp2k_tmc
 Minput_cp2k_transportInput section for NEGF based quantum transport calculations (integration with the quantum transport code OMEN)
 Minput_cp2k_vibBuilds the input structure for the VIBRATIONAL_ANALYSIS module
 Minput_cp2k_voronoiFunction that build the dft section of the input
 Minput_cp2k_xasFunction that build the XAS section of the input
 Minput_cp2k_xcFunction that build the xc section of the input
 Minput_enumeration_typesEnumeration, i.e. a mapping between integers and strings
 Minput_keyword_typesKeywords in an input
 Minput_optimize_basisBuilds the input structure for optimize_basis
 Minput_optimize_inputBuilds the input structure for optimize_input
 Minput_parsingRoutines that parse the input
 Minput_restart_force_eval
 Minput_restart_rng
 Minput_section_typesObjects that represent the structure of input sections and the data contained in an input section
 Minput_val_typesWrapper for basic fortran types
 Mintegration_grid_types
 MintegratorProvides integrator routines (velocity verlet) for all the ensemble types
 Mintegrator_utilsProvides integrator utility routines for the integrators
 Mipi_driverDriver mode - To communicate with i-PI Python wrapper
 Mipi_environmentMethods and functions on the i–PI environment
 Mipi_environment_typesThe environment for the empirical interatomic potential methods
 Mipi_serverI–PI server mode: Communication with i–PI clients
 Miterate_matrixRoutines useful for iterative matrix calculations
 Mkahan_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])
 Mkg_correctionRoutines for a Kim-Gordon-like partitioning into molecular subunits
 Mkg_environmentRoutines for a Kim-Gordon-like partitioning into molecular subunits
 Mkg_environment_typesTypes needed for a Kim-Gordon-like partitioning into molecular subunits
 Mkg_tnadd_matCalculation of the local potential contribution of the nonadditive kinetic energy <a|V(local)|b> = <a|Sum e^a*rc**2|b>
 Mkg_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)
 MkindsDefines the basic variable types
 Mkpoint_coulomb_2cRoutines to compute the Coulomb integral V_(alpha beta)(k) for a k-point k using lattice summation in real space. These integrals are e.g. needed in periodic RI for RPA, GW
 Mkpoint_ioRestart file for k point calculations
 Mkpoint_methodsRoutines needed for kpoint calculation
 Mkpoint_transitionalDatatype to translate between k-points (2d) and gamma-point (1d) code
 Mkpoint_typesTypes and basic routines needed for a kpoint calculation
 MkpsymK-points and crystal symmetry routines based on
 MlazyFilters for interpolating scaling functions
 MlebedevGeneration 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)
 Mlibcp2kCP2K C/C++ interface
 Mlibgrpp
 Mlibgrpp_integralsLocal and semi-local ECP integrals using the libgrpp library
 Mlibint_2c_3c2- and 3-center electron repulsion integral routines based on libint2 Currently available operators: Coulomb, Truncated Coulomb, Short Range (erfc), Overlap
 Mlibint_wrapperInterface to the Libint-Library or a c++ wrapper
 Mlibrary_testsPerformance tests for basic tasks like matrix multiplies, copy, fft
 Mlinear_systemsProvides interfaces to LAPACK routines for factorisation and linear system solving
 MlinesearchA generic framework to calculate step lengths for 1D line search
 MlistAn 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
 Mlist_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
 Mlist_routinereportAn 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
 Mlist_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
 Mlist_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
 Mlocal_gemm_api
 Mlocalization_tbLocalization/Wannier functions for TB
 Mlri_compressionIntegral compression (fix point accuracy)
 Mlri_environment_initInitializes the environment for lri lri : local resolution of the identity
 Mlri_environment_methodsCalculates integral matrices for LRIGPW method lri : local resolution of the identity
 Mlri_environment_typesTypes and subroutines for dealing with the lri_env lri : local resolution of the identity
 Mlri_forcesCalculates forces for LRIGPW method lri : local resolution of the identity
 Mlri_integralsCalculates integrals for LRIGPW method lri : local resolution of the identity
 Mlri_ks_methodsRoutines that build the Kohn-Sham matrix for the LRIGPW and xc parts
 Mlri_optimize_ri_basisOptimizes exponents and contraction coefficients of the lri auxiliary basis sets using the UOBYQA minimizer lri : local resolution of the identity
 Mlri_optimize_ri_basis_typesSets the environment for optimization of exponents and contraction coefficients of the lri auxiliary lri : local resolution of the identity
 Mls_matrix_expRoutines for calculating a complex matrix exponential with dbcsr matrices. Based on the code in matrix_exp.F from Florian Schiffmann
 MmachineMachine interface based on Fortran 2003 and POSIX
 Mmanybody_allegro
 Mmanybody_deepmd
 Mmanybody_eam
 Mmanybody_galImplementation of the GAL19 potential
 Mmanybody_gal21Implementation of the GAL21 potential
 Mmanybody_nequip
 Mmanybody_potential
 Mmanybody_quip
 Mmanybody_siepmannImplementation 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
 Mmanybody_tersoff
 Mmao_basisCalculate MAO's and analyze wavefunctions
 Mmao_methodsCalculate MAO's and analyze wavefunctions
 Mmao_optimizerCalculate MAO's and analyze wavefunctions
 Mmao_typesThe types needed for the calculation of modified atomic orbitals (MAO)
 Mmao_wfn_analysisCalculate MAO's and analyze wavefunctions
 MmathconstantsDefinition of mathematical constants and functions
 MmathlibCollection of simple mathematical functions and subroutines
 Mmatrix_expRoutines for calculating a complex matrix exponential
 Mmaxwell_solver_interfaceInterface to Maxwell equation solver
 Mmc_controlSome general routines for dealing with the restart files and creating force_env for MC use
 Mmc_coordinatesMiscellaneous subroutines used in the Monte Carlo runs,mostly geared towards changes in coordinates
 Mmc_ensemblesUsed to run the bulk of the MC simulation, doing things like choosing move types and writing data to files
 Mmc_environment_typesSubroutines for dealing with the mc_env
 Mmc_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
 Mmc_miscMiscellaneous subroutines used in the Monte Carlo runs, mostly I/O stuff
 Mmc_move_controlControl the handling of the move data in Monte Carlo (MC) simulations
 Mmc_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
 Mmc_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
 Mmc_typesHolds all the structure types needed for Monte Carlo, except the mc_environment_type
 Mmd_conserved_quantitiesComputes the conserved quantities for a given md ensemble and also kinetic energies, thermo/barostat stuff
 Mmd_ener_typesSplit md_ener module from md_environment_type
 Mmd_energiesPrints all energy info per timestep to the screen or to user defined output files
 Mmd_environment_types
 Mmd_runPerform a molecular dynamics (MD) run using QUICKSTEP
 Mmd_utilUtilities for Molecular Dynamics
 Mmd_vel_utilsCollection of utilities for setting-up and handle velocities in MD runs
 Mmdctrl_methodsA common interface (wrapper) for a callback into the md_run loop. Currently this is only used by the glbopt machinery, but its meant to be extended if others need to control the md_run loop, too
 Mmdctrl_typesA common interface for passing a callback into the md_run loop
 Mmemory_utilitiesUtility routines for the memory handling
 Mmessage_passingInterface to the message passing library MPI
 MmetadynamicsPerforms the metadynamics calculation
 Mmetadynamics_typesDefines types for metadynamics calculation
 Mmetadynamics_utilsPerforms the metadynamics calculation
 Mmin_basis_setGenerate or use from input minimal basis set
 Mminbas_methodsCalculate localized minimal basis
 Mminbas_wfn_analysisCalculate localized minimal basis and analyze wavefunctions
 Mminimax_expRoutines 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]
 Mminimax_exp_gwRoutines 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]. This module contains coefficients for minimax approximations with 26, 28, 30, 32, 34 points that give well-converged GW results
 Mminimax_exp_k15Routines 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]. This module contains coefficients for minimax approximations with 1 <= k <= 15
 Mminimax_exp_k53Routines 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]. This module contains coefficients for minimax approximations with 1 <= k <= 53. Generated from data from http://www.mis.mpg.de/scicomp/EXP_SUM/1_x See also https://doi.org/10.1007/s00791-018-00308-4 This module should not be modified manually and should not be used anywhere except in main minimax module. This file was created using the scripts in cp2k/tools/minimax_tools
 Mminimax_rpaRoutines to calculate the minimax coefficients for approximating 1/x as 1/x ~ 1/pi SUM_{i}^{K} w_i x^2/(x^2+a_i^2)^2 for x belonging to [1:Rc]
 Mmixed_cdft_methodsMethods for mixed CDFT calculations
 Mmixed_cdft_typesTypes for mixed CDFT calculations
 Mmixed_cdft_utilsUtility subroutines for mixed CDFT calculations
 Mmixed_energy_types
 Mmixed_environmentInitialize mixed environment
 Mmixed_environment_types
 Mmixed_environment_utilsUtil mixed_environment
 Mmixed_mainPerform biased molecular dynamics (H= k H1 + (1-k) H2 [linear or general mixing)
 Mmltfftsg_tools
 Mmm_collocate_potentialCalculate the MM potential by collocating the primitive Gaussian functions (pgf)
 Mmm_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
 Mmode_selectiveModule performing a mdoe selective vibrational analysis
 Mmol_force
 Mmolden_utilsFunctions handling the MOLDEN format. Split from mode_selective
 Mmolecular_dipolesSet of routines handling the localization for molecular properties
 Mmolecular_momentsSet of routines handling the localization for molecular properties
 Mmolecular_statesRoutines for the calculation of molecular states
 Mmolecule_kind_list_typesRepresent a simple array based list of the given type
 Mmolecule_kind_typesDefine the molecule kind structure types and the corresponding functionality
 Mmolecule_list_typesRepresent a simple array based list of the given type
 Mmolecule_typesDefine the data structure for the molecule information
 MmolsymMolecular symmetry routines
 Mmoments_utilsCalculates the moment integrals <a|r^m|b>
 Mmotion_utilsOutput Utilities for MOTION_SECTION
 Mmp2Routines to calculate MP2 energy
 Mmp2_cphfRoutines to calculate CPHF like update and solve Z-vector equation for MP2 gradients (only GPW)
 Mmp2_direct_methodRoutines to calculate MP2 energy
 Mmp2_eriInterface to direct methods for electron repulsion integrals for MP2
 Mmp2_eri_gpwRoutines to calculate 2c- and 3c-integrals for RI with GPW
 Mmp2_gpwCalls routines to get RI integrals and calculate total energies
 Mmp2_gpw_methodRoutines to calculate MP2 energy using GPW method
 Mmp2_gridsRoutines to calculate frequency and time grids (integration points and weights) for correlation methods
 Mmp2_integralsRoutines to calculate and distribute 2c- and 3c- integrals for RI
 Mmp2_laplaceRoutines to calculate MP2 energy with laplace approach
 Mmp2_optimize_ri_basisRoutines 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
 Mmp2_ri_2cFramework for 2c-integrals for RI
 Mmp2_ri_gpwRoutines to calculate RI-GPW-MP2 energy using pw
 Mmp2_ri_gradRoutines to calculate gradients of RI-GPW-MP2 energy using pw
 Mmp2_ri_grad_utilRoutines for calculating RI-MP2 gradients
 Mmp2_ri_libintRoutines to calculate the 3 and 2 center ERI's needed in the RI approximation using libint
 Mmp2_setupTypes needed for MP2 calculations
 Mmp2_typesTypes needed for MP2 calculations
 Mmp_perf_envDefines all routines to deal with the performance of MPI routines
 Mmp_perf_testInterface to the message passing library MPI
 Mmscfg_methodsSubroutines 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
 Mmscfg_typesTypes used to generate the molecular SCF guess
 Mmt_util
 MmullikenCompute mulliken charges we (currently) define them as c_i = 1/2 [ (PS)_{ii} + (SP)_{ii} ]
 Mmultipole_typesMultipole structure: for multipole (fixed and induced) in FF based MD
 Mneb_ioI/O Module for Nudged Elastic Band Calculation
 Mneb_md_utilsModule with utility to perform MD Nudged Elastic Band Calculation
 Mneb_methodsModule performing a Nudged Elastic Band Calculation
 Mneb_opt_utilsModule with utility to perform MD Nudged Elastic Band Calculation
 Mneb_typesTypo for Nudged Elastic Band Calculation
 Mneb_utilsModule with utility for Nudged Elastic Band Calculation
 Mnegf_alloc_typesAllocatable vectors for NEGF based quantum transport calculations
 Mnegf_atom_mapMap atoms between various force environments
 Mnegf_control_typesInput control types for NEGF based quantum transport calculations
 Mnegf_env_typesEnvironment for NEGF based quantum transport calculations
 Mnegf_green_cacheStorage to keep precomputed surface Green's functions
 Mnegf_green_methodsSubroutines to compute Green functions
 Mnegf_integr_ccAdaptive Clenshaw-Curtis quadrature algorithm to integrate a complex-valued function in a complex plane
 Mnegf_integr_simpsonAdaptive Simpson's rule algorithm to integrate a complex-valued function in a complex plane
 Mnegf_integr_utilsHelper functions for integration routines
 Mnegf_matrix_utilsHelper routines to manipulate with matrices
 Mnegf_methodsNEGF based quantum transport calculations
 Mnegf_subgroup_typesEnvironment for NEGF based quantum transport calculations
 Mnegf_vectorsRoutines to deal with vectors in 3-D real space
 Mnnp_acsfFunctionality for atom centered symmetry functions for neural network potentials
 Mnnp_environmentMethods dealing with Neural Network potentials
 Mnnp_environment_typesData types for neural network potentials
 Mnnp_forceMethods dealing with Neural Network potentials
 Mnnp_modelMethods dealing with core routines for artificial neural networks
 Moffload_apiFortran API for the offload package, which is written in C
 Moptbas_fenv_manipulation
 Moptbas_opt_utils
 Moptimize_basis
 Moptimize_basis_types
 Moptimize_basis_utils
 Moptimize_dmfet_potential
 Moptimize_embedding_potential
 Moptimize_input
 Morbital_pointersProvides Cartesian and spherical orbital pointers and indices
 Morbital_symbolsOrbital_symbols
 Morbital_transformation_matricesCalculation of the spherical harmonics and the corresponding orbital transformation matrices
 Mouter_scf_control_typesParameters that control the outer loop of an SCF iteration
 Mpair_potential
 Mpair_potential_coulomb
 Mpair_potential_types
 Mpair_potential_util
 Mpao_input
 Mpao_ioRoutines for reading and writing restart files
 Mpao_linpot_fullFull parametrization of Fock matrix, ie. the identity parametrization
 Mpao_linpot_rotinvRotationally invariant parametrization of Fock matrix
 Mpao_mainMain module for the PAO method
 Mpao_methodsMethods used by pao_main.F
 Mpao_mlMain module for PAO Machine Learning
 Mpao_ml_descriptorFeature vectors for describing chemical environments in a rotationally invariant fashion
 Mpao_ml_gaussprocessGaussian Process implementation
 Mpao_ml_neuralnetNeural Network implementation
 Mpao_modelModule for equivariant PAO-ML based on PyTorch
 Mpao_optimizerOptimizers used by pao_main.F
 Mpao_paramFront-End for any PAO parametrization
 Mpao_param_equiEquivariant parametrization
 Mpao_param_expOriginal matrix exponential parametrization
 Mpao_param_fockCommon framework for using eigenvectors of a Fock matrix as PAO basis
 Mpao_param_gthParametrization based on GTH pseudo potentials
 Mpao_param_linpotCommon framework for a linear parametrization of the potential
 Mpao_param_methodsCommon routines for PAO parametrizations
 Mpao_potentialsFactory routines for potentials used e.g. by pao_param_exp and pao_ml
 Mpao_typesTypes used by the PAO machinery
 Mparallel_gemm_apiBasic linear algebra operations for full matrixes
 Mparallel_rng_typesParallel (pseudo)random number generator (RNG) for multiple streams and substreams of random numbers
 Mparticle_list_typesRepresent a simple array based list of the given type
 Mparticle_methodsDefine methods related to particle_type
 Mparticle_typesDefine the data structure for the particle information
 Mpaw_basis_types
 Mpaw_proj_set_types
 Mperiodic_tablePeriodic Table related data definitions
 Mpexsi_interfaceInterface to the PEXSI library, providing wrappers for all PEXSI routines that are called inside CP2K. Requires PEXSI version 0.10.x
 Mpexsi_methodsMethods 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
 Mpexsi_typesEnvironment 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
 MphysconDefinition of physical constants:
 Mpint_gleMethods to apply GLE to PI runs
 Mpint_ioI/O subroutines for pint_env
 Mpint_methodsMethods to performs a path integral run
 Mpint_normalmodeData type and methods dealing with PI calcs in normal mode coords
 Mpint_pigletMethods to apply the piglet thermostat to PI runs
 Mpint_pileMethods to apply a simple Lagevin thermostat to PI runs. v_new = c1*vold + SQRT(kT/m)*c2*random
 Mpint_publicPublic path integral routines that can be called from other modules
 Mpint_qtbMethods to apply the QTB thermostat to PI runs. Based on the PILE implementation from Felix Uhl (pint_pile.F)
 Mpint_stagingData type and methods dealing with PI calcs in staging coordinates
 Mpint_transformations
 Mpint_types
 Mpme
 Mpme_toolsTools common both to PME and SPME
 Mpopulation_analysesProvide various population analyses and print the requested output information
 Mpost_scf_bandstructure_methods
 Mpost_scf_bandstructure_types
 Mpost_scf_bandstructure_utils
 Mpowell
 MpreconditionerComputes preconditioners, and implements methods to apply them currently used in qs_ot
 Mpreconditioner_applyComputes preconditioners, and implements methods to apply them currently used in qs_ot
 Mpreconditioner_makesComputes preconditioners, and implements methods to apply them currently used in qs_ot
 Mpreconditioner_solversSolves the preconditioner, contains to utility function for fm<->dbcsr transfers, should be moved soon
 Mpreconditioner_typesTypes of preconditioners
 Mprint_messagesPerform an abnormal program termination
 Mps_implicit_methodsThe implicit (generalized) Poisson solver
 Mps_implicit_typesTypes containing essential information for running implicit (iterative) Poisson solver
 Mps_wavelet_baseCreates the wavelet kernel for the wavelet based poisson solver
 Mps_wavelet_fft3d
 Mps_wavelet_kernelCreates the wavelet kernel for the wavelet based poisson solver
 Mps_wavelet_methodsDefinition and initialisation of the ps_wavelet data type. \history 01.2014 Renamed from ps_wavelet_types to disentangle dependencies (Ole Schuett)
 Mps_wavelet_scaling_functionCreates the wavelet kernel for the wavelet based poisson solver
 Mps_wavelet_typesDefinition and initialisation of the ps_wavelet data type
 Mps_wavelet_utilPerforms a wavelet based solution of the Poisson equation
 Mpw_copy_all
 Mpw_env_methodsMethods of pw_env that have dependence on qs_env
 Mpw_env_typesContainer for various plainwaves related things
 Mpw_fpga
 Mpw_gpu
 Mpw_grid_infoThis module returns additional info on PW grids
 Mpw_grid_types
 Mpw_gridsThis module defines the grid data type and some basic operations on it
 Mpw_methods
 Mpw_poisson_methods
 Mpw_poisson_read_inputReading of input parameters for the pw_poisson-modules
 Mpw_poisson_typesFunctions related to the poisson solver on regular grids
 Mpw_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
 Mpw_spline_utilsDifferent utils that are useful to manipulate splines on the regular grid of a pw
 Mpw_types
 Mpwdft_environmentMethods and functions on the PWDFT environment
 Mpwdft_environment_typesThe type definitions for the PWDFT environment
 MqcschemaThe module to read/write QCSchema HDF5 files for interfacing CP2K with other programs
 Mqmmm_createInitialize a QM/MM calculation
 Mqmmm_elpot
 Mqmmm_ff_fist
 Mqmmm_forceCalculates QM/MM energy and forces
 Mqmmm_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
 Mqmmm_gaussian_initInitialize the use of the gaussians to treat the QMMM coupling potential
 Mqmmm_gaussian_inputSet the QMMM Gaussian Input Environment
 Mqmmm_gaussian_typesSets the typo for the gaussian treatment of the qm/mm interaction
 Mqmmm_gpw_energyA collection of methods to treat the QM/MM electrostatic coupling
 Mqmmm_gpw_forcesRoutines to compute energy and forces in a QM/MM calculation
 Mqmmm_image_chargeRoutines for image charge calculation within QM/MM
 Mqmmm_initInitialize a QM/MM calculation
 Mqmmm_links_methodsA collection of methods to treat the QM/MM links
 Mqmmm_per_elpotSetting up the potential for QM/MM periodic boundary conditions calculations
 Mqmmm_pw_gridSets variables for the qmmm pool of pw_types
 Mqmmm_se_energyCalculation of the QMMM Hamiltonian integral matrix <a|\sum_i q_i|b> for semi-empirical methods
 Mqmmm_se_forcesCalculation of the derivative of the QMMM Hamiltonian integral matrix <a|\sum_i q_i|b> for semi-empirical methods
 Mqmmm_tb_coulombCalculation of QMMM Coulomb contributions in TB
 Mqmmm_tb_methodsTB methods used with QMMM
 Mqmmm_topology_util
 Mqmmm_typesBasic container type for QM/MM
 Mqmmm_types_low
 Mqmmm_util
 Mqmmmx_createInitialize a QM/MM calculation with Force-Mixing
 Mqmmmx_forceCalculates QM/MM energy and forces with Force-Mixing
 Mqmmmx_typesBasic container type for QM/MM with force mixing
 Mqmmmx_updateUpdate a QM/MM calculations with force mixing
 Mqmmmx_utilRoutines used for force-mixing QM/MM calculations
 Mqs_2nd_kernel_aoRoutines to calculate 2nd order kernels from a given response density in ao basis linear response scf
 Mqs_active_space_methodsDetermine active space Hamiltonian
 Mqs_active_space_typesThe types needed for the calculation of active space Hamiltonians
 Mqs_active_space_utilsContains utility routines for the active space module
 Mqs_atomic_blockRoutine to return block diagonal density matrix. Blocks correspond to the atomic densities
 Mqs_band_structureCalculation of band structures
 Mqs_basis_gradient..
 Mqs_basis_rotation_methods
 Mqs_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 \Iterative diagonalization in augmented plane wave based methods in electronic structure calculations\
 Mqs_cdft_methodsSubroutines for building CDFT constraints
 Mqs_cdft_opt_typesControl parameters for optimizers that work with CDFT constraints
 Mqs_cdft_scf_utilsAuxiliary routines for performing a constrained DFT SCF run with Quickstep
 Mqs_cdft_typesDefines CDFT control structures
 Mqs_cdft_utilsUtility subroutines for CDFT calculations
 Mqs_charge_mixing
 Mqs_chargemolWrite wfx file, works as interface to chargemol and multiwfn
 Mqs_charges_typesContainer for information about total charges on the grids
 Mqs_collocate_densityCalculate the plane wave density by collocating the primitive Gaussian functions (pgf)
 Mqs_commutatorsCalculation of commutator [H,r] matrices
 Mqs_condnumCalculation of overlap matrix condition numbers
 Mqs_core_energiesCalculation of the energies concerning the core charge distribution
 Mqs_core_hamiltonianCalculation of the core Hamiltonian integral matrix <a|H|b> over Cartesian Gaussian-type functions
 Mqs_dcdrCalculate the derivatives of the MO coefficients wrt nuclear coordinates
 Mqs_dcdr_aoCalculate the derivatives of the MO coefficients wrt nuclear coordinates
 Mqs_dcdr_utilsCalculate the derivatives of the MO coefficients wrt nuclear coordinates
 Mqs_density_matricesCollects routines that calculate density matrices
 Mqs_density_mixing_typesModule that contains the definitions of the scf types
 Mqs_dftb3_methodsCalculation of DFTB3 Terms
 Mqs_dftb_coulombCalculation of Coulomb contributions in DFTB
 Mqs_dftb_dispersionCalculation of dispersion in DFTB
 Mqs_dftb_matricesCalculation of Overlap and Hamiltonian matrices in DFTB
 Mqs_dftb_parameters
 Mqs_dftb_typesDefinition of the DFTB parameter types
 Mqs_dftb_utilsWorking with the DFTB parameter types
 Mqs_diisApply the direct inversion in the iterative subspace (DIIS) of Pulay in the framework of an SCF iteration for convergence acceleration
 Mqs_diis_typesBuffer for the diis of the scf
 Mqs_dispersion_cnumCoordination number routines for dispersion pairpotentials
 Mqs_dispersion_d2Calculation of D2 dispersion
 Mqs_dispersion_d3Calculation of D3 dispersion
 Mqs_dispersion_d4Calculation of dispersion using pair potentials
 Mqs_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
 Mqs_dispersion_pairpotCalculation of dispersion using pair potentials
 Mqs_dispersion_typesDefinition of disperson types for DFT calculations
 Mqs_dispersion_utilsSet disperson types for DFT calculations
 Mqs_dosCalculation and writing of density of states
 Mqs_efield_berryCalculates the energy contribution and the mo_derivative of a static periodic electric field
 Mqs_efield_localCalculates the energy contribution and the mo_derivative of a static electric field (nonperiodic)
 Mqs_eht_guessGenerate an initial guess (dm and orb) from EHT calculation
 Mqs_elec_fieldDistribution of the electric field gradient integral matrix
 Mqs_electric_field_gradientCalculates electric field gradients H.M. Petrili, P.E. Blochl, P. Blaha, K. Schwarz, PRB 57, 14690 (1998)
 Mqs_elf_methodsDoes all kind of post scf calculations for GPW/GAPW
 Mqs_energyPerform a QUICKSTEP wavefunction optimization (single point)
 Mqs_energy_initUtility subroutine for qs energy calculation
 Mqs_energy_types
 Mqs_energy_utilsUtility subroutine for qs energy calculation
 Mqs_energy_windowDoes all kind of post scf calculations for GPW/GAPW
 Mqs_environment
 Mqs_environment_methodsQs_environment methods that use many other modules
 Mqs_environment_types
 Mqs_epr_hypCalculates hyperfine values
 Mqs_external_densityRoutines to handle an external density The external density can be generic and is provided by user input
 Mqs_external_potentialRoutines to handle an external electrostatic field The external field can be generic and is provided by user input
 Mqs_fb_atomic_halo_types
 Mqs_fb_atomic_matrix_methods
 Mqs_fb_buffer_types
 Mqs_fb_com_tasks_types
 Mqs_fb_distribution_methods
 Mqs_fb_env_methods
 Mqs_fb_env_types
 Mqs_fb_filter_matrix_methods
 Mqs_fb_hash_table_typesA 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
 Mqs_fb_input
 Mqs_fb_matrix_data_types
 Mqs_fb_trial_fns_types
 Mqs_fermi_contactDistribution of the Fermi contact integral matrix
 Mqs_forceQuickstep force driver routine
 Mqs_force_types
 Mqs_fxcHttps://en.wikipedia.org/wiki/Finite_difference_coefficient
 Mqs_gamma2kpInitialize a qs_env for kpoint calculations starting from a gamma point qs_env
 Mqs_gapw_densities
 Mqs_gcp_methodCalculation of gCP pair potentials
 Mqs_gcp_typesDefinition of gCP types for DFT calculations
 Mqs_gcp_utilsSet disperson types for DFT calculations
 Mqs_grid_atom
 Mqs_gspace_mixing
 Mqs_harmonics_atom
 Mqs_harris_typesTypes needed for a for a Harris model calculation
 Mqs_harris_utilsHarris method environment setup and handling
 Mqs_hash_table_functionsFunctions which are common to different hash tables Derived from qs_fb_hash_table_types and qs_fb_hash_table_types (Mark Tucker, Jun 2016)
 Mqs_initial_guessRoutines to somehow generate an initial guess
 Mqs_integral_utilsSome utility functions for the calculation of integrals
 Mqs_integrate_potentialIntegrate single or product functions over a potential on a RS grid
 Mqs_integrate_potential_productBuild up the plane wave density by collocating the primitive Gaussian functions (pgf)
 Mqs_integrate_potential_singleBuild up the plane wave density by collocating the primitive Gaussian functions (pgf)
 Mqs_interactionsCalculate the interaction radii for the operator matrix calculation
 Mqs_kernel_methods
 Mqs_kernel_types
 Mqs_kind_typesDefine the quickstep kind type and their sub types
 Mqs_kineticCalculation of kinetic energy matrix and forces
 Mqs_kpp1_env_methodsModule that builds the second order perturbation kernel kpp1 = delta_rho|_P delta_rho|_P E drho(P1) drho
 Mqs_kpp1_env_typesBasis types for the calculation of the perturbation of density theory
 Mqs_ks_apply_restraintsSet of routines to apply restraints to the KS hamiltonian
 Mqs_ks_atomRoutines that build the Kohn-Sham matrix contributions coming from local atomic densities
 Mqs_ks_methodsRoutines that build the Kohn-Sham matrix (i.e calculate the coulomb and xc parts
 Mqs_ks_qmmm_methods
 Mqs_ks_qmmm_types
 Mqs_ks_referenceCalculate the KS reference potentials
 Mqs_ks_types
 Mqs_ks_utilsRoutines that build the Kohn-Sham matrix (i.e calculate the coulomb and xc parts
 Mqs_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)
 Mqs_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)
 Mqs_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
 Mqs_linres_epr_nablavksCalculates Nabla V_KS (local part if PSP) on the different grids
 Mqs_linres_epr_ownutils
 Mqs_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
 Mqs_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
 Mqs_linres_kernelLinres kernel functions
 Mqs_linres_methodsLocalize wavefunctions linear response scf
 Mqs_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
 Mqs_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)
 Mqs_linres_nmr_shiftFrom the response current density calculates the shift tensor and the susceptibility
 Mqs_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
 Mqs_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
 Mqs_linres_polar_utilsPolarizability 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
 Mqs_linres_typesType definitiona for linear response calculations
 Mqs_loc_dipole
 Mqs_loc_mainDriver 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
 Mqs_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
 Mqs_loc_moleculesSet of routines handling the localization for molecular properties
 Mqs_loc_states
 Mqs_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
 Mqs_loc_utilsSome utilities for the construction of the localization environment
 Mqs_local_propertiesRoutines for calculating local energy and stress tensor
 Mqs_local_rho_types
 Mqs_localization_methodsLocalization methods such as 2x2 Jacobi rotations Steepest Decents Conjugate Gradient
 Mqs_matrix_poolsWrapper for the pools of matrixes
 Mqs_matrix_wUtility subroutine for qs energy calculation
 Mqs_mfp
 Mqs_mixing_utils
 Mqs_mo_ioDefinition and initialisation of the mo data type
 Mqs_mo_methodsCollects routines that perform operations directly related to MOs
 Mqs_mo_occupationSet occupation of molecular orbitals
 Mqs_mo_typesDefinition and initialisation of the mo data type
 Mqs_mom_methodsMethods for deltaSCF calculations
 Mqs_mom_typesManage control variables for the maximum overlap method
 Mqs_momentsCalculates the moment integrals <a|r^m|b> and <a|r x d/dr|b>
 Mqs_neighbor_list_typesDefine the neighbor list data types and the corresponding functionality
 Mqs_neighbor_listsGenerate the atomic neighbor lists
 Mqs_nl_hash_table_typesA 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
 Mqs_nonscfRoutines for Quickstep NON-SCF run
 Mqs_nonscf_utilsRoutines for Quickstep NON-SCF run
 Mqs_o3c_methodsMethods used with 3-center overlap type integrals containers
 Mqs_o3c_types3-center overlap type integrals containers
 Mqs_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
 Mqs_oce_types
 Mqs_operators_ao
 Mqs_otOrbital transformations
 Mqs_ot_eigensolverEigen-space solver for the generalised symmetric eigenvalue problem for sparse matrices, needing only multiplications
 Mqs_ot_minimizerOrbital transformations
 Mqs_ot_scfBasic functionality for using ot in the scf routines
 Mqs_ot_typesOrbital transformations
 Mqs_outer_scfRoutines for performing an outer scf loop
 Mqs_overlapCalculation of overlap matrix, its derivatives and forces
 Mqs_p_env_methodsUtility functions for the perturbation calculations
 Mqs_p_env_typesBasis types for the calculation of the perturbation of density theory
 Mqs_pdosCalculation and writing of projected density of states The DOS is computed per angular momentum and per kind
 Mqs_period_efield_typesType for berry phase efield matrices. At the moment only used for cosmat and sinmat
 Mqs_respResp fit for gas phase systems
 Mqs_rho0_ggrid
 Mqs_rho0_methods
 Mqs_rho0_types
 Mqs_rho_atom_methods
 Mqs_rho_atom_types
 Mqs_rho_methodsMethods of the rho structure (defined in qs_rho_types)
 Mqs_rho_typesSuperstucture that hold various representations of the density and keeps track of which ones are valid
 Mqs_sccsSelf-consistent continuum solvation (SCCS) model implementation
 Mqs_scfRoutines for the Quickstep SCF run
 Mqs_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 Iterative diagonalization in augmented plane wave based methods in electronic structure calculations
 Mqs_scf_csr_writeFunctions to print the KS and S matrix in the CSR format to file
 Mqs_scf_diagonalizationDifferent diagonalization schemes that can be used for the iterative solution of the eigenvalue problem
 Mqs_scf_initializationUtility routines for qs_scf
 Mqs_scf_lanczosModule that contains the algorithms to perform an itrative diagonalization by the block-Lanczos approach
 Mqs_scf_loop_utilsUtility routines for qs_scf
 Mqs_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
 Mqs_scf_output
 Mqs_scf_post_gpwDoes all kind of post scf calculations for GPW/GAPW
 Mqs_scf_post_scfUtility routines for qs_scf
 Mqs_scf_post_seDoes all kind of post scf calculations for semi-empirical
 Mqs_scf_post_tbDoes all kind of post scf calculations for DFTB
 Mqs_scf_typesModule that contains the definitions of the scf types
 Mqs_scf_wfn_mixDoes all kind of post scf calculations for GPW/GAPW
 Mqs_spin_orbitDistribution of the spin orbit integral matrix
 Mqs_subsys_methodsRoutines that work on qs_subsys_type
 Mqs_subsys_typesTypes that represent a quickstep subsys
 Mqs_tddfpt2_assign
 Mqs_tddfpt2_densities
 Mqs_tddfpt2_eigensolver
 Mqs_tddfpt2_fhxc
 Mqs_tddfpt2_fhxc_forces
 Mqs_tddfpt2_forces
 Mqs_tddfpt2_fprint
 Mqs_tddfpt2_lri_utils
 Mqs_tddfpt2_methods
 Mqs_tddfpt2_operators
 Mqs_tddfpt2_properties
 Mqs_tddfpt2_restart
 Mqs_tddfpt2_smearing_methods
 Mqs_tddfpt2_soc
 Mqs_tddfpt2_soc_types
 Mqs_tddfpt2_soc_utilsUtilities absorption spectroscopy using TDDFPT with SOC
 Mqs_tddfpt2_stda_typesSimplified Tamm Dancoff approach (sTDA)
 Mqs_tddfpt2_stda_utilsSimplified Tamm Dancoff approach (sTDA)
 Mqs_tddfpt2_subgroups
 Mqs_tddfpt2_types
 Mqs_tddfpt2_utils
 Mqs_tensorsUtility methods to build 3-center integral tensors of various types
 Mqs_tensors_typesUtility methods to build 3-center integral tensors of various types
 Mqs_update_s_mstructQs_environment methods that use many other modules
 Mqs_vcd
 Mqs_vcd_ao
 Mqs_vcd_utils
 Mqs_vxc
 Mqs_vxc_atomRoutines that build the integrals of the Vxc potential calculated for the atomic density in the basis set of spherical primitives
 Mqs_wannier90Interface to Wannier90 code
 Mqs_wf_history_methodsStorage of past states of the qs_env. Methods to interpolate (or actually normally extrapolate) the new guess for density and wavefunctions
 Mqs_wf_history_typesInterpolate the wavefunctions to speed up the convergence when doing MD
 Mrealspace_grid_cubeGenerate Gaussian cube files
 Mrealspace_grid_types
 Mreference_managerUniform framework to add references to CP2K cite and output these
 Mreftraj_typesInitialization of the reftraj structure used to analyse previously generated trajectories
 Mreftraj_utilInitialize the analysis of trajectories to be done by activating the REFTRAJ ensemble
 Mrel_control_typesParameters that control a relativistic calculation
 Mreplica_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)
 Mreplica_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
 Mresponse_solverCalculate the CPKS equation and the resulting forces
 MrestraintHandles all possible kinds of restraints in CP2K
 Mri_environment_methodsCalculates integral matrices for RIGPW method
 MrmsdDefines functions to perform rmsd in 3D
 Nrocm_backend
 Mroutine_map
 Mrpa_communicationAuxiliary routines necessary to redistribute an fm_matrix from a given blacs_env to another
 Mrpa_exchangeAuxiliary routines needed for RPA-exchange given blacs_env to another
 Mrpa_gradRoutines to calculate RI-RPA and SOS-MP2 gradients
 Mrpa_gwRoutines for GW, continuous development [Jan Wilhelm]
 Mrpa_gw_icRoutines to calculate image charge corrections
 Mrpa_gw_im_time_utilUtility routines for GW with imaginary time
 Mrpa_gw_kpoints_utilRoutines treating GW and RPA calculations with kpoints
 Mrpa_gw_sigma_xRoutines to calculate EXX within GW
 Mrpa_im_timeRoutines for low-scaling RPA/GW with imaginary time
 Mrpa_im_time_force_methodsRoutines needed for cubic-scaling RPA and SOS-Laplace-MP2 forces
 Mrpa_im_time_force_typesTypes needed for cubic-scaling RPA and SOS-Laplace-MP2 forces
 Mrpa_mainRoutines to calculate RI-RPA energy
 Mrpa_rseRoutines to compute singles correction to RPA (RSE)
 Mrpa_sigma_functionalRoutines to calculate RI-RPA energy and Sigma correction to the RPA energies using the cubic spline based on eigen values of Q(w)
 Mrpa_utilUtility functions for RPA calculations
 Mrs_methodsNumerical operations on real-space grid
 Mrs_pw_interfaceTransfers densities from PW to RS grids and potentials from PW to RS
 Mrt_bseRoutines for the propagation via RT-BSE method
 Mrt_bse_ioInput/output from the propagation via RT-BSE method
 Mrt_bse_typesData storage and other types for propagation via RT-BSE method
 Mrt_delta_pulseRoutines to apply a delta pulse for RTP and EMD
 Mrt_hfx_utilsUtility functions that are needed for RTP/EMD in combination with HF or hybrid functionals (needs to deal with imaginary KS and P
 Mrt_make_propagatorsRoutines for calculating a complex matrix exponential
 Mrt_projection_mo_utilsFunction related to MO projection in RTP calculations
 Mrt_propagationRoutines for the real time propagation
 Mrt_propagation_forcesRoutines needed for EMD
 Mrt_propagation_methodsRoutines for propagating the orbitals
 Mrt_propagation_outputRoutine for the real time propagation output
 Mrt_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)
 Mrt_propagation_utilsRoutines needed for EMD
 Mrt_propagation_velocity_gaugeRoutines to perform the RTP in the velocity gauge
 Mrt_propagator_initRoutines for that prepare rtp and EMD
 Mrtp_admm_methodsUtilities for rtp in combination with admm methods adapted routines from admm_method (author Manuel Guidon)
 Ms_contract_shgRoutines for calculating the s-integrals and their scalar derivatives with respect to rab2 over solid harmonic Gaussian (SHG) functions + contraction routines for these integrals i) (s|O(r12)|s) where O(r12) is the overlap, coulomb operator etc. ii) (aba) and (abb) s-overlaps
 Ms_square_methodsMethods related to (\cal S)^2 (i.e. spin)
 Msap_kind_typesGeneral overlap type integrals containers
 Mscf_control_typesParameters that control an scf iteration
 Mscine_utilsSCINE interface
 Mse_core_coreSplit and build its own idependent core_core SE interaction module
 Mse_core_matrixCalculation of the Hamiltonian integral matrix <a|H|b> for semi-empirical methods
 Mse_fock_matrixCalculation of the Fock matrix for SE methods
 Mse_fock_matrix_coulombModule that collects all Coulomb parts of the fock matrix construction
 Mse_fock_matrix_dbg
 Mse_fock_matrix_exchangeConstruction of the Exchange part of the Fock Matrix
 Mse_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.
 Msemi_empirical_expns3_methodsMethods for handling the 1/R^3 residual integral part
 Msemi_empirical_expns3_typesDefinition of the type to handle the 1/R^3 residual integral part
 Msemi_empirical_int3_utilsUtilities for evaluating the residual part (1/r^3) of Integrals for semi-empiric methods
 Msemi_empirical_int_anaAnalytical derivatives of Integrals for semi-empirical methods
 Msemi_empirical_int_arraysArrays of parameters used in the semi-empirical calculations \References Everywhere in this module TCA stands for:
 Msemi_empirical_int_gksIntegral GKS scheme: The order of the integrals in makeCoul reflects the standard order by MOPAC
 Msemi_empirical_int_numIntegrals for semi-empiric methods
 Msemi_empirical_int_utilsUtilities for Integrals for semi-empiric methods
 Msemi_empirical_integralsSet of wrappers for semi-empirical analytical/numerical Integrals routines
 Msemi_empirical_mpole_methodsSetup and Methods for semi-empirical multipole types
 Msemi_empirical_mpole_typesDefinition of the semi empirical multipole integral expansions types
 Msemi_empirical_par_utilsUtilities to post-process semi-empirical parameters
 Msemi_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
 Msemi_empirical_store_int_typesType to store integrals for semi-empirical calculations
 Msemi_empirical_typesDefinition of the semi empirical parameter types
 Msemi_empirical_utilsWorking with the semi empirical parameter types
 Mshell_opt
 Mshell_potential_types
 Mshg_integrals_testCalculates 2-center integrals for different r12 operators comparing the Solid harmonic Gaussian integral scheme to the Obara-Saika (OS) scheme
 Msimpar_methodsMethods for storing MD parameters type
 Msimpar_typesType for storing MD parameters
 Msirius_interfaceInterface to the SIRIUS Library
 Msmeagol_control_typesInput control types for NEGF/SMEAGOL transport calculations
 Msmeagol_emtoptionsCP2K+SMEAGOL interface
 Msmeagol_interfaceCP2K+SMEAGOL interface
 Msmeagol_matrix_utilsRoutines to convert sparse matrices between DBCSR (distributed-blocks compressed sparse rows) and SIESTA (distributed compressed sparse columns) formats
 Msoc_pseudopotential_methods
 Msoc_pseudopotential_utils
 Msockets_interfaceImplements UNIX and INET sockets
 Msoft_basis_set
 Mspace_groupsSpace Group Symmetry Module (version 1.0, January 16, 2020)
 Mspace_groups_typesSpace Group Symmetry Type Module (version 1.0, Ferbruary 12, 2021)
 Mspglib_f08Interface for SPGLIB symmetry routines
 Mspherical_harmonicsCalculate spherical harmonics
 MsplinesSimple splines Splines are fully specified by the interpolation points, except that at the ends, we have the freedom to prescribe the second derivatives. If we know a derivative at an end (exactly), then best is to impose that. Otherwise, it is better to use the "consistent" end conditions: the second derivative is determined such that it is smooth
 Msplines_methodsRoutines for handling splines
 Msplines_typesRoutines for handling splines_types
 MspmeCalculate the electrostatic energy by the Smooth Particle Ewald method
 Mstatistical_methodsMethods to perform on the fly statistical analysis of data -) Schiferl and Wallace, J. Chem. Phys. 83 (10) 1985
 Mstm_imagesCalculation of STM image as post processing of an electronic structure calculation,
 Msto_ng
 Mstring_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
 Mstring_utilitiesUtilities for string manipulations
 Mstructure_factor_types
 Mstructure_factors
 Msubcell_typesSubcell types and allocation routines
 Msubmatrix_dissection
 Msubmatrix_types
 Msurface_dipole
 MswarmSwarm-framwork, provides a convenient master/worker architecture
 Mswarm_inputDeclares the input for swarm framework
 Mswarm_masterMaster's routines for the swarm-framework
 Mswarm_messageSwarm-message, a convenient data-container for with build-in serialization
 Mswarm_mpiHandles the MPI communication of the swarm framework
 Mswarm_workerWorkers's routines for the swarm-framework
 Mt_c_g0This module computes the basic integrals for the truncated coulomb operator
 Mt_sh_p_s_c..
 Mtamc_runPerform a temperature accelarated hybrid monte carlo (TAHMC) run using QUICKSTEP
 Mtaper_typesDefinition of the semi empirical parameter types
 Mtask_list_methodsGenerate the tasks lists used by collocate and integrate routines
 Mtask_list_typesTypes for task lists
 Mthermal_region_typesThermal regions type: to initialize and control the temperature of different regions
 Mthermal_region_utilsSetup of regions with different temperature
 Mthermostat_mapping
 Mthermostat_methodsMethods for Thermostats
 Mthermostat_typesThermostat structure: module containing thermostat available for MD
 Mthermostat_utilsUtilities for thermostats
 MtimingsTiming routines for accounting
 Mtimings_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
 Mtimings_reportTiming routines for accounting
 Mtimings_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
 Mtip_scan_methods
 Mtip_scan_types
 Mtmc_analysisModule analyses element of the TMC tree element structure e.g. density, radial distribution function, dipole correlation,..
 Mtmc_analysis_typesModule provides variables for the TMC analysis tool
 Mtmc_calculationsCalculation section for TreeMonteCarlo
 Mtmc_cancelation
  • to decrease the used memory size, just actual needed tree elements should be stored in memory, other ones should be written out in file
 Mtmc_dot_treeModule for printing tree structures in GraphViz dot files for visualizing the trees
 Mtmc_file_io
  • writing and printing the files, trajectory (pos, cell, dipoles) as well as restart files
 Mtmc_masterModule contains the master routine handling the tree creation, communication with workers and task distribution For each idle working group the master creates a new global tree element, and if neccessay a related sub tree element, OR find the next element to calculate the exact energy. Goal is to keep at least the exact energy calculation working groups as busy as possible. Master also checks for incomming results and update the tree and the acceptance ratios
 Mtmc_messagesSet up the different message for different tasks A TMC message consists of 3 parts (messages) 1: first a message with task type (STATUS) and SIZES of submessages 2: (if existing) a message with INTEGER values 3: (if existing) a message with REAL values submessages 2 and 3 include relevant data, e.g. positions, box sizes..
 Mtmc_move_handleAcceptance ratio handling of the different Monte Carlo Moves types For each move type and each temperature average acceptance is determined. For each move is a weight (mv_weight) defined, which defines the probability to perform the move. We distinguish between moves performed on the exact potential (move on the master, energy on the energy worker) and NMC moves, which are performed on the worker using the approximate potential. The energies are calculated as usual on the energy worker with the exact potential. The move probabilities to perform a NMC is stored in the NMC move. The probilities of the single move types (performed with the approximate potential) are only compared within the NMC move
 Mtmc_move_typesTree nodes creation, searching, deallocation, references etc
 Mtmc_movesDifferent move types are applied
 Mtmc_setupTree Monte Carlo entry point, set up, CPU redistribution and input reading
 Mtmc_statiTree nodes creation, searching, deallocation, references etc
 Mtmc_tree_acceptanceTree nodes acceptance code is separated in 3 parts, first the acceptance criteria, second the tree node acceptance handling, searching etc. and than the acceptance probability handling
 Mtmc_tree_buildTree nodes creation, deallocation, references etc
 Mtmc_tree_referencesGlobal tree references
 Mtmc_tree_searchTree nodes search etc
 Mtmc_tree_typesModule handles definition of the tree nodes for the global and the subtrees binary tree parent element / \ accepted (acc) / \ not accepted (nacc) / \ child child / \ / \
 Mtmc_typesModule handles definition of the tree nodes for the global and the subtrees binary tree parent element / \ accepted (acc) / \ not accepted (nacc) / \ child child / \ / \
 Mtmc_utilsUtillities for the TMC
 Mtmc_workerModule contains the worker routine handling the communication and the calculation / creation of the configurations
 MtopologyControl for reading in different topologies and coordinates
 Mtopology_amberHandles all functions used to read and interpret AMBER coordinates and topology files
 Mtopology_cifHandles CIF (Crystallographic Information File) files
 Mtopology_connectivity_utilCollection of subroutine needed for topology related things
 Mtopology_constraint_utilCollection of subroutine needed for topology related things
 Mtopology_coordinate_utilCollection of subroutine needed for topology related things
 Mtopology_cp2k
 Mtopology_generate_utilCollection of subroutine needed for topology related things
 Mtopology_gromos
 Mtopology_inputReads the input sections "topology"
 Mtopology_multiple_unit_cellHandles the multiple unit cell option regarding atomic coordinates
 Mtopology_pdbHandles PDB files
 Mtopology_psfFunctionality to read in PSF topologies and convert it into local data structures
 Mtopology_types
 Mtopology_utilCollection of subroutine needed for topology related things
 Mtopology_xtlHandles XTL (Molecular Simulations, Inc (MSI)) files
 Mtopology_xyz
 Mtorch_api
 MtransportRoutines for DFT+NEGF calculations (coupling with the quantum transport code OMEN)
 Mtransport_env_typesCP2K transport environment and related C-interoperable types
 Mtrexio_utilsThe module to read/write TREX IO files for interfacing CP2K with other programs
 Muff_vdw_radii_tableTable for UFF vdW radii: Rappe et al. J. Am. Chem. Soc. 114, 10024 (1992)
 MutilAll kind of helpful little routines
 Mvelocity_verlet_controlProvides an interface to the velocity-verlet based integrator routines for all ensembles
 Mvibrational_analysisModule performing a vibrational analysis
 Mvirial_methods
 Mvirial_types
 Mvoronoi_interfaceInterface for Voronoi Integration and output of BQB files
 Mwannier90Outtakes from Wannier90 code
 Mwannier_statesRoutines for the calculation of wannier states
 Mwannier_states_typesDefines the type needed for computing wannier states expectations
 MwhittakerCalculates special integrals
 Mwiener_processHandling of the Wiener process currently employed in turn of the Langevin dynamics
 Mxas_controlDefines control structures, which contain the parameters and the settings for the calculations
 Mxas_env_typesDefine create destroy get and put information in xas_env to calculate the x-ray absorption spectra
 Mxas_methodsDriver for the xas calculation and xas_scf for the tp method
 Mxas_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
 Mxas_tdp_atomThis module deals with all the integrals done on local atomic grids in xas_tdp. This is mostly used to compute the xc kernel matrix elements wrt two RI basis elements (centered on the same excited atom) <P|fxc(r)|Q>, where the kernel fxc is purely a function of the ground state density and r. This is also used to compute the SOC matrix elements in the orbital basis
 Mxas_tdp_correctionSecond order perturbation correction to XAS_TDP spectra (i.e. shift)
 Mxas_tdp_integrals3-center integrals machinery for the XAS_TDP method
 Mxas_tdp_kernelAll the kernel specific subroutines for XAS TDP calculations
 Mxas_tdp_methodsMethods for X-Ray absorption spectroscopy (XAS) using TDDFPT
 Mxas_tdp_typesDefine XAS TDP control type and associated create, release, etc subroutines, as well as XAS TDP environment type and associated set, get, etc subroutines
 Mxas_tdp_utilsUtilities for X-ray absorption spectroscopy using TDDFPT
 Mxas_tp_scfXas_scf for the tp method It is repeaated for every atom that have to be excited
 MxcExchange and Correlation functional calculations
 Mxc_adiabatic_methodsContains some functions used in the context of adiabatic hybrid functionals
 Mxc_adiabatic_utils
 Mxc_atom
 Mxc_b97Calculates the b97 correlation functional
 Mxc_b97_fxcCalculates fxc in the spirit of the b97 exchange/correlation functional
 Mxc_cs1Calculate the CS1 Functional (Handy s improved LYP functional)
 Mxc_derivative_descModule with functions to handle derivative descriptors. derivative description are strings have the following form "rhorhorhoa" 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:
 Mxc_derivative_set_typesRepresent a group ofunctional derivatives
 Mxc_derivative_typesProvides types for the management of the xc-functionals and their derivatives
 Mxc_derivatives
 Mxc_exchange_ggaCalculate several different exchange energy functionals with a GGA form
 Mxc_functionals_utilitiesUtility routines for the functional calculations
 Mxc_fxc_kernelExchange and Correlation kernel functionals
 Mxc_hcthCalculate the Hamprecht, Cohen, Tozer, and Handy (HCTH) exchange functional
 Mxc_input_constantsInput constants for xc
 Mxc_ke_ggaCalculate the several different kinetic energy functionals with a GGA form
 Mxc_libxcCalculates a functional from libxc and its derivatives
 Mxc_libxc_wrapIncludes all necessary routines, functions and parameters from libxc. Provides CP2K routines/functions where the LibXC calling list is version dependent (>=4.0.3). The naming convention for such routines/functions is xc_f03_XXX --> 'xc_libxc_wrap_XXX'. All version independent routines/functions are just bypassed to higher level module file 'xc_libxc'
 Mxc_lypCalculates the lyp correlation functional
 Mxc_lyp_adiabaticCalculates the density_scaled Lyp functional when used in adiabatic hybrids. The energy is given as
 Mxc_optxCalculate optx
 Mxc_padeCalculate the LDA functional in the Pade approximation Literature: S. Goedecker, M. Teter and J. Hutter, Phys. Rev. B 54, 1703 (1996)
 Mxc_pbeCalculates the pbe correlation functional
 Mxc_perdew86Calculate the Perdew Correlation from 1986
 Mxc_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
 Mxc_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
 Mxc_pot_saopCalculate the saop potential
 Mxc_rho_cflags_typesStructure
 Mxc_rho_set_typesStructure
 Mxc_tfwCalculate the Thomas-Fermi kinetic energy functional plus the von Weizsaecker term
 Mxc_thomas_fermiCalculate the Thomas-Fermi kinetic energy functional
 Mxc_tpssCalculates the tpss functional
 Mxc_utilUtility functions for the xc package
 Mxc_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)
 Mxc_write_outputWrites information on XC functionals to output
 Mxc_xalphaCalculate the local exchange functional
 Mxc_xbecke88Calculates the Becke 88 exchange functional
 Mxc_xbecke88_long_rangeCalculates the longrange part of Becke 88 exchange functional
 Mxc_xbecke88_lr_adiabaticCalculates the density_scaled BECKE88 long-range functional when used in adiabatic hybrids. The energy is given as
 Mxc_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
 Mxc_xbeefCalculates the Exchange contribution in the BEEF-vdW functional
 Mxc_xbr_pbe_lda_hole_t_c_lrThis functional is a combination of three different exchange hole models. The ingredients are:
 Mxc_xlda_hole_t_c_lrCalculates the lda exchange hole in a truncated coulomb potential. Can be used as longrange correction for truncated hfx calculations
 Mxc_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
 Mxc_xwpbeCalculates short range exchange part for wPBE functional and averaged PBE exchange-hole functional (omega = 0.0 )
 MxmgraceRoutines to facilitate writing XMGRACE files
 Mxray_diffraction
 Mxtb_coulombCalculation of Coulomb contributions in xTB
 Mxtb_eeqCalculation of charge equilibration in xTB
 Mxtb_ehessCalculation of Coulomb Hessian contributions in xTB
 Mxtb_ehess_forceCalculation of forces for Coulomb contributions in response xTB
 Mxtb_hab_forceCalculation of xTB Hamiltonian derivative Reference: Stefan Grimme, Christoph Bannwarth, Philip Shushkov JCTC 13, 1989-2009, (2017) DOI: 10.1021/acs.jctc.7b00118
 Mxtb_hcoreCalculation of EHT matrix elements in xTB Reference: Stefan Grimme, Christoph Bannwarth, Philip Shushkov JCTC 13, 1989-2009, (2017) DOI: 10.1021/acs.jctc.7b00118
 Mxtb_ks_matrixCalculation of KS matrix in xTB Reference: Stefan Grimme, Christoph Bannwarth, Philip Shushkov JCTC 13, 1989-2009, (2017) DOI: 10.1021/acs.jctc.7b00118
 Mxtb_matricesCalculation of Overlap and Hamiltonian matrices in xTB Reference: Stefan Grimme, Christoph Bannwarth, Philip Shushkov JCTC 13, 1989-2009, (2017) DOI: 10.1021/acs.jctc.7b00118
 Mxtb_parametersRead xTB parameters
 Mxtb_potentialsXTB (repulsive) pair potentials Reference: Stefan Grimme, Christoph Bannwarth, Philip Shushkov JCTC 13, 1989-2009, (2017) DOI: 10.1021/acs.jctc.7b00118
 Mxtb_qrespCalculation of charge response in xTB (EEQ only) Reference: Stefan Grimme, Christoph Bannwarth, Philip Shushkov JCTC 13, 1989-2009, (2017) DOI: 10.1021/acs.jctc.7b00118
 Mxtb_typesDefinition of the xTB parameter types