66#include <ADF_KFReader.h>
103void wf_load_file(
const std::string & fileName,
const bool verbose=
false);
110void wfn_load_file(std::ifstream & inputFile,
const bool verbose=
false);
178void wfx_load_file(std::ifstream & inputFile,
const bool verbose=
false);
190void wfx_read_data(std::ifstream & inputFile,
const bool verbose=
false);
269void wf_setNetCharge(
int value);
275std::vector<moleculeOrbital>
327template <
typename T>
void loadInputFileData(std::ifstream & inputFile, T *data,
unsigned int nbData)
329 unsigned int nbDataRead=0;
331 while(nbDataRead != nbData)
333 inputFile >> data[nbDataRead++];
346template <
typename T>
void wf_printInformation(
const T *data,
const unsigned int nbData,
const unsigned int nbDataLine,
const unsigned int borderShift=1,
const bool scientific=
true,
const unsigned int precision=12)
350 std::cout << std::scientific << std::setprecision(precision);
353 for(
unsigned int i(0);i<nbData;++i)
357 std::cout << std::endl;
358 for(
unsigned int shift(0);shift<borderShift;++shift)
365 if(((
double)data[i])>=0.0)
369 std::cout << data[i] <<
" ";
371 std::cout << std::endl;
379std::string removeSpaces(std::string str);
401void load_rkf_file(
const std::string & fileName);
403void rkf_load_nbNuclei(KFFile* kf);
405void rkf_load_data(KFFile* kf,
const char *filename);
411unsigned int* wf_primitive_krs();
void wfn_fromFortranRealToCppReal(std::string &line)
Tool function which allows to transform a line with fortran real (with D) to C real (with E) in order...
Definition WFreader.cpp:713
double toDouble(std::string text)
Function converting a string to a double.
Definition WFreader.cpp:1692
void wfn_read_molecule_orbitals(std::ifstream &inputFile, const bool verbose=false)
Tool function which read the molecule orbital (multiple lines according to the number of primitives)
Definition WFreader.cpp:381
void wfn_read_center_data(std::ifstream &inputFile, const bool verbose=false)
Tool function which read the center data according to the number of nuclei.
Definition WFreader.cpp:192
void loadInputFileData(std::ifstream &inputFile, T *data, unsigned int nbData)
Template Tool procedure to load the data from an inputFile.
Definition WFreader.h:327
unsigned int wf_number_of_nuclei()
Tool function which allows to know the number of nuclei (if a file is loaded)
Definition WFreader.cpp:931
void wfx_read_data(std::ifstream &inputFile, const bool verbose=false)
Tool function which read the data of the corresponding wfx file (this method must be called after wfx...
Definition WFreader.cpp:1230
unsigned int wf_number_of_orbitals()
Tool function which allows to know the number of orbitals (if a file is loaded)
Definition WFreader.cpp:908
void wf_printGlobalBounds()
Tool procedure to print 3 importants values : the number of nuclei, of primitives and molecular orbit...
Definition WFreader.cpp:1624
void wfn_printTotalEnergyAndVirial()
Tool procedure to print the total energy and virial (only use with WFN reading for the moment.
Definition WFreader.cpp:1635
bool isDouble(std::string text)
Function checking if a string is a number.
Definition WFreader.cpp:1678
void wfn_read_exponents(std::ifstream &inputFile, const bool verbose=false)
Tool function which read the exponents (multiple lines according to the number of primitives)
int wf_netCharge()
Tool function which returns the net charge of the whole system (if a file is loaded)
Definition WFreader.cpp:988
void wf_printMO()
Tool procedure to print molecular orbitals information.
Definition WFreader.cpp:1528
unsigned int * wf_primitive_types()
Tool function which allows to gain access to all the primitive types (if a file is loaded)
Definition WFreader.cpp:967
std::vector< moleculeOrbital > wf_molecular_orbitals()
Tool function which allows to gain access to all molecular orbitals (if a file is loaded)
Definition WFreader.cpp:1020
unsigned int * wf_user2ADF_atomOrder()
Tool function which return the array storing the atom re-ordering (from user to ADF index)
Definition WFreader.cpp:883
unsigned int wf_number_of_primitives()
Tool function which allows to know the number of primitives (if a file is loaded)
Definition WFreader.cpp:920
unsigned int * wf_ADF2user_atomOrder()
Tool function which return the array storing the atom re-ordering (from ADF to user index)
Definition WFreader.cpp:894
void wf_load_file(const std::string &fileName, const bool verbose=false)
Tool function which read the corresponding file.
Definition WFreader.cpp:622
void wf_printInformation(const T *data, const unsigned int nbData, const unsigned int nbDataLine, const unsigned int borderShift=1, const bool scientific=true, const unsigned int precision=12)
Template Tool procedure to print data.
Definition WFreader.h:346
void wfn_read_total_energy_and_virial(std::ifstream &inputFile, const bool verbose=false)
Tool function which read the total energy and associated virial.
Definition WFreader.cpp:529
centerData * wf_center_data()
Tool function which allows to gain access to all the center data (if a file is loaded)
Definition WFreader.cpp:943
void wf_allocateMemory()
Tool procedure to allocate the memory for the array linked to the number of nuclei,...
Definition WFreader.cpp:131
bool wf_file_already_loaded()
Tool function which allows to know if a file has already loaded.
Definition WFreader.cpp:876
void wfn_read_GAUSSIAN_line(const std::string &line, const bool verbose=false)
Tool function which read the line starting by GAUSSIAN to extract the number of orbitals,...
Definition WFreader.cpp:160
void wfn_load_file(std::ifstream &inputFile, const bool verbose=false)
Tool function which load the corresponding wfn file.
Definition WFreader.cpp:553
void wfx_load_file(std::ifstream &inputFile, const bool verbose=false)
Tool function which load the corresponding wfx file.
Definition WFreader.cpp:1053
void wf_printPrimitiveTypes()
Tool procedure to print the primitive types.
Definition WFreader.cpp:1569
void wfn_read_primitive_types(std::ifstream &inputFile, const bool verbose=false)
Tool function which read the primitive types (multiple lines according to the number of primitives)
Definition WFreader.cpp:293
void wf_printPrimitiveExponents()
Tool procedure to print the primitive exponents.
Definition WFreader.cpp:1583
void wfx_init()
Tool procedure to initialize some stuff for wfx reading.
Definition WFreader.cpp:1197
unsigned int * wf_primitive_centers()
Tool function which allows to gain access to all the primitive centers (if a file is loaded)
Definition WFreader.cpp:955
double * wf_primitive_exponents()
Tool function which allows to gain access to all the exponents (if a file is loaded)
Definition WFreader.cpp:978
void wfn_read_primitive_centers(std::ifstream &inputFile, const bool verbose=false)
Tool function which read the primitive centers (multiple lines according to the number of primitives)
Definition WFreader.cpp:247
void wf_printPrimitiveCenters()
Tool procedure to print the primitive centers.
Definition WFreader.cpp:1555
void wf_printCenterData()
Tool procedure to print the center data.
Definition WFreader.cpp:1597
void wf_cleaning(const bool verbose=false)
Tool function which frees all the allocated memory.
Definition WFreader.cpp:732
bool wf_molecular_orbitals_sort()
Tool function which sort the MOs by ascending order of energy.
Definition WFreader.cpp:1032
all data types and constant data needed by the rest of the program
structure to save center data
Definition WFreader.h:70
unsigned int rank
to doc
Definition WFreader.h:76
unsigned int value
to doc and rename
Definition WFreader.h:74
double coordinates[3]
coordinates to doc and rename
Definition WFreader.h:78
double charge
to doc
Definition WFreader.h:80
std::string * element
The atomic element, using a string for easing the use.
Definition WFreader.h:72
structure to save molecule orbital data
Definition WFreader.h:85
double * coefficients
Primites coefficient for one molecular orbital.
Definition WFreader.h:95
double orbitalEnergy
to doc
Definition WFreader.h:93
double data2
to doc and rename
Definition WFreader.h:89
unsigned int rank
to doc and rename
Definition WFreader.h:87
double occupancy
TO DOCUMENT.
Definition WFreader.h:91