Skip to content

Commit 1533bee

Browse files
authored
Merge pull request #272 from suarez-va/devel
Fixed KC-RPMD compilation issues. new HEOM features documented. HEOM gen_heirarchy() now very efficient, matsubara frequencies switched to complex typing.
2 parents 9658161 + fbd0985 commit 1533bee

10 files changed

Lines changed: 822 additions & 943 deletions

File tree

src/dyn/Dynamics.cpp

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1227,7 +1227,6 @@ void propagate_electronic_kcrpmd(dyn_variables &dyn_var, nHamiltonian &Ham,
12271227
double a = prms.kcrpmd_a;
12281228
double b = prms.kcrpmd_b;
12291229
double c = prms.kcrpmd_c;
1230-
double d = prms.kcrpmd_d;
12311230
double eta = prms.kcrpmd_eta;
12321231
double gam = prms.kcrpmd_gamma;
12331232
double gamKP = prms.kcrpmd_gammaKP;
@@ -1245,7 +1244,7 @@ void propagate_electronic_kcrpmd(dyn_variables &dyn_var, nHamiltonian &Ham,
12451244
p_aux_var[0] += 0.5 * f_aux_var[0] * dt;
12461245
y_aux_var[0] += p_aux_var[0] / m_aux_var[0] * dt;
12471246
f_aux_var[0] = (Ham.kcrpmd_effective_auxiliary_force(y_aux_var, beta, eta,
1248-
a, b, c, d))[0];
1247+
a, b, c))[0];
12491248
p_aux_var[0] += 0.5 * f_aux_var[0] * dt;
12501249
} else {
12511250
sigma = sqrt(2.0 * gamKP / (beta * m_aux_var[0]));
@@ -1260,7 +1259,7 @@ void propagate_electronic_kcrpmd(dyn_variables &dyn_var, nHamiltonian &Ham,
12601259
y_aux_var[0] += p_aux_var[0] / m_aux_var[0] * dt +
12611260
0.5 * theta / sqrt(3.0) * sigma * sqrt(pow(dt, 3));
12621261
f_aux_var[0] = (Ham.kcrpmd_effective_auxiliary_force(y_aux_var, beta, eta,
1263-
a, b, c, d))[0];
1262+
a, b, c))[0];
12641263
p_aux_var[0] +=
12651264
0.5 * xi * sigma * m_aux_var[0] * sqrt(dt) +
12661265
0.5 * (f_aux_var[0] - gamKP * p_aux_var[0]) * dt -
@@ -1273,7 +1272,7 @@ void propagate_electronic_kcrpmd(dyn_variables &dyn_var, nHamiltonian &Ham,
12731272
p_aux_var[0] += 0.5 * f_aux_var[0] * dt;
12741273
y_aux_var[0] += p_aux_var[0] / m_aux_var[0] * dt;
12751274
f_aux_var[0] = (Ham.kcrpmd_effective_auxiliary_force(y_aux_var, beta, eta,
1276-
a, b, c, d))[0];
1275+
a, b, c))[0];
12771276
p_aux_var[0] += 0.5 * f_aux_var[0] * dt;
12781277
} else {
12791278
sigma = sqrt(2.0 * gam / (beta * m_aux_var[0]));
@@ -1288,7 +1287,7 @@ void propagate_electronic_kcrpmd(dyn_variables &dyn_var, nHamiltonian &Ham,
12881287
y_aux_var[0] += p_aux_var[0] / m_aux_var[0] * dt +
12891288
0.5 * theta / sqrt(3.0) * sigma * sqrt(pow(dt, 3));
12901289
f_aux_var[0] = (Ham.kcrpmd_effective_auxiliary_force(y_aux_var, beta, eta,
1291-
a, b, c, d))[0];
1290+
a, b, c))[0];
12921291
p_aux_var[0] +=
12931292
0.5 * xi * sigma * m_aux_var[0] * sqrt(dt) +
12941293
0.5 * (f_aux_var[0] - gam * p_aux_var[0]) * dt -

src/dyn/Energy_and_Forces.cpp

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -287,8 +287,7 @@ vector<double> potential_energies(dyn_control_params& prms, dyn_variables& dyn_v
287287
double a = prms.kcrpmd_a;
288288
double b = prms.kcrpmd_b;
289289
double c = prms.kcrpmd_c;
290-
double d = prms.kcrpmd_d;
291-
Veff = ham.kcrpmd_effective_potential(dyn_vars.y_aux_var, *dyn_vars.q, *dyn_vars.iM, beta, eta, a, b, c, d);
290+
Veff = ham.kcrpmd_effective_potential(dyn_vars.y_aux_var, *dyn_vars.q, *dyn_vars.iM, beta, eta, a, b, c);
292291
for(itraj=0; itraj<ntraj; itraj++){
293292
id[1] = itraj;
294293
res[itraj] = Veff;
@@ -437,8 +436,7 @@ void update_forces(dyn_control_params& prms, dyn_variables& dyn_vars, nHamiltoni
437436
double a = prms.kcrpmd_a;
438437
double b = prms.kcrpmd_b;
439438
double c = prms.kcrpmd_c;
440-
double d = prms.kcrpmd_d;
441-
*dyn_vars.f = ham.kcrpmd_effective_force(dyn_vars.y_aux_var, *dyn_vars.q, *dyn_vars.iM, beta, eta, a, b, c, d);
439+
*dyn_vars.f = ham.kcrpmd_effective_force(dyn_vars.y_aux_var, *dyn_vars.q, *dyn_vars.iM, beta, eta, a, b, c);
442440
}
443441

444442
// Adiabatic

src/dyn/dyn_control_params.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -531,8 +531,6 @@ class dyn_control_params{
531531
*/
532532
double kcrpmd_c;
533533

534-
double kcrpmd_d;
535-
536534
/**
537535
KC-RPMD Langevin frictional coefficient within donor-acceptor basin
538536
Default: 0.0 a.u. (inverse time)

0 commit comments

Comments
 (0)