▼ 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 | |
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_???() etc to see that they are working properly and that they deliver the expected accuracy |
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 |
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_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 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 | |