ergo
|
▼ documentation | |
► source | |
mainpage.h | |
▼ 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. See function computeEigenvectors |
► 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. IterationInfo is a class with the information stored for each iteration of the recursive expansion. PuriInfo is a class containing general information about the recursive expansion |
puri_info.h | File containing classes IterationInfo and PuriInfo. IterationInfo is a class with the information stored for each iteration of the recursive expansion. PuriInfo is a class containing general information about the recursive expansion |
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. Functions include generation of the random dense matrices, random sparse symmetric matrices, initialization of the hierarchical matrix structure, work with files and printing matrix to the screen |
random_matrices.h | Header file containing declarations of functions required for testing purposes. Functions include generation of the random dense matrices, random sparse symmetric matrices, initialization of the hierarchical matrix structure, work with files and printing matrix to the screen |
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 | |
aos.h | |
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 | |
dft_common.cc | Common DFT routines. Mostly functional mixing |
dft_common.h | Common DFT routines. Mostly functional mixing |
fun-becke.c | |
fun-cam.c | |
fun-gga.c | |
fun-kt.c | |
fun-lb94.c | |
fun-lyp.c | |
fun-optx.c | |
fun-p86c.c | |
fun-pbec.c | |
fun-pbex.c | |
fun-pw86x.c | |
fun-pw91c.c | |
fun-pw91x.c | |
fun-pw92c.c | |
fun-pz81.c | |
fun-slater.c | |
fun-tester.cc | |
fun-vwn.c | |
functionals.c | |
functionals.h | |
grid_atomic.cc | |
grid_atomic.h | |
grid_hicu.cc | Hierarchical Cubature (HiCu) grid generation |
grid_hicu.h | Hierarchical Cubature (HiCu) grid generation |
grid_interface.h | |
grid_matrix.h | Generic matrix interface. It is not optimized for speed |
grid_params.h | Code organizing various settings related to grids used for numerical integration |
grid_reader.cc | Grid Generator interface. Functions for opening grid file, reading chunks from it, and closing the file, are provided |
grid_reader.h | Grid Generator interface. Functions for opening grid file, reading chunks from it, and closing the file, are provided |
grid_stream.cc | This is a streaming version of the linearly-scaling grid generator |
grid_stream.h | Streaming grid generator |
integrator.cc | |
integrator.h | |
lebedev_laikov.cc | |
lebedev_laikov.h | |
lin_trans.cc | Blocked DFT Linear Response contribution evaluator |
lin_trans.h | Blocked DFT Linear Response contribution evaluator |
rho-mat.cc | |
rho-mat.h | |
sparse_matrix.cc | |
sparse_matrix.h | |
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 | |
xc_matrix.cc | |
xc_matrix.h | |
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. computation of J and K matrices) |
integrals_2el_util_funcs.h | Code for utility functions used by 2-electron integral computation (i.e. computation of J and K matrices) |
integrals_2el_utils.cc | Code for various utilities used by 2-electron integral computation (i.e. computation of J and K matrices) |
integrals_2el_utils.h | Code for various utilities used by 2-electron integral computation (i.e. computation of J and K matrices) |
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. that can be used to describe e.g. basis functions and basis function products |
monomial_info.h | Code used to organize monomials; contributions like x, y, z, xy, xz etc. that can be used to describe e.g. basis functions and basis function products |
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. Full and sparse versions |
operator_matrix.h | Functions for computing the matrix of a dipole/quadrupole/etc operator. Full and sparse versions |
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. std::vector objects, useful when writing serialization functions needed for Chunks and Tasks usage |
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. For architectures with SSE2 or higher |
mm_kernel_outer_A.h | Templates for efficient gemm kernels. Outer kernel that wraps around given inner kernel |
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. The idea of the Allocator class is that it manages a list of buffers of identical size, keeping track of where the next available free buffer is. This functionality can be used for allocating submatrices in the matrix library, since almost all submatrices have identical size |
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. The AllocatorManager keeps a list of Allocator objects, creating new Allocator objects when necessary |
API_test.cc | |
bench.cc | |
bench_gemm_only.cc | |
bisection.h | |
blastime.cc | Benchmark code for matrix-matrix multiplication (gemm) operation, measuring timings for different matrix sizes |
DebugPolicies.h | |
Failure.h | The Failure class is used for exception handling. It inherits std::exception |
FileWritable.cc | |
FileWritable.h | |
general.h | Some general utilities used by other parts of the hierarchical matrix library |
Interval.h | |
Lanczos.h | |
LanczosLargestMagnitudeEig.h | |
LanczosSeveralLargestEig.h | |
mat_gblas.cc | Global variables related to timekeeping for matrix operations |
mat_gblas.h | |
mat_utils.h | Utilities used by other parts of the hierarchical matrix library |
matInclude.cc | Some utilities related to hierarchical matrix library |
matInclude.h | |
Matrix.h | |
matrix_proxy.h | |
MatrixBase.h | |
MatrixGeneral.h | |
MatrixHierarchicBase.h | |
MatrixSymmetric.h | |
MatrixTriangular.h | |
MatrixTridiagSymmetric.h | |
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 | |
Perturbation.h | |
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 | |
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 | |
ValidPtr.h | |
Vector.h | |
VectorGeneral.h | |
VectorHierarchicBase.h | |
► 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. For example, interface routines converting between HML matrix format used in main SCF code and elementwise format used by integral code |
scf_utils.h | Various utilities used by self-consistent field (SCF) code. For example, interface routines converting between HML matrix format used in main SCF code and elementwise format used by integral 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. Matrix in a binary file should contain only the upper triangle. Note: to get homo-lumo gap all matrix eigenvalues are computed |
recexp_randsym_test.cc | Test serial recursive expansion on a random matrix. Generate a random sparse matrix with a given spectrum. (Note, there is no decay of elements.) |
recexp_sprandsym.cc | Test serial recursive expansion and computation of homo and lumo eigenvectors of a sparse matrix with a given eigenspectrum. Matrix is generated using Givens rotations starting from a diagonal matrix with a required eigenvalues, so eigenvectors of a result matrix are explicitly known and saved into the matrix Q |
recexp_test.cc | Test serial recursive expansion on a random symmetric matrix or matrix from a given binary file. Matrix in a binary file should contain only the upper triangle. Note: to get homo-lumo gap all matrix eigenvalues are computed |
registration.cc | |
registration.h | |
basicmath_test.cc | |
boys_function_test.cc | |
csr_matrix_test.cc | |
explicit_integral_test.cc | |
gradient_test.cc | Tests the gradient computation |
grid_test.cc | |
jmat_extrapolate_test.cc | |
jmat_test.cc | |
kmat_nosymm_test.cc | |
kmat_symm_test.cc | |
kmat_test.cc | |
lapack_test.cc | |
many_h_atoms_test.cc | |
mat_performance_test.cc | |
mat_thread_test.cc | |
matmem_test.cc | |
mmul_rectangular_test.cc | |
mmul_simple_many_test.cc | |
mmul_simple_test.cc | |
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 | |
stream_test.cc | |
tmat_test.cc | |
vmat_test.cc | |
xcmat_nan_inf_test.cc | |
xcmat_r_u_test.cc | |
xcmat_sparse_test.cc | |
xcmat_test.cc | |
► 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. The old density is read from file, and a projection between the basis sets is performed |
density_projection.h | Functionality for preparing a starting guess density matrix given a previous density matrix. The old density is read from file, and a projection between the basis sets is performed |
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. Can be used for accuracy scans of e.g. Coulomb of HF exchange matrix evaluation |
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. See http://math.nist.gov/MatrixMarket for details |
mmio.h | Matrix Market I/O library for ANSI C. See http://math.nist.gov/MatrixMarket for details |
► 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. The main procedure provided by this file is get_charge_int_from_atom_label() |
atom_labels.h | Provides a way to map atom labels to their charges. The main procedure provided by this file is get_charge_int_from_atom_label() |
barrier.c | |
barrier.h | |
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 | |
config.h | |
ergo_input_parser.c | |
ergo_input_processor.c | |
ergo_input_processor.h | |
ergo_scripted.cc | The main program for the ergo project. It enables scripting and more complex input forms |
ergo_scripted.h | |
fermi_contact.cc | |
license.h | |
matrix_typedefs.h | Header file with typedefs for matrix and vector types. The levels of hierarchic matrices are defined here |
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 | |
slr.h | Contains a Simple Linear Response implementation based on the MO orbital picture |
transform.h |