ergo
|
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 |
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. More... | |
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. More... | |
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. More... | |
An interface file for writing and reading density matrices to/from a file, including basis set information.
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, BasisInfoStruct::noOfBasisFuncs, densityFileHeaderStruct::noOfBasisFuncs, densityFileHeaderStruct::noOfDensityMatrices, BasisInfoStruct::noOfShells, densityFileHeaderStruct::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, BasisInfoStruct::noOfBasisFuncs, densityFileHeaderStruct::noOfBasisFuncs, densityFileHeaderStruct::noOfDensityMatrices, BasisInfoStruct::noOfShells, densityFileHeaderStruct::noOfShells, densityFileHeaderStruct::padding_int, BasisInfoStruct::shellList, and densityFileHeaderStruct::typeOfMatrixStorage.
Referenced by SCF_unrestricted::write_density_to_file(), and write_matrix_to_file().