ergo
density_projection.h
Go to the documentation of this file.
1/* Ergo, version 3.8.2, a program for linear scaling electronic structure
2 * calculations.
3 * Copyright (C) 2023 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek,
4 * and Anastasia Kruchinina.
5 *
6 * This program is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <http://www.gnu.org/licenses/>.
18 *
19 * Primary academic reference:
20 * Ergo: An open-source program for linear-scaling electronic structure
21 * calculations,
22 * Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, and Anastasia
23 * Kruchinina,
24 * SoftwareX 7, 107 (2018),
25 * <http://dx.doi.org/10.1016/j.softx.2018.03.005>
26 *
27 * For further information about Ergo, see <http://www.ergoscf.org>.
28 */
29
39#ifndef DENSITY_PROJECTION
40#define DENSITY_PROJECTION
41
42#include "basisinfo.h"
43#include "matrix_typedefs.h"
44#include "GetDensFromFock.h"
45
66int load_density_and_project_full(const char *densityFileName,
67 int noOfDensityMatrices,
68 const IntegralInfo* integralInfo,
69 const BasisInfoStruct & basisInfo,
70 ergo_real** densityMatrixList,
71 int do_purification,
72 const int* noOfElectronsList,
73 ergo_real electronic_temperature);
74
75
110int
112 const char *densityFileName,
113 int noOfDensityMatrices,
114 const IntegralInfo* integralInfo,
115 const BasisInfoStruct & basisInfo,
116 symmMatrix & S_symm,
117 symmMatrix** densityMatrixList,
118 const int* noOfElectronsList,
119 mat::SizesAndBlocks matrix_size_block_info,
120 std::vector<int> const & matrixPermutationVec,
121 ergo_real sparse_threshold);
122
123
124
125
126#endif /* DENSITY_PROJECTION */
Routines for getting density matrix from a given Fock matrix.
Code for setting up basis functions starting from shells.
GetDensFromFock class containing parameters and functions for computing density matrix.
Definition: GetDensFromFock.h:57
Contains coefficients needed for quick integral evaluation.
Definition: integral_info.h:94
Describes dimensions of matrix and its blocks on all levels.
Definition: SizesAndBlocks.h:45
int load_density_and_project_sparse(GetDensFromFock &DensFromFock, const char *densityFileName, int noOfDensityMatrices, const IntegralInfo *integralInfo, const BasisInfoStruct &basisInfo, symmMatrix &S_symm, symmMatrix **densityMatrixList, const int *noOfElectronsList, mat::SizesAndBlocks matrix_size_block_info, std::vector< int > const &matrixPermutationVec, ergo_real sparse_threshold)
load_density_and_project_sparse loads one or two density matrices (depending on value of noOfDensityM...
Definition: density_projection.cc:123
int load_density_and_project_full(const char *densityFileName, int noOfDensityMatrices, const IntegralInfo *integralInfo, const BasisInfoStruct &basisInfo, ergo_real **densityMatrixList, int do_purification, const int *noOfElectronsList, ergo_real electronic_temperature)
load_density_and_project_full loads one or two density matrices (depending on value of noOfDensityMat...
Definition: density_projection.cc:61
Header file with typedefs for matrix and vector types.
double ergo_real
Definition: realtype.h:69
Definition: basisinfo.h:112
MatrixSymmetric< real, matri > symmMatrix
Definition: test_LanczosSeveralLargestEig.cc:69