@@ -178,6 +178,9 @@ struct efp_energy {
178178 * EFP/EFP electrostatic energy. */
179179 double electrostatic ;
180180 /**
181+ * AI/EFP electrostatic energy. */
182+ double ai_electrostatic ;
183+ /**
181184 * Charge penetration energy from overlap-based electrostatic
182185 * damping. Zero if overlap-based damping is turned off. */
183186 double charge_penetration ;
@@ -189,6 +192,15 @@ struct efp_energy {
189192 * self-consistently so it can't be separated into EFP/EFP and AI/EFP
190193 * parts. */
191194 double polarization ;
195+ /**
196+ * Separate storage for polarization corresponding to the excited/correlated state
197+ * (relevant for excited state QM/EFP calculations).
198+ */
199+ double exs_polarization ;
200+ /**
201+ * Polarization energy storage for pairwise AI/EFP analysis.
202+ * Not used in "normal" code */
203+ double ai_polarization ;
192204 /**
193205 * EFP/EFP dispersion energy. */
194206 double dispersion ;
@@ -682,6 +694,15 @@ enum efp_result efp_set_dipole_integrals(struct efp *efp, size_t n_core,
682694enum efp_result efp_get_wavefunction_dependent_energy (struct efp * efp ,
683695 double * energy );
684696
697+ /**
698+ * Computes excitation energy correction.
699+ * @param[in] efp The efp structure.
700+ * @param[out] energy Excitation energy correction.
701+ * @return ::EFP_RESULT_SUCCESS on success or error code otherwise.
702+ */
703+ enum efp_result efp_get_wavefunction_dependent_energy_correction (struct efp * efp ,
704+ double * energy );
705+
685706/**
686707 * Perform the EFP computation.
687708 *
@@ -864,6 +885,24 @@ enum efp_result efp_get_induced_dipole_values(struct efp *efp, double *dip);
864885enum efp_result efp_get_induced_dipole_conj_values (struct efp * efp ,
865886 double * dip );
866887
888+ /**
889+ * Analogues to efp_get_induced_dipole_values but returnes "old" i.e. ground state induced dipoles
890+ * @param efp The efp structure.
891+ * @param dip Array where induced dipoles will be stored. The size of the
892+ * array must be at least [3 * \p n_dip] elements.
893+ * @return ::EFP_RESULT_SUCCESS on success or error code otherwise.
894+ */
895+ enum efp_result efp_get_old_induced_dipole_values (struct efp * efp , double * dip );
896+
897+ /**
898+ * Analogues to efp_get_induced_dipole_conj_values but returnes "old" i.e. ground state induced dipoles
899+ * @param efp The efp structure.
900+ * @param dip Array where induced dipoles will be stored. The size of the
901+ * array must be at least [3 * \p n_dip] elements.
902+ * @return ::EFP_RESULT_SUCCESS on success or error code otherwise.
903+ */
904+ enum efp_result efp_get_old_induced_dipole_conj_values (struct efp * efp , double * dip );
905+
867906/**
868907 * Get the number of LMOs in a fragment.
869908 *
0 commit comments