ergo
ergo_scripted.h
Go to the documentation of this file.
1 /* Ergo, version 3.8, a program for linear scaling electronic structure
2  * calculations.
3  * Copyright (C) 2019 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 
30 #ifndef ERGO_SCRIPTED_HEADER
31 #define ERGO_SCRIPTED_HEADER
32 
41 #ifdef __cplusplus
42 #define EXTERN_C extern "C"
43 #else
44 #define EXTERN_C
45 #endif
46 
47 extern int ergo_scanner_lineno;
49 
52 
54 struct variable {
55  const char *name;
56  const char *description;
57  union {
58  char *str;
59  double num;
60  int vint;
61  struct variable *list;
62  } v;
63  enum VarType type;
64  struct variable *next;
65 };
66 
70 
71 EXTERN_C void es_assign_num(struct variable *var, double val);
72 EXTERN_C void es_assign_str(struct variable *var, const char*str);
73 EXTERN_C int es_assign_range(enum MolType mt, int rangeNo,
74  int start, int cnt, const char *name);
75 EXTERN_C struct variable *es_find_var(struct variable *root, const char *name);
76 
77 EXTERN_C void es_mol_begin(enum MolType moleculeClass);
78 EXTERN_C void es_add_atom(const char *name, double x, double y, double z);
79 EXTERN_C void es_mol_commit(void);
81 
82 EXTERN_C int es_mol_read_molecule(const char *fname,
83  enum MolType moleculeClass);
84 
85 EXTERN_C void es_print_help();
86 EXTERN_C void es_print_help_var(const struct variable *root);
90 EXTERN_C int es_run(const char *mode, int save_pot);
91 EXTERN_C void es_warranty(void);
92 EXTERN_C int es_getexc(const char *mode, int modes);
93 EXTERN_C int es_get_polarisability(const char *mode, const char *opname,
94  double freq);
95 
96 EXTERN_C int es_set_nthreads(int nThreads);
97 EXTERN_C int es_set_nthreads_string(const char *str);
98 extern int es_quit;
99 
100 #endif /* ERGO_SCRIPTED_HEADER */
VAR_LIST
@ VAR_LIST
Definition: ergo_scripted.h:51
es_warranty
EXTERN_C void es_warranty(void)
Definition: ergo_scripted.cc:1776
es_print_list_dft_funcs
void es_print_list_dft_funcs()
Definition: ergo_scripted.cc:621
SCF::Options::store_all_eigenvalues_to_file
int store_all_eigenvalues_to_file
Definition: scf.h:124
mat::AcceptableMaxIter
Definition: Failure.h:81
SCF::Options::scan_step_factor
ergo_real scan_step_factor
Definition: scf.h:138
JK::Params::threshold_K
ergo_real threshold_K
Definition: integrals_2el.h:48
JK::Params::multipole_threshold_factor
ergo_real multipole_threshold_factor
Definition: integrals_2el.h:49
SCF::Options::number_of_unoccupied_eigenvectors
int number_of_unoccupied_eigenvectors
Definition: scf.h:150
var_get_real_template
static double var_get_real_template(struct variable *root, const char *name)
Definition: ergo_scripted.cc:341
JK::ExchWeights::mu
ergo_real mu
Definition: integral_info.h:151
es_assign_num
EXTERN_C void es_assign_num(struct variable *var, double val)
es_assign_num assigns given numerical value to the variable.
Definition: ergo_scripted.cc:222
JK::Params::fmm_branch_splitter_extent_2
ergo_real fmm_branch_splitter_extent_2
Definition: integrals_2el.h:55
Molecule::setFromMoleculeFile
int setFromMoleculeFile(const char *fileName, int netCharge, char **basissetFile)
Loads molecule from a given file name, assuming given net charge.
Definition: molecule.cc:409
SCF::Options::output_expected_values_pos_operator
int output_expected_values_pos_operator
Definition: scf.h:112
LOG_CAT_RESULTS
#define LOG_CAT_RESULTS
Definition: output.h:51
var_get_intMA
#define var_get_intMA(n)
Definition: ergo_scripted.cc:363
SCF::Options::purification_truncation_norm
mat::normType purification_truncation_norm
Definition: scf.h:72
Ergo::lr_params
struct variable * lr_params
Definition: ergo_scripted.cc:106
dftlistfuncs_
void dftlistfuncs_(void)
Definition: functionals.c:173
ErgoOperator::getOper
virtual void getOper(ergo_real *res)
Definition: ergo_scripted.cc:1282
SCF::MatOptions::sparse_threshold
ergo_real sparse_threshold
threshold value for sparse matrix truncation.
Definition: scf.h:280
es_print_help
EXTERN_C void es_print_help()
Definition: ergo_scripted.cc:590
SCF::Options::do_acc_scan_J
int do_acc_scan_J
Definition: scf.h:132
SCF::Options::starting_guess_disturbance
ergo_real starting_guess_disturbance
Definition: scf.h:89
SCF::Options::step_length_start
ergo_real step_length_start
Definition: scf.h:62
es_mol_unit_angstrom
EXTERN_C void es_mol_unit_angstrom(void)
Selects the units for the inline molecule format to be Angtroms, as opposed to default atomic units.
Definition: ergo_scripted.cc:462
BasisInfoStruct::noOfBasisFuncs
int noOfBasisFuncs
Definition: basisinfo.h:120
es_quit
int es_quit
SCF::Options::verify_gradient_fixeddens
int verify_gradient_fixeddens
Definition: scf.h:159
ErgoE2Evaluator::use_xc
bool use_xc
Definition: ergo_scripted.cc:1181
dft_common.h
Common DFT routines. Mostly functional mixing.
xyz_file_parser.h
Functionality for parsing a file in xyz file format, storing the result as a molecule object.
LR::SetOfEqSolver::setRHS
void setRHS(OneElOperator &op)
initializes the rhs field
Definition: slr.cc:1008
SCF::Options::eigensolver_maxiter
int eigensolver_maxiter
Definition: scf.h:156
ErgoE2Evaluator::transform
virtual bool transform(const ergo_real *dmat, ergo_real *fmat)
Definition: ergo_scripted.cc:1187
compute_K_by_boxes_dense
int compute_K_by_boxes_dense(const BasisInfoStruct &basisInfo, const IntegralInfo &integralInfo, const JK::ExchWeights &CAM_params_in, const JK::Params &J_K_params, ergo_real *K_dense, const ergo_real *D_dense, int symmetryFlag)
Definition: integrals_2el_K.cc:1161
ErgoOperator
Definition: ergo_scripted.cc:1274
compute_operator_matrix_full
int compute_operator_matrix_full(const BasisInfoStruct &basisInfoA, const BasisInfoStruct &basisInfoB, int pow_x, int pow_y, int pow_z, ergo_real *result)
Definition: operator_matrix.cc:60
readMoleculeFileInXyzFormat
int readMoleculeFileInXyzFormat(Molecule &result, const char *fileName, int netCharge, bool expectPlainCharges)
Definition: xyz_file_parser.cc:53
LR::SetOfEqSolver::getPolarisability
ergo_real getPolarisability(OneElOperator &oper)
computes polarizability by contracting the response vector with specified operator
Definition: slr.cc:1039
SCF::Options::force_unrestricted
int force_unrestricted
use an unrestricted det.
Definition: scf.h:97
yy_switch_to_buffer
void yy_switch_to_buffer(void *)
Ergo::mat_params
struct variable * mat_params
Definition: ergo_scripted.cc:108
Ergo::ghostMolecule
Molecule ghostMolecule
Definition: ergo_scripted.cc:114
Ergo::readingMoleculeClass
enum MolType readingMoleculeClass
tells which inline molecule we are reading now: main or ghost.
Definition: ergo_scripted.cc:118
memorymanag.h
Memory allocation/deallocation routines.
SCF::Options::save_permuted_F_matrix_in_bin
int save_permuted_F_matrix_in_bin
Definition: scf.h:128
JK::Params::fmm_box_size
ergo_real fmm_box_size
Definition: integrals_2el.h:52
SCF::Options::create_mtx_file_H_core
int create_mtx_file_H_core
Definition: scf.h:140
solveForRHS
static void solveForRHS(LR::SetOfEqSolver &solver, ErgoE2Evaluator &e2, int opName, const char *tmpdir, ergo_real freq)
Definition: ergo_scripted.cc:1382
UNIT_one_Angstrom
#define UNIT_one_Angstrom
Definition: units.h:43
ddf_load_density
int ddf_load_density(const char *densityFileName, int noOfDensityMatrices, const IntegralInfo &integralInfo, BasisInfoStruct **basisInfo, ergo_real **densityMatrix)
Function opens fileName, fills in basisInfo (which has to be allocated and nullified),...
Definition: density_description_file.cc:1125
variable::description
const char * description
Definition: ergo_scripted.h:56
var_get_stringSCF
#define var_get_stringSCF(n)
Definition: ergo_scripted.cc:377
LOG_CAT_ERROR
#define LOG_CAT_ERROR
Definition: output.h:47
Ergo::output_params
struct variable * output_params
Definition: ergo_scripted.cc:111
var_get_realJK
#define var_get_realJK(n)
Definition: ergo_scripted.cc:368
Ergo::Basis
char * Basis
name of the current basis set.
Definition: ergo_scripted.cc:127
SCF::Options::write_overlap_matrix
int write_overlap_matrix
Definition: scf.h:129
VAR_INT
@ VAR_INT
Definition: ergo_scripted.h:51
SCF::MatOptions::prepare
void prepare(const BasisInfoStruct &basisInfo)
after the parameters are called, this routine is to be called to figure out the basis set permutation...
Definition: scf.cc:53
ED::Params
Definition: electron_dynamics.h:47
JK::Params::use_fmm
int use_fmm
Definition: integrals_2el.h:51
ergo_scripted.h
SCF::OutputOptions
Definition: scf.h:313
Ergo::Ergo
Ergo()
Definition: ergo_scripted.cc:133
atom_labels.h
Provides a way to map atom labels to their charges. The main procedure provided by this file is get_c...
ergo_real
double ergo_real
Definition: realtype.h:69
SCF::Options::eigensolver_accuracy
ergo_real eigensolver_accuracy
Definition: scf.h:155
SCF::Options::create_mtx_file_S
int create_mtx_file_S
Definition: scf.h:139
ERGO_LICENSE_TEXT_BRIEF
#define ERGO_LICENSE_TEXT_BRIEF
Definition: license.h:29
BasissetNameRange::startAtomIndex
int startAtomIndex
Definition: basisinfo.h:107
SCF::Options::use_simple_dense_H_core
int use_simple_dense_H_core
Definition: scf.h:94
KWMAT
#define KWMAT(n, type, d)
SCF::Options::calculation_identifier
std::string calculation_identifier
Definition: scf.h:54
es_mol_unit_angstrom
void es_mol_unit_angstrom(void)
Selects the units for the inline molecule format to be Angtroms, as opposed to default atomic units.
Definition: ergo_scripted.cc:462
SCF::Options::output_density_images_only
int output_density_images_only
Definition: scf.h:114
do_tdhf_dynamics
void do_tdhf_dynamics(const BasisInfoStruct &basisInfo, const IntegralInfo &integralInfo, const Molecule &molecule, const Molecule &extraCharges, const SCF::MatOptions &matOpts, const JK::ExchWeights &CAM_params, const JK::Params &J_K_params, const symmMatrix &FockMatrix, const symmMatrix &densityMatrix, const symmMatrix &S_symm, const triangMatrix &invCholFactor, const ED::Params &params)
Definition: tdhf_dynamics.cc:354
SCF::Options::purification_maxmul
int purification_maxmul
Definition: scf.h:81
Ergo
An object representing the state of the input processor.
Definition: ergo_scripted.cc:100
es_mol_begin
void es_mol_begin(enum MolType moleculeClass)
starts processing the inline molecule input.
Definition: ergo_scripted.cc:410
symmMatrix
MatrixSymmetric< real, matri > symmMatrix
Definition: test_LanczosSeveralLargestEig.cc:69
LR::EigenSolver::computeMoments
void computeMoments(OneElOperator &dipx, OneElOperator &dipy, OneElOperator &dipz)
Definition: slr.cc:1226
SCF::Options::min_number_of_iterations
int min_number_of_iterations
Definition: scf.h:109
SCF::Options::shift_using_prev_density_matrix
ergo_real shift_using_prev_density_matrix
Definition: scf.h:92
es_set_nthreads_string
EXTERN_C int es_set_nthreads_string(const char *str)
Definition: ergo_scripted.cc:535
Molecule::clear
void clear()
Definition: molecule.h:108
es_add_atom
EXTERN_C void es_add_atom(const char *name, double x, double y, double z)
adds single atom at given coordinates and given name.
Definition: ergo_scripted.cc:428
SCF::Options::purification_stop_crit_norm
mat::normType purification_stop_crit_norm
Definition: scf.h:73
SCF::MatOptions::parallelLevel
int parallelLevel
Definition: scf.h:288
JK::Params::use_naive_fockmat_constr
int use_naive_fockmat_constr
Definition: integrals_2el.h:46
mat::FileWritable::setPath
static void setPath(char const *const newPath)
Set the path to which the objects will be written.
Definition: FileWritable.cc:59
Dft::GridParams::radialGridScheme
RadialScheme radialGridScheme
Definition: grid_params.h:69
SCF::Options::electric_field
Vector3D electric_field
Definition: scf.h:56
var_get_realED
#define var_get_realED(n)
Definition: ergo_scripted.cc:370
ErgoE2Evaluator
ErgoE2Evaluator implements the linear tranformation of the trial vector/transition density matrix by ...
Definition: ergo_scripted.cc:1178
Ergo::extraChargesMolecule
Molecule extraChargesMolecule
Definition: ergo_scripted.cc:115
ED::Params::ac_pulse_max
ergo_real ac_pulse_max
Definition: electron_dynamics.h:52
SCF::Options::purification_ignore_failure
int purification_ignore_failure
Definition: scf.h:83
dftlistfuncs_using_printf_
void dftlistfuncs_using_printf_(void)
Definition: functionals.c:182
integrals_general.h
General functionality related to computation of integrals involving Gaussian basis functions.
JK::Params::fmm_branch_splitter_extent_5
ergo_real fmm_branch_splitter_extent_5
Definition: integrals_2el.h:58
MOL_GHOST
@ MOL_GHOST
Definition: ergo_scripted.h:69
BasisInfoStruct
Definition: basisinfo.h:112
SCF::Options::no_of_threads_for_V
int no_of_threads_for_V
Definition: scf.h:79
Molecule::getNoOfAtoms
int getNoOfAtoms() const
Definition: molecule.h:114
es_get_polarisability
int es_get_polarisability(const char *mode, const char *opName, double freq)
Computes a dynamical polarizability for an operator specified by the.
Definition: ergo_scripted.cc:1425
Atom
Simple atom representation by its charge and cartesian coordinates.
Definition: molecule.h:51
SCF::Options::max_number_of_iterations
int max_number_of_iterations
Definition: scf.h:110
SCF::Options::purification_use_rand_perturbation_for_alleigsint
int purification_use_rand_perturbation_for_alleigsint
Definition: scf.h:84
Ergo::var_list
struct variable * var_list
Definition: ergo_scripted.cc:104
JK::ExchWeights::alpha
ergo_real alpha
Definition: integral_info.h:149
LR::E2Evaluator
E2Evaluator interface provides a way to perform a linear transformation of supplied transition densit...
Definition: slr.h:181
SCF::Options::compute_core_density
int compute_core_density
Definition: scf.h:116
SCF::Options::step_length_giveup
ergo_real step_length_giveup
Definition: scf.h:61
dft_init
EXTERN_C void dft_init(void)
Definition: dft_common.cc:195
SCF::Options::sparse_threshold_for_Z
ergo_real sparse_threshold_for_Z
Definition: scf.h:59
LR::EigenSolver
Iterative Eigenvalue solver, extending the generic LRSolver.
Definition: slr.h:367
es_set_nthreads_string
int es_set_nthreads_string(const char *str)
Definition: ergo_scripted.cc:535
JK::Params
Definition: integrals_2el.h:45
SCF::Options::eigenvectors_iterative_method
std::string eigenvectors_iterative_method
Definition: scf.h:154
SCF::Options::break_on_energy_increase
int break_on_energy_increase
Definition: scf.h:95
Ergo::NO_OF_BASIS_SET_RANGES
static const int NO_OF_BASIS_SET_RANGES
Definition: ergo_scripted.cc:102
scf.h
Code for classes containing various options related to self-consistent field (SCF) calculations.
slr.h
Contains a Simple Linear Response implementation based on the MO orbital picture.
charge
int charge
Definition: grid_test.cc:51
var_get_intSCF
#define var_get_intSCF(n)
Definition: ergo_scripted.cc:365
SCF::MatOptions
An object respresenting the configuration of the matrix library.
Definition: scf.h:276
es_print_list_dft_funcs
EXTERN_C void es_print_list_dft_funcs()
Definition: ergo_scripted.cc:621
Dft::GridParams::GC2
@ GC2
Definition: grid_params.h:67
filename_or_string_struct::filename
std::string filename
Definition: ergo_scripted.cc:1782
KW
#define KW(kl, vname, type, defval, desc)
Macro for compact expression of recognized keywords.
Definition: ergo_scripted.cc:161
BETA
static const real BETA
Definition: fun-becke.c:92
get_charge_int_from_atom_label
int get_charge_int_from_atom_label(const char *atomLabel)
Definition: atom_labels.cc:111
benchmark_mm
static void benchmark_mm()
Definition: ergo_scripted.cc:1732
var_print_tree
static void var_print_tree(struct variable *tree, FILE *f, int indent)
Definition: ergo_scripted.cc:382
yy_scan_string
void * yy_scan_string(const char *str)
SCF::Options::puri_eig_acc_factor_for_guess
ergo_real puri_eig_acc_factor_for_guess
Definition: scf.h:63
es_set_nthreads
int es_set_nthreads(int nThreads)
Definition: ergo_scripted.cc:510
es_mol_commit
void es_mol_commit(void)
Finish the inline definition of the molecule.
Definition: ergo_scripted.cc:451
LR::SetOfEqSolver::increaseSubspaceLimit
virtual void increaseSubspaceLimit(int newSize)
expands above the default limit
Definition: slr.cc:996
MolType
MolType
MolType decides whether molecule data access routines modify the main or the ghost molecule.
Definition: ergo_scripted.h:69
SCF::Options::use_diag_on_error_guess
int use_diag_on_error_guess
Definition: scf.h:123
Ergo::ed_params
struct variable * ed_params
Definition: ergo_scripted.cc:107
SCF::Options::gap_expected_lower_bound
ergo_real gap_expected_lower_bound
Definition: scf.h:71
SCF::Options::cht_blocksize
int cht_blocksize
Definition: scf.h:75
triangMatrix
MatrixTriangular< real, matri > triangMatrix
Definition: test_LanczosSeveralLargestEig.cc:70
Ergo::J_K_params
struct variable * J_K_params
Definition: ergo_scripted.cc:105
SCF::Options::create_checkpoints
int create_checkpoints
Definition: scf.h:65
es_print_precision
void es_print_precision()
Print precision that was selected for building the program.
Definition: ergo_scripted.cc:640
SCF::Options::do_f_thresh_verification
int do_f_thresh_verification
Definition: scf.h:104
JK::Params::noOfThreads_J
int noOfThreads_J
Definition: integrals_2el.h:60
var_get_intLR
#define var_get_intLR(n)
Definition: ergo_scripted.cc:361
JK::Params::fmm_branch_splitter_extent_4
ergo_real fmm_branch_splitter_extent_4
Definition: integrals_2el.h:57
BasissetNameRange::basisSetFileName
char * basisSetFileName
Definition: basisinfo.h:109
Dft::GridParams
A structure describing the grid settings.
Definition: grid_params.h:59
SCF::Options::number_of_occupied_eigenvectors
int number_of_occupied_eigenvectors
Definition: scf.h:149
SCF::Options::skip_H_core
int skip_H_core
Definition: scf.h:93
SCF::Options::do_report_density_diff
int do_report_density_diff
Definition: scf.h:107
Molecule::setNetCharge
void setNetCharge(ergo_real netCharge_)
Definition: molecule.h:109
JK::Params::exchange_box_size
ergo_real exchange_box_size
Definition: integrals_2el.h:59
yy_create_buffer
void * yy_create_buffer(FILE *f, int sz)
SCF::Options::create_mtx_files_S_and_quit
int create_mtx_files_S_and_quit
Definition: scf.h:144
es_warranty
void es_warranty(void)
Definition: ergo_scripted.cc:1776
EXTERN_C
#define EXTERN_C
Definition: ergo_scripted.h:44
ergo_new
#define ergo_new(cnt, type)
Definition: memorymanag.h:43
SCF::Options::output_mulliken_pop
int output_mulliken_pop
Definition: scf.h:157
variable::list
struct variable * list
Definition: ergo_scripted.h:61
SCF::MatOptions::threads
int threads
Definition: scf.h:287
ErgoOperator::py
int py
Definition: ergo_scripted.cc:1275
es_get_polarisability
EXTERN_C int es_get_polarisability(const char *mode, const char *opname, double freq)
Computes a dynamical polarizability for an operator specified by the.
Definition: ergo_scripted.cc:1425
Ergo::XC_params
struct variable * XC_params
Definition: ergo_scripted.cc:110
enable_output
void enable_output()
Definition: output.cc:181
var_get_stringXC
#define var_get_stringXC(n)
Definition: ergo_scripted.cc:379
es_mol_read_molecule
EXTERN_C int es_mol_read_molecule(const char *fname, enum MolType moleculeClass)
reads molecule data in the MOLECULE.INP (Dalton) or XYZ format.
Definition: ergo_scripted.cc:475
VAR_STRING
@ VAR_STRING
Definition: ergo_scripted.h:51
SCF::Options::electronic_temperature
ergo_real electronic_temperature
Definition: scf.h:57
SCF_restricted.h
Class for self-consistent field (SCF) procedure; spin-restricted case.
SCF::MatOptions::inversePermutationHML
std::vector< int > inversePermutationHML
Definition: scf.h:279
SCF::MatOptions::sparse_matrix_block_factor_2
int sparse_matrix_block_factor_2
Definition: scf.h:285
ergoIntegralInfo
static IntegralInfo * ergoIntegralInfo
Molecule stores geometry of the current molecule.
Definition: ergo_scripted.cc:151
var_get_int
#define var_get_int(n)
Definition: ergo_scripted.cc:359
mat::Failure
Definition: Failure.h:57
ergo_scanner_reading_stdin
int ergo_scanner_reading_stdin
Definition: ergo_input_processor.c:353
es_add_atom
void es_add_atom(const char *name, double x, double y, double z)
adds single atom at given coordinates and given name.
Definition: ergo_scripted.cc:428
ERGO_LICENSE_TEXT_LONG
#define ERGO_LICENSE_TEXT_LONG
Definition: license.h:30
es_find_var
struct variable * es_find_var(struct variable *root, const char *name)
finds the variable struct by
Definition: ergo_scripted.cc:303
scf_utils.h
Various utilities used by self-consistent field (SCF) code. For example, interface routines convertin...
SCF::Options::output_density_images
int output_density_images
Definition: scf.h:113
JK::ExchWeights::beta
ergo_real beta
Definition: integral_info.h:150
filename_or_string_struct
Definition: ergo_scripted.cc:1781
KWSCF
#define KWSCF(n, type, d)
SCF::Options::no_of_core_electrons
int no_of_core_electrons
Definition: scf.h:117
IntegralInfo
Contains coefficients needed for quick integral evaluation.
Definition: integral_info.h:94
SCF::Options::compute_gradient_fixeddens
int compute_gradient_fixeddens
Definition: scf.h:158
SCF::Options::create_mtx_files_dipole
int create_mtx_files_dipole
Definition: scf.h:143
SCF::Options::checkpoint_IDstr
std::string checkpoint_IDstr
Definition: scf.h:66
mat::gemm
static void gemm(const char *ta, const char *tb, const int *n, const int *k, const int *l, const T *alpha, const T *A, const int *lda, const T *B, const int *ldb, const T *beta, T *C, const int *ldc)
Definition: mat_gblas.h:232
SCF::Options::purification_create_m_files
int purification_create_m_files
Definition: scf.h:82
SCF::MatOptions::sparse_matrix_block_size
int sparse_matrix_block_size
Definition: scf.h:283
integrals_2el_boxed.h
Code for 2-electron integrals, computation of Coulomb (J) and HF exchange (K) matrices using a single...
yylex_destroy
void yylex_destroy(void)
es_print_help
void es_print_help()
Definition: ergo_scripted.cc:590
ED::Params::max_time
ergo_real max_time
Definition: electron_dynamics.h:48
matrix_utilities.h
Utilities related to the hierarchical matrix library (HML), including functions for setting up permut...
grid_free_files
void grid_free_files()
Frees all the cached data if any.
Definition: grid_reader.cc:135
Ergo::~Ergo
~Ergo()
Definition: ergo_scripted.cc:137
LR::EigenSolver::getTransitionMoment2
ergo_real getTransitionMoment2(int i) const
Definition: slr.h:400
yyparse
int yyparse(void)
compute_overlap_matrix
int compute_overlap_matrix(const BasisInfoStruct &basisInfoA, const BasisInfoStruct &basisInfoB, ergo_real *result)
Definition: operator_matrix.cc:324
ErgoOperator::ErgoOperator
ErgoOperator(int pow_x, int pow_y, int pow_z)
Definition: ergo_scripted.cc:1277
SCF::Options::purification_with_acceleration
int purification_with_acceleration
Definition: scf.h:69
BasisInfoStruct::addBasisfuncsForMolecule
int addBasisfuncsForMolecule(const Molecule &molecule, const char *basisset_filename_default, int noOfRanges, const BasissetNameRange *rangeList, const IntegralInfo &integralInfo, int print_raw, int do_normalization, int skip_sort_shells)
Fills in BasisInfoStruct for given molecule and basisset_filename.
Definition: basisinfo.cc:579
license.h
var_get_realXC
#define var_get_realXC(n)
Definition: ergo_scripted.cc:374
Dft::GridParams::LMG
@ LMG
Definition: grid_params.h:67
integrals_2el_explicit.h
Code for explicit computation of 4-index 2-electron integrals.
Ergo::basissetRangeList
BasissetNameRange basissetRangeList[NO_OF_BASIS_SET_RANGES]
Definition: ergo_scripted.cc:130
ErgoE2Evaluator::ErgoE2Evaluator
ErgoE2Evaluator(BasisInfoStruct *bis, Molecule *m, const char *mode)
Definition: ergo_scripted.cc:1183
SCF::Options::force_restricted
int force_restricted
use a restricted determinant for open shell.
Definition: scf.h:96
SCF::MatOptions::use_allocator_manager
int use_allocator_manager
Definition: scf.h:290
ergo
static Ergo ergo
Definition: ergo_scripted.cc:147
es_mol_read_molecule
int es_mol_read_molecule(const char *fname, enum MolType moleculeClass)
reads molecule data in the MOLECULE.INP (Dalton) or XYZ format.
Definition: ergo_scripted.cc:475
SCF::Options::create_mtx_files_F
int create_mtx_files_F
Definition: scf.h:141
SCF::Options::output_homo_and_lumo_eigenvectors
int output_homo_and_lumo_eigenvectors
Definition: scf.h:148
Vector3D::v
ergo_real v[3]
Definition: molecule.h:61
JK::Params::fmm_branch_splitter_extent_3
ergo_real fmm_branch_splitter_extent_3
Definition: integrals_2el.h:56
Molecule::getAtom
const Atom & getAtom(int i) const
Definition: molecule.h:113
do_acc_scan_Vxc
void do_acc_scan_Vxc(symmMatrix &D, const IntegralInfo &integralInfo, const BasisInfoStruct &basisInfo, const Molecule &molecule, const Dft::GridParams &gridParams, int noOfElectrons, triangMatrix &invCholFactor, bool doInvCholFactorTransformation, mat::SizesAndBlocks const &matrix_size_block_info, std::vector< int > const &permutationHML, std::vector< int > const &inversePermutationHML, int nSteps, ergo_real startThresh, ergo_real stepFactor)
Definition: scf_utils.cc:320
ErgoE2Evaluator::mol
Molecule * mol
Definition: ergo_scripted.cc:1180
Ergo::edOptions
ED::Params edOptions
Definition: ergo_scripted.cc:124
Ergo::basissetRangeListGhost
BasissetNameRange basissetRangeListGhost[NO_OF_BASIS_SET_RANGES]
Definition: ergo_scripted.cc:131
SCF_unrestricted
Definition: SCF_unrestricted.h:45
var_get_realMA
#define var_get_realMA(n)
Definition: ergo_scripted.cc:371
Ergo::molecule
Molecule molecule
Definition: ergo_scripted.cc:113
do_acc_scan_K
void do_acc_scan_K(symmMatrix &D, const IntegralInfo &integralInfo, const BasisInfoStruct &basisInfo, triangMatrix &invCholFactor, bool doInvCholFactorTransformation, const JK::ExchWeights &CAM_params, const JK::Params &J_K_params, mat::SizesAndBlocks const &matrix_size_block_info, std::vector< int > const &permutationHML, std::vector< int > const &inversePermutationHML, int nSteps, ergo_real startThresh, ergo_real stepFactor)
Definition: scf_utils.cc:235
Basis_info
static BasisInfoStruct * Basis_info
Definition: ergo_scripted.cc:152
do_CI
int do_CI(const BasisInfoStruct &basisInfo, const IntegralInfo &integralInfo, const CI::Options &options, const Molecule &molecule, const ergo_real *S, const ergo_real *h_AO, const ergo_real *F_a, const ergo_real *F_b, int n_el_a, int n_el_b, ergo_real nuclearEnergy, ergo_real HF_energy)
Definition: ci.cc:2596
lin_trans.h
Blocked DFT Linear Response contribution evaluator.
mat
Definition: allocate.cc:39
SCF::Options::create_mtx_files_D
int create_mtx_files_D
Definition: scf.h:142
LOG_CAT_INFO
#define LOG_CAT_INFO
Definition: output.h:49
es_find_var
EXTERN_C struct variable * es_find_var(struct variable *root, const char *name)
finds the variable struct by
Definition: ergo_scripted.cc:303
SCF::Options::use_diag_on_error
int use_diag_on_error
Definition: scf.h:122
Ergo::jkOptions
JK::Params jkOptions
Definition: ergo_scripted.cc:121
mat::Failure::what
virtual const char * what() const
Definition: Failure.h:67
ergo_scanner_reading_stdin
int ergo_scanner_reading_stdin
Definition: ergo_input_processor.c:353
es_assign_str
void es_assign_str(struct variable *v, const char *str)
es_assign_str assigns given string to the variable.
Definition: ergo_scripted.cc:239
Ergo::GhostBasis
char * GhostBasis
name of the ghost basis set.
Definition: ergo_scripted.cc:128
es_assign_num
void es_assign_num(struct variable *v, double val)
es_assign_num assigns given numerical value to the variable.
Definition: ergo_scripted.cc:222
Ergo::moleculeUnit
ergo_real moleculeUnit
the distance unit for inline molecule input.
Definition: ergo_scripted.cc:116
SCF::Options::try_eigv_on_next_iteration_if_fail
int try_eigv_on_next_iteration_if_fail
Definition: scf.h:125
mat::getNormType
normType getNormType(const char *normStr)
Definition: matInclude.cc:52
es_assign_str
EXTERN_C void es_assign_str(struct variable *var, const char *str)
es_assign_str assigns given string to the variable.
Definition: ergo_scripted.cc:239
integrals_2el_J.h
Code for computing the Coulomb matrix J.
getOperatorParams
static const int * getOperatorParams(int opname)
Definition: ergo_scripted.cc:1366
variable::str
char * str
Definition: ergo_scripted.h:58
SCF::MatOptions::threshold_inch
ergo_real threshold_inch
Truncation threshold in INCH function.
Definition: scf.h:282
Dft::GridParams::TURBO
@ TURBO
Definition: grid_params.h:67
var_get_int_template
static int var_get_int_template(struct variable *root, const char *name)
Definition: ergo_scripted.cc:330
SCF::Options::use_simple_starting_guess
int use_simple_starting_guess
Definition: scf.h:86
LOG_AREA_MAIN
#define LOG_AREA_MAIN
Definition: output.h:57
es_run
int es_run(const char *mode, int save_pot)
called when an actual calculation is to be commenced.
Definition: ergo_scripted.cc:685
variable_free
static void variable_free(struct variable *v)
release variable data structure and its children.
Definition: ergo_scripted.cc:205
SCF::Options::jump_over_X_iter_proj_method
int jump_over_X_iter_proj_method
Definition: scf.h:151
LR::LRSolver::solve
bool solve(E2Evaluator &e, bool diskMode=false)
Solves the problem defined by the subclass.
Definition: slr.cc:753
integrals_2el.h
Parameters related to integral evaluation.
variable::num
double num
Definition: ergo_scripted.h:59
dft_set_num_threads
EXTERN_C void dft_set_num_threads(int nThreads)
Definition: dft_common.cc:226
es_rmdir_with_content
static int es_rmdir_with_content(const char *dirname)
Definition: ergo_scripted.cc:655
variable::v
union variable::@4 v
LR::OneElOperator
Abstract interface to a one electron operator.
Definition: slr.h:216
LOG_AREA_SCF
#define LOG_AREA_SCF
Definition: output.h:58
SCF::Options::method_and_basis_set
std::string method_and_basis_set
Definition: scf.h:55
SCF::MatOptions::no_of_buffers_per_allocator
int no_of_buffers_per_allocator
Definition: scf.h:289
SCF::Options::run_shift_and_square_method_on_F
int run_shift_and_square_method_on_F
Definition: scf.h:127
JK::Params::use_differential_density
int use_differential_density
Definition: integrals_2el.h:50
JK::ExchWeights
Definition: integral_info.h:148
SCF::Options::no_of_impr_req_for_diis
int no_of_impr_req_for_diis
Definition: scf.h:102
units.h
Constants for conversion between units for some common units like Angstrom, electron-volt (eV),...
SCF::Options::purification_subspace_err_limit
ergo_real purification_subspace_err_limit
Definition: scf.h:68
SCF_unrestricted.h
Class for self-consistent field (SCF) procedure; spin-unrestricted case.
es_assign_range
int es_assign_range(MolType mt, int rangeNo, int start, int cnt, const char *name)
Defines a range of atoms that will be assigned a specific basis set.
Definition: ergo_scripted.cc:274
BasissetNameRange
Definition: basisinfo.h:106
density_description_file.h
An interface file for writing and reading density matrices to/from a file, including basis set inform...
compute_2e_matrix_simple
int compute_2e_matrix_simple(const BasisInfoStruct &basisInfo, const IntegralInfo &integralInfo, ergo_real hf_weight, ergo_real *result, const ergo_real *dens)
compute_2e_matrix_simple computes the 2el matrix in the simplest possible way.
Definition: integrals_2el_explicit.cc:165
ED::Params::dc_pulse_time
ergo_real dc_pulse_time
Definition: electron_dynamics.h:51
yy_delete_buffer
void yy_delete_buffer(void *)
SCF::Options::output_density_at_every_step
int output_density_at_every_step
Definition: scf.h:111
Ergo::scfOptions
SCF::Options scfOptions
Definition: ergo_scripted.cc:122
SCF::Options::use_dft
int use_dft
Definition: scf.h:85
mat::FileWritable::activate
static void activate()
Activate the filewriting.
Definition: FileWritable.cc:71
Dft::GridParams::gridType
GridType gridType
Definition: grid_params.h:70
do_output_time
void do_output_time(int logCategory, int logArea, const char *s)
Definition: output.cc:159
tdhf_dynamics.h
Implementation of TDHF electron dynamics, explicitly propagating the electron density in time in the ...
SCF::Options::box_size_for_V_and_T
ergo_real box_size_for_V_and_T
Definition: scf.h:80
VAR_FLOAT
@ VAR_FLOAT
Definition: ergo_scripted.h:51
SCF::Options::eigenvectors_method
std::string eigenvectors_method
Definition: scf.h:153
SCF_restricted
Definition: SCF_restricted.h:47
SCF::Options::max_restart_count
int max_restart_count
Definition: scf.h:101
dftreport_
void dftreport_(void)
dftreport: report the selected functional and its configuration.
Definition: functionals.c:164
SCF::Options::use_new_stopping_criterion
int use_new_stopping_criterion
Definition: scf.h:70
SCF::Options::create_basis_func_coord_file
int create_basis_func_coord_file
Definition: scf.h:146
Ergo::matOptions
SCF::MatOptions matOptions
Definition: ergo_scripted.cc:123
Atom::charge
ergo_real charge
Definition: molecule.h:52
JK::ExchWeights::computeRangeSeparatedExchange
int computeRangeSeparatedExchange
shortcut for |beta| != 0
Definition: integral_info.h:152
main
int main(int argc, char *argv[])
Definition: ergo_scripted.cc:1787
LR::EigenSolver::getFreq
ergo_real getFreq(int i) const
Definition: slr.h:396
molecule.h
Class representing a molecule as a set of atoms with assiciated coordinates and charges of the atomic...
SCF::Options::go_back_X_iter_proj_method
int go_back_X_iter_proj_method
Definition: scf.h:152
ErgoOperator::setDipoleOp
void setDipoleOp(int pow_x, int pow_y, int pow_z)
Definition: ergo_scripted.cc:1279
SCF::MatOptions::sparse_matrix_block_factor_3
int sparse_matrix_block_factor_3
Definition: scf.h:284
ergo_parse_file
static void ergo_parse_file(FILE *inputFile)
Definition: ergo_scripted.cc:1758
grid_set_tmpdir
EXTERN_C void grid_set_tmpdir(const char *tmpdir)
Definition: grid_reader.cc:116
SCF::Options::write_guess_density_only
int write_guess_density_only
Definition: scf.h:115
es_mol_begin
EXTERN_C void es_mol_begin(enum MolType moleculeClass)
starts processing the inline molecule input.
Definition: ergo_scripted.cc:410
es_print_precision
EXTERN_C void es_print_precision()
Print precision that was selected for building the program.
Definition: ergo_scripted.cc:640
var_get_string
static const char * var_get_string(struct variable *root, const char *name)
Definition: ergo_scripted.cc:353
Molecule
Representation of a molecule as a set of nuclei and total charge.
Definition: molecule.h:87
SCF::Options::create_2el_integral_m_file
int create_2el_integral_m_file
Definition: scf.h:145
KWED
#define KWED(n, type, d)
SCF::Options::output_density_images_boxwidth
ergo_real output_density_images_boxwidth
Definition: scf.h:118
operator_matrix.h
Functions for computing the matrix of a dipole/quadrupole/etc operator. Full and sparse versions.
variable::type
enum VarType type
Definition: ergo_scripted.h:63
SCF::Options::do_acc_scan_Vxc
int do_acc_scan_Vxc
Definition: scf.h:134
es_print_is_cht_used
void es_print_is_cht_used()
Definition: ergo_scripted.cc:628
ED::Params::ac_pulse_omega
ergo_real ac_pulse_omega
Definition: electron_dynamics.h:53
dft_lin_resp_mt
EXTERN_C real dft_lin_resp_mt(const BasisInfoStruct &bis, const Molecule &mol, const Dft::GridParams &gss, const real *dens, const real *vec, real *trans_vec)
Definition: lin_trans.cc:344
enable_memory_usage_output
void enable_memory_usage_output()
Definition: output.cc:175
ergo_free
void ergo_free(void *p)
Definition: memorymanag.cc:68
SCF::Options::use_diis_always
int use_diis_always
Definition: scf.h:103
Ergo::scf_params
struct variable * scf_params
Definition: ergo_scripted.cc:109
LR::EigenSolver::increaseSubspaceLimit
virtual void increaseSubspaceLimit(int newSize)
expands above the default limit
Definition: slr.cc:1173
variable_new
static struct variable * variable_new(struct variable *tail, enum VarType type, const char *name, const char *description,...)
creates new variable item.
Definition: ergo_scripted.cc:178
ci.h
Configuration Interaction (CI) code.
KL
#define KL
SCF::Options::puri_compute_eigv_in_each_iteration
int puri_compute_eigv_in_each_iteration
Definition: scf.h:126
SCF::Options::use_diagonalization
int use_diagonalization
Definition: scf.h:121
SCF::Options::use_prev_vector_as_initial_guess
int use_prev_vector_as_initial_guess
Definition: scf.h:147
SCF::Options
Definition: scf.h:53
variable
describes a variable recognized by the scripting system.
Definition: ergo_scripted.h:54
ED::Params::dc_pulse_strength
ergo_real dc_pulse_strength
Definition: electron_dynamics.h:50
SCF::Options::max_no_of_diis_matrices
int max_no_of_diis_matrices
Definition: scf.h:100
JK::Params::threshold_J
ergo_real threshold_J
Definition: integrals_2el.h:47
SCF::MatOptions::sparse_matrix_block_factor_1
int sparse_matrix_block_factor_1
Definition: scf.h:286
VERSION
#define VERSION
Definition: config.h:268
ergo_parse_string
static void ergo_parse_string(const char *str)
Definition: ergo_scripted.cc:1767
KWJK
#define KWJK(n, type, d)
SCF::Options::convergence_threshold
ergo_real convergence_threshold
Definition: scf.h:60
SCF::Options::cht_leavesSizeMax
int cht_leavesSizeMax
Definition: scf.h:74
BasissetNameRange::count
int count
Definition: basisinfo.h:108
LR::SetOfEqSolver
Iterative Set Of Linear Equations solver, extending the generic LRSolver.
Definition: slr.h:337
var_get_real
#define var_get_real(n)
Definition: ergo_scripted.cc:367
SCF::Options::no_of_careful_first_scf_steps
int no_of_careful_first_scf_steps
Definition: scf.h:106
es_assign_range
EXTERN_C int es_assign_range(enum MolType mt, int rangeNo, int start, int cnt, const char *name)
Defines a range of atoms that will be assigned a specific basis set.
Definition: ergo_scripted.cc:274
variable::name
const char * name
Definition: ergo_scripted.h:55
variable::next
struct variable * next
Definition: ergo_scripted.h:64
es_print_help_var
EXTERN_C void es_print_help_var(const struct variable *root)
Definition: ergo_scripted.cc:615
SCF::Options::output_statistics_mfiles
int output_statistics_mfiles
Definition: scf.h:105
Molecule::addAtom
void addAtom(ergo_real c, ergo_real x, ergo_real y, ergo_real z)
Definition: molecule.h:97
filename_or_string_struct::str
std::string str
Definition: ergo_scripted.cc:1783
var_get_realSCF
#define var_get_realSCF(n)
Definition: ergo_scripted.cc:373
var_get_realLR
#define var_get_realLR(n)
Definition: ergo_scripted.cc:369
get_hf_weight_and_cam_params
void get_hf_weight_and_cam_params(int use_dft, ergo_real *exch_param_alpha, ergo_real *exch_param_beta, ergo_real *exch_param_mu)
Definition: scf_utils.cc:2611
es_print_help_var
void es_print_help_var(const struct variable *var)
Definition: ergo_scripted.cc:615
SCF
Definition: scf.h:49
var_get_intJK
#define var_get_intJK(n)
Definition: ergo_scripted.cc:360
es_mol_commit
EXTERN_C void es_mol_commit(void)
Finish the inline definition of the molecule.
Definition: ergo_scripted.cc:451
ergo_scanner_lineno
int ergo_scanner_lineno
Definition: ergo_input_processor.c:352
Dft::GridParams::TYPE_HICU
@ TYPE_HICU
Definition: grid_params.h:68
var_get_stringED
#define var_get_stringED(n)
Definition: ergo_scripted.cc:376
electron_dynamics.h
Parameters related to TDHF electron dynamics.
do_output
void do_output(int logCategory, int logArea, const char *format,...)
Definition: output.cc:53
yyin
FILE * yyin
file used by the lex-generated parser.
Definition: ergo_input_parser.c:328
JK::Params::fmm_no_of_branches
int fmm_no_of_branches
Definition: integrals_2el.h:53
Molecule::getNumberOfElectrons
int getNumberOfElectrons() const
Compute total number of electrons.
Definition: molecule.cc:158
es_set_nthreads
EXTERN_C int es_set_nthreads(int nThreads)
Definition: ergo_scripted.cc:510
MOL_MAIN
@ MOL_MAIN
Definition: ergo_scripted.h:69
do_acc_scan_J
void do_acc_scan_J(const symmMatrix &D, const IntegralInfo &integralInfo, const BasisInfoStruct &basisInfo, triangMatrix &invCholFactor, bool doInvCholFactorTransformation, const JK::Params &J_K_params, mat::SizesAndBlocks const &matrix_size_block_info, std::vector< int > const &permutationHML, int nSteps, ergo_real startThresh, ergo_real stepFactor)
Definition: scf_utils.cc:158
LR::LRSolver::convThreshold
ergo_real convThreshold
iterative method convergence threshold
Definition: slr.h:282
ErgoOperator::px
int px
Definition: ergo_scripted.cc:1275
ED::Params::field_type
std::string field_type
Definition: electron_dynamics.h:54
ED::Params::timestep
ergo_real timestep
Definition: electron_dynamics.h:49
SCF::Options::sparse_threshold_for_S
ergo_real sparse_threshold_for_S
Definition: scf.h:58
JK::Params::fmm_branch_splitter_extent_1
ergo_real fmm_branch_splitter_extent_1
Definition: integrals_2el.h:54
SCF::Options::save_final_potential
int save_final_potential
Definition: scf.h:120
es_run
EXTERN_C int es_run(const char *mode, int save_pot)
called when an actual calculation is to be commenced.
Definition: ergo_scripted.cc:685
Ergo::registerInputVariables
void registerInputVariables()
initializes the input module by registering all the recognized variables, their types and default val...
Definition: ergo_scripted.cc:1501
ErgoE2Evaluator::bi
BasisInfoStruct * bi
Definition: ergo_scripted.cc:1179
VarType
VarType
VarType defines recognized variable types.
Definition: ergo_scripted.h:51
grid_reader.h
Grid Generator interface. Functions for opening grid file, reading chunks from it,...
fileno
int fileno(FILE *stream)
es_getexc
int es_getexc(const char *mode, int no_exc)
Computes the specified number of excited states.
Definition: ergo_scripted.cc:1291
integrals_2el_K.h
Code for computing the Hartree-Fock exchange matrix K.
es_getexc
EXTERN_C int es_getexc(const char *mode, int modes)
Computes the specified number of excited states.
Definition: ergo_scripted.cc:1291
JK::Params::noOfThreads_K
int noOfThreads_K
Definition: integrals_2el.h:61
compute_J_by_boxes_nosymm
int compute_J_by_boxes_nosymm(const BasisInfoStruct &basisInfo, const IntegralInfo &integralInfo, const JK::Params &J_K_params, ergo_real *J, const ergo_real *dens)
Definition: integrals_2el_J.cc:1800
es_print_is_cht_used
EXTERN_C void es_print_is_cht_used()
Definition: ergo_scripted.cc:628
SCF::Options::do_acc_scan_K
int do_acc_scan_K
Definition: scf.h:133
var_get_intXC
#define var_get_intXC(n)
Definition: ergo_scripted.cc:366
ErgoOperator::pz
int pz
Definition: ergo_scripted.cc:1275
CI::Options
Definition: ci.h:46
variable::vint
int vint
Definition: ergo_scripted.h:60
SCF::Options::purification_eigvalue_err_limit
ergo_real purification_eigvalue_err_limit
Definition: scf.h:67
jkparams_set_from_vars
static void jkparams_set_from_vars(JK::Params &jkp)
Definition: ergo_scripted.cc:565
output.h
Functionality for writing output messages to a text file.
Molecule::replaceAtom
void replaceAtom(int i, const Atom &atom)
Definition: molecule.h:110
dft_setfunc
EXTERN_C int dft_setfunc(const char *line)
Definition: dft_common.cc:277
SCF::Options::scan_start_thresh
ergo_real scan_start_thresh
Definition: scf.h:137
SCF::Options::error_maxabs_for_diis
ergo_real error_maxabs_for_diis
Definition: scf.h:108
SCF::Options::scan_no_of_steps
int scan_no_of_steps
Definition: scf.h:136