2
2
3
3
#include " xatu.hpp"
4
4
5
+ // TO DO, NOTA BENE: This file is currently unused. It is aimed at extracting the calculation
6
+ // of the interaction matrix elements out of the exciton class to be available for
7
+ // a wider class of calculations that involve V.
8
+
5
9
6
10
namespace xatu {
7
11
12
+ // ---------------------------- Potentials ----------------------------
13
+
8
14
/* *
9
15
* Calculate value of interaction potential (Keldysh). Units are eV.
10
16
* @details If the distance is zero, then the interaction is renormalized to be V(a) since
@@ -14,7 +20,7 @@ namespace xatu {
14
20
* @param eps_s Dielectric constant of substrate.
15
21
* @param eps_m Dielectric constant of embedding medium (Air = 1).
16
22
* @param cutoff Cutoff distance in potential, V(r > Rc) = 0.
17
- * @param a Regularization value , V(0) = V(a).
23
+ * @param a Regularization distance , V(0) = V(a).
18
24
* @return Value of Keldysh potential, V(r).
19
25
*/
20
26
double keldysh (double r, double r0, double eps_s, double eps_m, double cutoff, double a){
@@ -106,6 +112,18 @@ double keldyshFT(const arma::rowvec& q, double r0, double eps_s, double eps_m, d
106
112
return potential;
107
113
}
108
114
115
+ /* *
116
+ * Coulomb potential in real space.
117
+ * @param r Distance at which we evaluate the potential.
118
+ * @param regularization Regularization distance to remove divergence at r=0.
119
+ * @return Value of Coulomb potential, V(r).
120
+ */
121
+ double coulomb (double r, double regularization){
122
+ return (r > 1E-8 ) ? ec/(4E-10 *PI*eps0*r) : ec*1E10 /(4 *PI*eps0*regularization);
123
+ }
124
+
125
+ // ----------------------- Interaction matrix element initialization -----------------------
126
+
109
127
/* *
110
128
* Routine to compute the lattice Fourier transform with the potential displaced by some
111
129
* vectors of the motif.
0 commit comments