| documentation | |
| source | |
| mainpage.h | Main page in documentation |
| source | |
| basisset | |
| basisinfo.cc | Code for setting up basis functions starting from shells |
| basisinfo.h | Code for setting up basis functions starting from shells |
| basisset.cc | Code for representing basis set information for Gaussian basis sets, and for parsing a text file specifying such a basisset |
| basisset.h | Code for representing basis set information for Gaussian basis sets, and for parsing a text file specifying such a basisset |
| ci | |
| ci.cc | Configuration Interaction (CI) code |
| ci.h | Configuration Interaction (CI) code |
| densfromf | |
| recursive_expansion | |
| eigenvectors | |
| src | |
| get_eigenvectors.h | Defined namespace eigvec containing functions for computing largest eigenvalues and corresponding eigenvectors using the power method or the Lanczos method |
| test | |
| test.cc | |
| src | |
| constants.h | File contataining definitions of constants used in the recursive expansion |
| puri_info.cc | File containing definitions of functions declared in classes IterationInfo and PuriInfo |
| puri_info.h | File containing classes IterationInfo and PuriInfo |
| purification_general.cc | File contataining definitions of various variable used in the recursive density matrix expansion (or density matrix purification) |
| purification_general.h | Recursive density matrix expansion (or density matrix purification) |
| purification_sp2.h | SP2 recursive density matrix expansion (or density matrix purification) |
| purification_sp2acc.h | SP2ACC (SP2 accelerated) recursive density matrix expansion (or density matrix purification) |
| random_matrices.cc | File containing definitions of functions required for testing purposes |
| random_matrices.h | Header file containing declarations of functions required for testing purposes |
| densfromf_full.cc | Routine get_dens_from_fock_full() for getting density matrix from a given Fock matrix using diagonalization |
| densfromf_full.h | Routine get_dens_from_fock_full() for getting density matrix from a given Fock matrix using diagonalization |
| GetDensFromFock.cc | Routines for getting density matrix from a given Fock matrix |
| GetDensFromFock.h | Routines for getting density matrix from a given Fock matrix |
| dft | |
| aos.cc | Blocked version of orbtial evaluation routines |
| aos.h | Blocked version of orbtial evaluation routines |
| cubature_rules.cc | Code for various cubature rules that can be used for numerical integration |
| cubature_rules.h | Code for various cubature rules that can be used for numerical integration |
| dft.h | Definitions exported by the DFT module |
| dft_common.cc | Common DFT routines |
| dft_common.h | Common DFT routines |
| fun-becke.c | Implementation of Becke(88) functional and its derivatives |
| fun-cam.c | General CAM functional |
| fun-gga.c | Implementation of a functional being a linear combination of other functionals |
| fun-kt.c | Implementation of KT functional and its derivatives |
| fun-lb94.c | LB94 implementation |
| fun-lyp.c | Implementation of LYP functional and its derivatives |
| fun-optx.c | Implementation of OPTX exchange functional and its derivatives |
| fun-p86c.c | P86c implementation |
| fun-pbec.c | PBEc implementation |
| fun-pbex.c | PBEx implementation |
| fun-pw86x.c | The PW86 exchange functional and its derivative |
| fun-pw91c.c | PW91C implementation |
| fun-pw91x.c | PW91X implementation |
| fun-pw92c.c | PW92C functional implementation |
| fun-pz81.c | Partially automatically generated PZ81 functional |
| fun-slater.c | Implementation of Slater functional and its derivatives |
| fun-tester.cc | Program for testing functional routines in the DFT module |
| fun-vwn.c | Implementation of VWN functional and its derivatives |
| functionals.c | General functional selection and input processing |
| functionals.h | Functional library interface |
| grid_atomic.cc | Implements radial grid generators |
| grid_atomic.h | Implements shared parts of the grid generation code |
| grid_hicu.cc | Hierarchical Cubature (HiCu) grid generation |
| grid_hicu.h | Hierarchical Cubature (HiCu) grid generation |
| grid_interface.h | Grid Generator interface |
| grid_matrix.h | Generic matrix interface |
| grid_params.h | Code organizing various settings related to grids used for numerical integration |
| grid_reader.cc | Grid Generator interface |
| grid_reader.h | Grid Generator interface |
| grid_stream.cc | This is a streaming version of the linearly-scaling grid generator |
| grid_stream.h | Streaming grid generator |
| integrator.cc | The DFT integrator |
| integrator.h | The DFT integrator interface |
| lebedev_laikov.cc | Evaluate angular grid of requested order |
| lebedev_laikov.h | Headers of lebedev_laikov.c |
| lin_trans.cc | Blocked DFT Linear Response contribution evaluator |
| lin_trans.h | Blocked DFT Linear Response contribution evaluator |
| rho-mat.cc | Functions for density and gradient evaluation |
| rho-mat.h | Density and gradient evaluation interface |
| sparse_matrix.cc | The implementation of sparse matrix optimized for XC integration |
| sparse_matrix.h | Declares a sparse matrix optimized for the XC code |
| sparse_pattern.cc | Class that can be used to store sparse matrix patterns |
| sparse_pattern.h | Class that can be used to store sparse matrix patterns |
| xc_evaluators.h | Defines LDA and GGA evaluators that work both for dense and sparse matrices |
| xc_matrix.cc | The XC matrix evaluator |
| xc_matrix.h | Interface of xc_matrix.cc |
| xc_matrix_sparse.cc | The sparse XC matrix evaluator |
| xc_matrix_sparse.h | The sparse XC matrix evaluator |
| electron_dynamics | |
| electron_dynamics.h | Parameters related to TDHF electron dynamics |
| tdhf_dynamics.cc | Implementation of TDHF electron dynamics, explicitly propagating the electron density in time in the precence of a time-dependent electric field |
| tdhf_dynamics.h | Implementation of TDHF electron dynamics, explicitly propagating the electron density in time in the precence of a time-dependent electric field |
| integrals | |
| basis_func_extent.cc | Code for determining extent of basis functions, for 2-electron integral evaluation |
| basis_func_extent.h | Code for determining extent of basis functions, for 2-electron integral evaluation |
| basis_func_extent_1el.cc | Code for determining extent of basis functions, for 1-electron integral evaluation |
| basis_func_extent_1el.h | Code for determining extent of basis functions, for 1-electron integral evaluation |
| basis_func_pair_list.cc | Functions for setting up lists of non-negligible basis function pairs, for 2-electron integrals |
| basis_func_pair_list.h | Functions for setting up lists of non-negligible basis function pairs, for 2-electron integrals |
| basis_func_pair_list_1el.cc | Functions for setting up lists of non-negligible basis function pairs, for 1-electron integrals |
| basis_func_pair_list_1el.h | Functions for setting up lists of non-negligible basis function pairs, for 1-electron integrals |
| box_system.cc | BoxSystem class representing a hierarchical data structure of boxes in 3D space (an oct-tree) |
| box_system.h | BoxSystem class representing a hierarchical data structure of boxes in 3D space (an oct-tree) |
| boysfunction.cc | Code for Boys function evaluation |
| boysfunction.h | Code for Boys function evaluation |
| exponent_list.cc | ExponentList class for keeping track of a set of unique exponents in Gaussian functions, together with a max coefficient value for each exponent |
| exponent_list.h | ExponentList class for keeping track of a set of unique exponents in Gaussian functions, together with a max coefficient value for each exponent |
| hermite_conversion_explicit.cc | Code for explicitly computing the matrix for conversion between integrals computed for Hermite Gaussians and Cartesian Gaussians, for given nmax and exponent values |
| hermite_conversion_explicit.h | Code for explicitly computing the matrix for conversion between integrals computed for Hermite Gaussians and Cartesian Gaussians, for given nmax and exponent values |
| hermite_conversion_prep.cc | Code for conversion between integrals computed for Hermite Gaussians and Cartesian Gaussians, using saved information from a preparatory step that can be done once and re-used many times |
| hermite_conversion_prep.h | Code for conversion between integrals computed for Hermite Gaussians and Cartesian Gaussians, using saved information from a preparatory step that can be done once and re-used many times |
| hermite_conversion_symb.cc | Code for conversion between integrals computed for Hermite Gaussians and Cartesian Gaussians, using a symbolic conversion matrix |
| hermite_conversion_symb.h | Code for conversion between integrals computed for Hermite Gaussians and Cartesian Gaussians, using a symbolic conversion matrix |
| integral_info.cc | Defines IntegralInfo object, providing the coefficients needed for integral evaluation |
| integral_info.h | Defines IntegralInfo object, providing the coefficients needed for integral evaluation |
| integrals_1el.cc | Code for 1-electron integrals; dense matrix variant of H_core matrix computation |
| integrals_1el.h | Code for 1-electron integrals; dense matrix variant of H_core matrix computation |
| integrals_1el_kinetic.cc | Code for 1-electron integrals, computation of kinetic-energy matrix T |
| integrals_1el_kinetic.h | Code for 1-electron integrals, computation of kinetic-energy matrix T |
| integrals_1el_potential.cc | Code for 1-electron integrals, computation of electron-nuclear potential energy matrix V |
| integrals_1el_potential.h | Code for 1-electron integrals, computation of electron-nuclear potential energy matrix V |
| integrals_1el_potential_prep.cc | Code for 1-electron integrals, preparatory work for computation of electron-nuclear potential energy matrix V |
| integrals_1el_potential_prep.h | Code for 1-electron integrals, preparatory work for computation of electron-nuclear potential energy matrix V |
| integrals_1el_single.cc | Functionality for computing a single 1-electron integral, for a given primitive Gaussian distribution and a given point charge |
| integrals_1el_single.h | Functionality for computing a single 1-electron integral, for a given primitive Gaussian distribution and a given point charge |
| integrals_2el.h | Parameters related to integral evaluation |
| integrals_2el_boxed.cc | Code for 2-electron integrals, computation of Coulomb (J) and HF exchange (K) matrices using a single box |
| integrals_2el_boxed.h | Code for 2-electron integrals, computation of Coulomb (J) and HF exchange (K) matrices using a single box |
| integrals_2el_explicit.cc | Code for explicit computation of 4-index 2-electron integrals |
| integrals_2el_explicit.h | Code for explicit computation of 4-index 2-electron integrals |
| integrals_2el_J.cc | Code for computing the Coulomb matrix J |
| integrals_2el_J.h | Code for computing the Coulomb matrix J |
| integrals_2el_J_kernel.cc | Code for computational kernel for computing the Coulomb matrix J |
| integrals_2el_J_kernel.h | Code for computational kernel for computing the Coulomb matrix J |
| integrals_2el_J_mm_kernel.cc | Code for multipole method computational kernel for computing the Coulomb matrix J |
| integrals_2el_J_mm_kernel.h | Code for multipole method computational kernel for computing the Coulomb matrix J |
| integrals_2el_J_mm_utils.cc | Utility functions related to multipole method, used in construction of the Coulomb matrix J |
| integrals_2el_J_mm_utils.h | Utility functions related to multipole method, used in construction of the Coulomb matrix J |
| integrals_2el_K.cc | Code for computing the Hartree-Fock exchange matrix K |
| integrals_2el_K.h | Code for computing the Hartree-Fock exchange matrix K |
| integrals_2el_K_kernel.cc | Code for computational kernel for computing the Hartree-Fock exchange matrix K |
| integrals_2el_K_kernel.h | Code for computational kernel for computing the Hartree-Fock exchange matrix K |
| integrals_2el_K_prep.cc | Code for preparing for computation of the Hartree-Fock exchange matrix K |
| integrals_2el_K_prep.h | Code for preparing for computation of the Hartree-Fock exchange matrix K |
| integrals_2el_K_prep_groups.cc | Code for preparing basis function group information to be used for computing the Hartree-Fock exchange matrix K |
| integrals_2el_K_prep_groups.h | Code for preparing basis function group information to be used for computing the Hartree-Fock exchange matrix K |
| integrals_2el_layer.cc | Functions for computing dense Coulomb and HF exchange matrices |
| integrals_2el_layer.h | Functions for computing dense Coulomb and HF exchange matrices |
| integrals_2el_repeating.cc | Functionality for keeping track of certain kinds of integrals that are computed repeatedly, saving the computed values instead of recomputing them |
| integrals_2el_repeating.h | Functionality for keeping track of certain kinds of integrals that are computed repeatedly, saving the computed values instead of recomputing them |
| integrals_2el_single.cc | Functionality for computing a single 2-electron integral, for two given primitive Gaussian distributions |
| integrals_2el_single.h | Functionality for computing a single 2-electron integral, for two given primitive Gaussian distributions |
| integrals_2el_util_funcs.cc | Code for utility functions used by 2-electron integral computation (i.e |
| integrals_2el_util_funcs.h | Code for utility functions used by 2-electron integral computation (i.e |
| integrals_2el_utils.cc | Code for various utilities used by 2-electron integral computation (i.e |
| integrals_2el_utils.h | Code for various utilities used by 2-electron integral computation (i.e |
| integrals_general.cc | General functionality related to computation of integrals involving Gaussian basis functions |
| integrals_general.h | General functionality related to computation of integrals involving Gaussian basis functions |
| integrals_hermite.cc | Code for computation of Coulomb integrals of Hermite Gaussians, using the the McMurchie-Davidson scheme as described in the book "Molecular electronic-structure theory" by Trygve Helgaker, Poul Jorgensen, and Jeppe Olsen |
| integrals_hermite.h | Code for computation of Coulomb integrals of Hermite Gaussians, using the the McMurchie-Davidson scheme as described in the book "Molecular electronic-structure theory" by Trygve Helgaker, Poul Jorgensen, and Jeppe Olsen |
| matrix_norm.cc | Code for computing Euclidean norm of a dense matrix |
| matrix_norm.h | Code for computing Euclidean norm of a dense matrix |
| mm_limit_table.cc | MMLimitTable class used to predict the magnitude of contributions when using truncated multipole expansions |
| mm_limit_table.h | MMLimitTable class used to predict the magnitude of contributions when using truncated multipole expansions |
| monomial_info.cc | Code used to organize monomials; contributions like x, y, z, xy, xz etc |
| monomial_info.h | Code used to organize monomials; contributions like x, y, z, xy, xz etc |
| multipole.cc | Code for computing multipole moments, and multipole interaction and translation matrices |
| multipole.h | Code for computing multipole moments, and multipole interaction and translation matrices |
| multipole_prep.cc | This file contains preparatory stuff for computing multipole moments and related things |
| multipole_prep.h | This file contains preparatory stuff for computing multipole moments and related things |
| operator_matrix.cc | Functions for computing the matrix of a dipole/quadrupole/etc operator |
| operator_matrix.h | Functions for computing the matrix of a dipole/quadrupole/etc operator |
| organize_distrs.cc | Code for organizing a given set of primitive Gaussian distributions (typically coming from basis function products); the distributions are grouped according to their location in space, their exponents, etc |
| organize_distrs.h | Code for organizing a given set of primitive Gaussian distributions (typically coming from basis function products); the distributions are grouped according to their location in space, their exponents, etc |
| organize_distrs_mm.cc | Code for organizing a given set of primitive Gaussian distributions (typically coming from basis function products) regarding information related to multipole methods |
| organize_distrs_mm.h | Code for organizing a given set of primitive Gaussian distributions (typically coming from basis function products) regarding information related to multipole methods |
| serialization_tools.h | Tools to simplify serialization of e.g |
| simple_sparse_mat.cc | Simple sparse matrix implementation |
| simple_sparse_mat.h | Simple sparse matrix implementation |
| matrix | |
| gemm_sse | |
| common.h | Macros for inlining and static assertions and structs for access to matrix elements specifying the layout of matrix entries in memory |
| g_intrin.h | Templates for convenient access to intrinsic instructions |
| gemm_sse.h | Generalized matrix matrix multiplication using SSE intrinsics |
| mm_kernel_inner_sse2_A.h | Templates for efficient gemm kernels |
| mm_kernel_outer_A.h | Templates for efficient gemm kernels |
| vector_intrin.h | Vector template for convenient access to SIMD operations |
| template_lapack | |
| blas | |
| template_blas_asum.h | |
| template_blas_axpy.h | |
| template_blas_basicmath.cc | |
| template_blas_basicmath.h | |
| template_blas_common.cc | |
| template_blas_common.h | |
| template_blas_copy.h | |
| template_blas_dot.h | |
| template_blas_gemm.h | |
| template_blas_gemv.h | |
| template_blas_ger.h | |
| template_blas_idamax.h | |
| template_blas_nrm2.h | |
| template_blas_num_limits.h | |
| template_blas_rot.h | |
| template_blas_scal.h | |
| template_blas_spmv.h | |
| template_blas_spr.h | |
| template_blas_spr2.h | |
| template_blas_swap.h | |
| template_blas_symm.h | |
| template_blas_symv.h | |
| template_blas_syr2.h | |
| template_blas_syr2k.h | |
| template_blas_syrk.h | |
| template_blas_test.cc | |
| template_blas_test_threaded.cc | |
| template_blas_tpmv.h | |
| template_blas_tpsv.h | |
| template_blas_trmm.h | |
| template_blas_trmv.h | |
| template_blas_trsm.h | |
| template_blas_trsv.h | |
| lapack | |
| template_lapack_common.cc | |
| template_lapack_common.h | |
| template_lapack_geqr2.h | |
| template_lapack_geqrf.h | |
| template_lapack_gesv.h | |
| template_lapack_getf2.h | |
| template_lapack_getrf.h | |
| template_lapack_getrs.h | |
| template_lapack_ggbak.h | |
| template_lapack_ggbal.h | |
| template_lapack_ggev.h | |
| template_lapack_gghrd.h | |
| template_lapack_hgeqz.h | |
| template_lapack_isnan.h | |
| template_lapack_labad.h | |
| template_lapack_lacon.h | |
| template_lapack_lacpy.h | |
| template_lapack_ladiv.h | |
| template_lapack_lae2.h | |
| template_lapack_laebz.h | |
| template_lapack_laev2.h | |
| template_lapack_lag2.h | |
| template_lapack_lagtf.h | |
| template_lapack_lagts.h | |
| template_lapack_laisnan.h | |
| template_lapack_laln2.h | |
| template_lapack_lamch.h | |
| template_lapack_laneg.h | |
| template_lapack_lange.h | |
| template_lapack_lanhs.h | |
| template_lapack_lanst.h | |
| template_lapack_lansy.h | |
| template_lapack_lapy2.h | |
| template_lapack_lapy3.h | |
| template_lapack_lar1v.h | |
| template_lapack_larf.h | |
| template_lapack_larfb.h | |
| template_lapack_larfg.h | |
| template_lapack_larft.h | |
| template_lapack_larnv.h | |
| template_lapack_larra.h | |
| template_lapack_larrb.h | |
| template_lapack_larrc.h | |
| template_lapack_larrd.h | |
| template_lapack_larre.h | |
| template_lapack_larrf.h | |
| template_lapack_larrj.h | |
| template_lapack_larrk.h | |
| template_lapack_larrr.h | |
| template_lapack_larrv.h | |
| template_lapack_lartg.h | |
| template_lapack_laruv.h | |
| template_lapack_lascl.h | |
| template_lapack_laset.h | |
| template_lapack_lasq2.h | |
| template_lapack_lasq3.h | |
| template_lapack_lasq4.h | |
| template_lapack_lasq5.h | |
| template_lapack_lasq6.h | |
| template_lapack_lasr.h | |
| template_lapack_lasrt.h | |
| template_lapack_lasv2.h | |
| template_lapack_laswp.h | |
| template_lapack_latrd.h | |
| template_lapack_latrs.h | |
| template_lapack_org2l.h | |
| template_lapack_org2r.h | |
| template_lapack_orgql.h | |
| template_lapack_orgqr.h | |
| template_lapack_orgtr.h | |
| template_lapack_orm2r.h | |
| template_lapack_ormqr.h | |
| template_lapack_pocon.h | |
| template_lapack_potf2.h | |
| template_lapack_potrf.h | |
| template_lapack_pptrf.h | |
| template_lapack_rscl.h | |
| template_lapack_spgst.h | |
| template_lapack_stebz.h | |
| template_lapack_stein.h | |
| template_lapack_stemr.h | |
| template_lapack_steqr.h | |
| template_lapack_sterf.h | |
| template_lapack_stevr.h | |
| template_lapack_stevx.h | |
| template_lapack_syev.h | |
| template_lapack_sygs2.h | |
| template_lapack_sygst.h | |
| template_lapack_sygv.h | |
| template_lapack_sytd2.h | |
| template_lapack_sytrd.h | |
| template_lapack_test.cc | |
| template_lapack_test_threaded.cc | |
| template_lapack_tgevc.h | |
| template_lapack_tptri.h | |
| template_lapack_trti2.h | |
| template_lapack_trtri.h | |
| allocate.cc | Code for memory allocation/deallocation routines used by matrix library |
| allocate.h | Code for memory allocation/deallocation routines used by matrix library |
| Allocator.h | Code for Allocator class used for memory allocation/deallocation in matrix library |
| AllocatorManager.cc | Code for AllocatorManager that is used to allocate memory for submatrices in the hierarchical matrix library |
| AllocatorManager.h | Code for AllocatorManager class used for memory allocation/deallocation in matrix library |
| API_test.cc | Test of the matrix library |
| bench.cc | Benchmark of the matrix library |
| bench_gemm_only.cc | Benchmark of the matrix library with input parameters specifying block sizes, parallel level etc |
| bisection.h | Bisection method |
| blastime.cc | Benchmark code for matrix-matrix multiplication (gemm) operation, measuring timings for different matrix sizes |
| DebugPolicies.h | Classes describing debug policies with different debug levels |
| Failure.h | The Failure class is used for exception handling |
| FileWritable.cc | Implementation of the abstract class FileWritable for simple writing and reading of objects to/from file |
| FileWritable.h | Abstract class for simple writing and reading of objects to/from file |
| general.h | Some general utilities used by other parts of the hierarchical matrix library |
| Interval.h | Interval class |
| Lanczos.h | Class for building Krylov subspaces with the Lanczos method |
| LanczosLargestMagnitudeEig.h | Class for computing the largest magnitude eigenvalue of a symmetric matrix with the Lanczos method |
| LanczosSeveralLargestEig.h | Class for computing several largest (note: not by magnitude) eigenvalues of a symmetric matrix with the Lanczos method |
| mat_gblas.cc | Global variables related to timekeeping for matrix operations |
| mat_gblas.h | C++ interface to a subset of BLAS and LAPACK |
| mat_utils.h | Utilities used by other parts of the hierarchical matrix library |
| matInclude.cc | Some utilities related to hierarchical matrix library |
| matInclude.h | Copyright(c) Emanuel Rubensson 2006 |
| Matrix.h | The heart of the matrix library |
| matrix_proxy.h | Proxy structs used by the matrix API |
| MatrixBase.h | Base class for matrix API |
| MatrixGeneral.h | General matrix class |
| MatrixHierarchicBase.h | Base class for Matrix |
| MatrixSymmetric.h | Symmetric matrix class |
| MatrixTriangular.h | Triangular matrix class |
| MatrixTridiagSymmetric.h | Class for tridiagonal symmetric matrices |
| Memory_buffer_thread.cc | Code for managing aligned memory buffers, used if SSE intrinsics enabled |
| Memory_buffer_thread.h | Code for managing aligned memory buffers, used if SSE intrinsics enabled |
| Perturb_Test.cc | Test of the denaity matrix perturbation iterations |
| Perturbation.h | Perturbation theory class |
| SizesAndBlocks.cc | Class used to keep track of the block sizes used at different levels in the hierarchical matrix data structure |
| SizesAndBlocks.h | Class used to keep track of the block sizes used at different levels in the hierarchical matrix data structure |
| sort.h | A quicksort implementation |
| TC2.h | Trace correcting purification class |
| test_LanczosSeveralLargestEig.cc | Code for testing functionality for somputing several eigenpairs using the Lanczos method |
| test_vector.cc | Test code testing creation of vector objects using the hierarchical vector data structure in the hierarchical matrix library |
| testOmpFail.cc | Test code designed to detect a certain kind of compiler bug that appeared when certain compilers are used with OpenMP |
| truncation.h | Classes for truncation of small matrix elements |
| ValidPtr.h | Smart pointer class to control access to object |
| Vector.h | Copyright(c) Emanuel Rubensson 2006 |
| VectorGeneral.h | General vector class |
| VectorHierarchicBase.h | Base class for Vector |
| scf | |
| diis_general.cc | General DIISManager class that can be used as a base class in implementations of direct inversion in the iterative subspace (DIIS) for restricted and unrestricted cases |
| diis_general.h | General DIISManager class that can be used as a base class in implementations of direct inversion in the iterative subspace (DIIS) for restricted and unrestricted cases |
| diis_restricted.cc | DIISManagerRestricted class implementing direct inversion in the iterative subspace (DIIS) for restricted SCF calculations |
| diis_restricted.h | DIISManagerRestricted class implementing direct inversion in the iterative subspace (DIIS) for restricted SCF calculations |
| diis_unrestricted.cc | DIISManagerUnrestricted class implementing direct inversion in the iterative subspace (DIIS) for unrestricted SCF calculations |
| diis_unrestricted.h | DIISManagerUnrestricted class implementing direct inversion in the iterative subspace (DIIS) for unrestricted SCF calculations |
| scf.cc | Code for classes containing various options related to self-consistent field (SCF) calculations |
| scf.h | Code for classes containing various options related to self-consistent field (SCF) calculations |
| SCF_general.cc | Class for self-consistent field (SCF) procedure; base class that can be used for both restricted and unrestricted cases |
| SCF_general.h | Class for self-consistent field (SCF) procedure; base class that can be used for both restricted and unrestricted cases |
| SCF_restricted.cc | Class for self-consistent field (SCF) procedure; spin-restricted case |
| SCF_restricted.h | Class for self-consistent field (SCF) procedure; spin-restricted case |
| SCF_statistics.cc | Class for keeping timings and other statistics related to self-consistent field (SCF) procedure |
| SCF_statistics.h | Class for keeping timings and other statistics related to self-consistent field (SCF) procedure |
| SCF_unrestricted.cc | Class for self-consistent field (SCF) procedure; spin-unrestricted case |
| SCF_unrestricted.h | Class for self-consistent field (SCF) procedure; spin-unrestricted case |
| scf_utils.cc | Various utilities used by self-consistent field (SCF) code |
| scf_utils.h | Various utilities used by self-consistent field (SCF) code |
| test | |
| recursive_expansion_tests | |
| recexp_diag_test.cc | Test serial recursive expansion on a diagonal matrix |
| recexp_eigenv_test.cc | Test serial recursive expansion and computation of homo and lumo eigenvectors of a diagonal matrix with given eigenspectrum |
| recexp_many_tests.cc | Test serial recursive expansion on a random symmetric matrix or matrix from a given binary file |
| recexp_randsym_test.cc | Test serial recursive expansion on a random matrix |
| recexp_sprandsym.cc | Test serial recursive expansion and computation of homo and lumo eigenvectors of a sparse matrix with a given eigenspectrum |
| recexp_test.cc | Test serial recursive expansion on a random symmetric matrix or matrix from a given binary file |
| registration.cc | |
| registration.h | |
| basicmath_test.cc | Tests some basic math functions such as template_blas_sqrt() template_blas_log() etc to see that they are working properly and that they deliver the expected accuracy |
| boys_function_test.cc | Tests the Boys function evaluation accuracy |
| csr_matrix_test.cc | Tests the CSR matrix functionality in utilities_basic/csr_matrix by e.g |
| explicit_integral_test.cc | Tests the explicit computation of 2-electron integrals by moving basis functions by small distances and verifying that the computed 2-el integrals vary smoothly |
| gradient_test.cc | Tests the gradient computation |
| grid_test.cc | Tests the DFT grid generation |
| jmat_extrapolate_test.cc | Tests the error extrapolation scheme for the Coulomb matrix |
| jmat_test.cc | Tests the sparse Coulomb matrix construction |
| kmat_nosymm_test.cc | Tests the sparse exchange matrix construction for non-symmetric density matrices |
| kmat_symm_test.cc | |
| kmat_test.cc | Tests the sparse exchange matrix construction |
| lapack_test.cc | Tests some LAPACK functions such as template_lapack_? |
| many_h_atoms_test.cc | Tests the simple case of many well-separated H atoms with just one basis function for each atom |
| mat_performance_test.cc | Performs some matrix-matrix multiplication operations and outputs timings |
| mat_thread_test.cc | Performs some matrix operations and outputs timings |
| matmem_test.cc | Tests matrix library memory usage |
| mmul_rectangular_test.cc | Tests and measures timings for matrix-matrix multiplication using BLAS and compares to a naive implementation, for rectangular matrices |
| mmul_simple_many_test.cc | Tests and measures timings for matrix-matrix multiplication using BLAS and compares to a naive implementation |
| mmul_simple_test.cc | Tests and measures timings for matrix-matrix multiplication using BLAS and compares to a naive implementation |
| naive_response_test.cc | Tests naive implementation of linear response calculation |
| registration.cc | Registration of task types and chunk types, relevant only if configuring ergo to use Chunks and Tasks |
| registration.h | Registration of task types and chunk types, relevant only if configuring ergo to use Chunks and Tasks |
| simple_ort_puri_test.cc | Performs some simple tests of density matrix purification in orthogonal basis using artificialy generated input matrices |
| stream_test.cc | Tests the streaming grid generator |
| tmat_test.cc | Tests the kinetic energy matrix construction |
| vmat_test.cc | Tests the potential energy matrix construction |
| xcmat_nan_inf_test.cc | Tests that the DFT XC matrix construction does not result in "nan" or "inf" values |
| xcmat_r_u_test.cc | Tests the DFT XC matrix construction |
| xcmat_sparse_test.cc | Tests the sparse XC matrix construction |
| xcmat_test.cc | Tests the DFT XC matrix construction |
| utilities | |
| density_description_file.cc | An interface file for writing and reading density matrices to/from a file, including basis set information |
| density_description_file.h | An interface file for writing and reading density matrices to/from a file, including basis set information |
| density_projection.cc | Functionality for preparing a starting guess density matrix given a previous density matrix |
| density_projection.h | Functionality for preparing a starting guess density matrix given a previous density matrix |
| densitymanager.cc | Functionality for working with the electron density as a function of space, for a given basis set and density matrix |
| densitymanager.h | Functionality for working with the electron density as a function of space, for a given basis set and density matrix |
| dipole_moment.cc | Functionality for computing the dipole moment of a molecule for a given density matrix |
| dipole_moment.h | Functionality for computing the dipole moment of a molecule for a given density matrix |
| integral_matrix_wrappers.cc | Wrapper routines for different parts of the integral code, including conversion of matrices from/to the hierarchical matrix library (HML) format |
| integral_matrix_wrappers.h | Wrapper routines for different parts of the integral code, including conversion of matrices from/to the hierarchical matrix library (HML) format |
| mat_acc_extrapolate.h | Functionality for performing a scan testing different threshold values for some kind of matrix computation |
| matrix_utilities.cc | Utilities related to the hierarchical matrix library (HML), including functions for setting up permutations of basis functions to increase data locality in the hierarchical matrix data structure |
| matrix_utilities.h | Utilities related to the hierarchical matrix library (HML), including functions for setting up permutations of basis functions to increase data locality in the hierarchical matrix data structure |
| simple_lanczos.cc | Simple implementation of the Lanczos method |
| simple_lanczos.h | Simple implementation of the Lanczos method |
| utilities_basic | |
| file_tools | |
| src | |
| files_dense.cc | File containing definition of functions for reading/writing dense matrices and vectors |
| files_dense.h | File containing declaration of functions for reading/writing dense matrices and vectors |
| files_sparse.cc | File containing definitions of functions for reading/writing sparse matrices from/to mtx (MatrixMarket format) files |
| files_sparse.h | File containing declarations of functions for reading/writing sparse matrices from/to mtx (MatrixMarket format) files |
| files_sparse_bin.cc | File containing definitions of functions for reading/writing sparse matrices from/to binary files |
| files_sparse_bin.h | File containing declaration of functions for reading/writing sparse matrices from/to binary files |
| mmio.c | Matrix Market I/O library for ANSI C |
| mmio.h | Matrix Market I/O library for ANSI C |
| test | |
| test.cc | File containg tests for reading/writing sparse matrices from/to mtx files and dense matrices from/to binary files |
| atom_labels.cc | Provides a way to map atom labels to their charges |
| atom_labels.h | Provides a way to map atom labels to their charges |
| barrier.c | Implements a pthread-compatible barrier |
| barrier.h | Declares a pthread-compatible barrier |
| csr_matrix.cc | Compressed sparse row (CSR) matrix functionality |
| csr_matrix.h | Compressed sparse row (CSR) matrix functionality |
| machine_epsilon.cc | Functionality for determining an approximate value of the "machine epsilon" – the smallest number that can be added to 1 giving a result different from 1, using the ergo_real floating-point type |
| machine_epsilon.h | Functionality for determining an approximate value of the "machine epsilon" – the smallest number that can be added to 1 giving a result different from 1, using the ergo_real floating-point type |
| matrix_algebra.cc | A few matrix algebra routines for dense matrices |
| matrix_algebra.h | A few matrix algebra routines for dense matrices |
| memorymanag.cc | Memory allocation/deallocation routines |
| memorymanag.h | Memory allocation/deallocation routines |
| molecule.cc | Class representing a molecule as a set of atoms with assiciated coordinates and charges of the atomic nuclei |
| molecule.h | Class representing a molecule as a set of atoms with assiciated coordinates and charges of the atomic nuclei |
| output.cc | Functionality for writing output messages to a text file |
| output.h | Functionality for writing output messages to a text file |
| pi.h | Constants for the number pi and some related numbers like sqrt(pi) |
| polydegree.h | Constant determining which kinds of Gaussian basis functions are allowed; s, p, d, f, etc |
| realtype.h | Definition of the main floating-point datatype used; the ergo_real type |
| solve_lin_eq_syst.cc | Functionality for solving linear equation systems |
| solve_lin_eq_syst.h | Functionality for solving linear equation systems |
| units.h | Constants for conversion between units for some common units like Angstrom, electron-volt (eV), Kelvin etc |
| utilities.cc | Basic OS access utilities |
| utilities.h | Basic OS access utilities |
| xyz_file_parser.cc | Functionality for parsing a file in xyz file format, storing the result as a molecule object |
| xyz_file_parser.h | Functionality for parsing a file in xyz file format, storing the result as a molecule object |
| bin2m.cc | A program for conversion of binary matrix file to a matlab format file |
| config.h | |
| ergo_input_parser.c | The lex input parser |
| ergo_input_processor.c | Parses the input |
| ergo_input_processor.h | |
| ergo_scripted.cc | The main program for the ergo project |
| ergo_scripted.h | Ergo input processor definitions |
| fermi_contact.cc | Implements "Fermi contact" integrals |
| license.h | |
| matrix_typedefs.h | Header file with typedefs for matrix and vector types |
| matrix_typedefs_chtml.h | Header file with typedefs for matrix types, using either the hierarchical matrix library (HML) or the Chunks and Tasks matrix library (CHTML) |
| registration.cc | Registration of task types and chunk types, relevant only if configuring ergo to use Chunks and Tasks |
| registration.h | Registration of task types and chunk types, relevant only if configuring ergo to use Chunks and Tasks |
| slr.cc | Simple Linear Response implementation based on the MO orbital picture |
| slr.h | Contains a Simple Linear Response implementation based on the MO orbital picture |
| transform.h | |