An interface file for writing and reading density matrices to/from a file, including basis set information. More...
#include "basisinfo.h"
Go to the source code of this file.
Classes | |
struct | matrix_description_struct |
Defines | |
#define | DENSITY_DESC_FILE 1 |
Functions | |
int | ddf_writeShellListAndDensityMatricesToFile (const BasisInfoStruct &basisInfo, int noOfDensityMatrices, ergo_real **densityMatrixList, const char *fileName) |
int | ddf_writeShellListAndDensityMatricesToFile_sparse (const BasisInfoStruct &basisInfo, int noOfDensityMatrices, matrix_description_struct *densityMatrixList, const char *fileName) |
Writes basisInfo and sparse matrices in a format that can be later read by ddf_load_density. | |
int | ddf_load_density (const char *densityFileName, int noOfDensityMatrices, const IntegralInfo &integralInfo, BasisInfoStruct **basisInfo, ergo_real **densityMatrixList) |
Function opens fileName, fills in basisInfo (which has to be allocated and nullified), allocates densityMatrixList and reads density matrix or at most two matrices and puts it/them in densityMatrixList. | |
int | ddf_load_density_sparse (const char *densityFileName, const IntegralInfo &integralInfo, BasisInfoStruct **basisInfo, int *noOfDensitiesRead, int **rowindList, int **colindList, ergo_real **valuesList, long *nvaluesList) |
Function opens fileName, fills in basisInfo (which has to be allocated and nullified), allocates densityMatrixList and reads density matrix or at most two matrices and puts it/them in densityMatrixList. |
An interface file for writing and reading density matrices to/from a file, including basis set information.
#define DENSITY_DESC_FILE 1 |
int ddf_load_density | ( | const char * | densityFileName, | |
int | noOfDensityMatrices, | |||
const IntegralInfo & | integralInfo, | |||
BasisInfoStruct ** | basisInfo, | |||
ergo_real ** | densityMatrixList | |||
) |
Function opens fileName, fills in basisInfo (which has to be allocated and nullified), allocates densityMatrixList and reads density matrix or at most two matrices and puts it/them in densityMatrixList.
References ddf_load_density_getSizes(), ddf_read_shells_and_density_matrices(), do_output(), ergo_new, LOG_AREA_MAIN, LOG_CAT_ERROR, and LOG_CAT_INFO.
Referenced by es_get_polarisability(), es_getexc(), load_density_and_project_full(), main(), and ErgoE2Evaluator::transform().
int ddf_load_density_sparse | ( | const char * | densityFileName, | |
const IntegralInfo & | integralInfo, | |||
BasisInfoStruct ** | basisInfo, | |||
int * | noOfDensitiesRead, | |||
int ** | rowindList, | |||
int ** | colindList, | |||
ergo_real ** | valuesList, | |||
long * | nvaluesList | |||
) |
Function opens fileName, fills in basisInfo (which has to be allocated and nullified), allocates densityMatrixList and reads density matrix or at most two matrices and puts it/them in densityMatrixList.
References ddf_load_density_getSizes(), ddf_read_shells_and_density_matrices_sparse(), do_output(), LOG_AREA_MAIN, LOG_CAT_ERROR, and LOG_CAT_INFO.
Referenced by load_density_and_project_sparse().
int ddf_writeShellListAndDensityMatricesToFile | ( | const BasisInfoStruct & | basisInfo, | |
int | noOfDensityMatrices, | |||
ergo_real ** | densityMatrixList, | |||
const char * | fileName | |||
) |
References ddf_get_matrix_storage_size(), ddf_store_matrix(), DENSITY_FILE_VERSION_NUMBER, densityFileHeaderStruct::densityFileVersion, do_output(), ergo_free(), ergo_malloc(), densityFileHeaderStruct::fileSizeInBytes, LOG_AREA_MAIN, LOG_CAT_ERROR, LOG_CAT_INFO, MATRIX_STORAGE_TYPE_TRIANGLE, MATRIX_STORAGE_TYPE_VECTORS, densityFileHeaderStruct::matrixSize_1, densityFileHeaderStruct::matrixSize_2, densityFileHeaderStruct::noOfBasisFuncs, BasisInfoStruct::noOfBasisFuncs, densityFileHeaderStruct::noOfDensityMatrices, densityFileHeaderStruct::noOfShells, BasisInfoStruct::noOfShells, densityFileHeaderStruct::padding_int, BasisInfoStruct::shellList, and densityFileHeaderStruct::typeOfMatrixStorage.
Referenced by save_symmetric_matrix().
int ddf_writeShellListAndDensityMatricesToFile_sparse | ( | const BasisInfoStruct & | basisInfo, | |
int | noOfDensityMatrices, | |||
matrix_description_struct * | densityMatrixList, | |||
const char * | fileName | |||
) |
Writes basisInfo and sparse matrices in a format that can be later read by ddf_load_density.
Data loss was observed with large files on AFS, we do extra verification to detect it early on...
References ddf_get_matrix_storage_size_sparse(), ddf_store_matrix_sparse(), DENSITY_FILE_VERSION_NUMBER, densityFileHeaderStruct::densityFileVersion, do_output(), ergo_free(), ergo_malloc(), fileno(), densityFileHeaderStruct::fileSizeInBytes, LOG_AREA_MAIN, LOG_CAT_ERROR, LOG_CAT_INFO, MATRIX_STORAGE_TYPE_TRIANGLE, MATRIX_STORAGE_TYPE_VECTORS, densityFileHeaderStruct::matrixSize_1, densityFileHeaderStruct::matrixSize_2, densityFileHeaderStruct::noOfBasisFuncs, BasisInfoStruct::noOfBasisFuncs, densityFileHeaderStruct::noOfDensityMatrices, densityFileHeaderStruct::noOfShells, BasisInfoStruct::noOfShells, densityFileHeaderStruct::padding_int, BasisInfoStruct::shellList, and densityFileHeaderStruct::typeOfMatrixStorage.
Referenced by SCF_unrestricted::write_density_to_file(), and write_matrix_to_file().