Skip to content

Commit 9278cac

Browse files
committed
Merge branch 'devel' of https://github.com/Quantum-Dynamics-Hub/libra-code into devel
2 parents f7e7245 + 7a79ce0 commit 9278cac

10 files changed

Lines changed: 171 additions & 120 deletions

File tree

src/dyn/Dynamics.cpp

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1129,7 +1129,6 @@ void propagate_electronic_kcrpmd(dyn_variables& dyn_var, nHamiltonian& Ham, dyn_
11291129
double a = prms.kcrpmd_a;
11301130
double b = prms.kcrpmd_b;
11311131
double c = prms.kcrpmd_c;
1132-
double d = prms.kcrpmd_d;
11331132
double eta = prms.kcrpmd_eta;
11341133
double gam = prms.kcrpmd_gamma;
11351134
double gamKP = prms.kcrpmd_gammaKP;
@@ -1146,7 +1145,7 @@ void propagate_electronic_kcrpmd(dyn_variables& dyn_var, nHamiltonian& Ham, dyn_
11461145
if(gamKP == 0.0){
11471146
p_aux_var[0] += 0.5 * f_aux_var[0] * dt;
11481147
y_aux_var[0] += p_aux_var[0] / m_aux_var[0] * dt;
1149-
f_aux_var[0] = (Ham.kcrpmd_effective_auxiliary_force(y_aux_var, beta, eta, a, b, c, d))[0];
1148+
f_aux_var[0] = (Ham.kcrpmd_effective_auxiliary_force(y_aux_var, beta, eta, a, b, c))[0];
11501149
p_aux_var[0] += 0.5 * f_aux_var[0] * dt;
11511150
}
11521151
else{
@@ -1158,7 +1157,7 @@ void propagate_electronic_kcrpmd(dyn_variables& dyn_var, nHamiltonian& Ham, dyn_
11581157
- 0.25 * (xi / 2.0 + theta / sqrt(3.0)) * gamKP * sigma * m_aux_var[0] * sqrt(pow(dt,3))
11591158
- 0.125 * gamKP * (f_aux_var[0] - gamKP * p_aux_var[0]) * pow(dt,2);
11601159
y_aux_var[0] += p_aux_var[0] / m_aux_var[0] * dt + 0.5 * theta / sqrt(3.0) * sigma * sqrt(pow(dt,3));
1161-
f_aux_var[0] = (Ham.kcrpmd_effective_auxiliary_force(y_aux_var, beta, eta, a, b, c, d))[0];
1160+
f_aux_var[0] = (Ham.kcrpmd_effective_auxiliary_force(y_aux_var, beta, eta, a, b, c))[0];
11621161
p_aux_var[0] += 0.5 * xi * sigma * m_aux_var[0] * sqrt(dt)
11631162
+ 0.5 * (f_aux_var[0] - gamKP * p_aux_var[0]) * dt
11641163
- 0.25 * (xi / 2.0 + theta / sqrt(3.0)) * gamKP * sigma * m_aux_var[0] * sqrt(pow(dt,3))
@@ -1169,7 +1168,7 @@ void propagate_electronic_kcrpmd(dyn_variables& dyn_var, nHamiltonian& Ham, dyn_
11691168
if(gam == 0.0){
11701169
p_aux_var[0] += 0.5 * f_aux_var[0] * dt;
11711170
y_aux_var[0] += p_aux_var[0] / m_aux_var[0] * dt;
1172-
f_aux_var[0] = (Ham.kcrpmd_effective_auxiliary_force(y_aux_var, beta, eta, a, b, c, d))[0];
1171+
f_aux_var[0] = (Ham.kcrpmd_effective_auxiliary_force(y_aux_var, beta, eta, a, b, c))[0];
11731172
p_aux_var[0] += 0.5 * f_aux_var[0] * dt;
11741173
}
11751174
else{
@@ -1181,7 +1180,7 @@ void propagate_electronic_kcrpmd(dyn_variables& dyn_var, nHamiltonian& Ham, dyn_
11811180
- 0.25 * (xi / 2.0 + theta / sqrt(3.0)) * gam * sigma * m_aux_var[0] * sqrt(pow(dt,3))
11821181
- 0.125 * gam * (f_aux_var[0] - gam * p_aux_var[0]) * pow(dt,2);
11831182
y_aux_var[0] += p_aux_var[0] / m_aux_var[0] * dt + 0.5 * theta / sqrt(3.0) * sigma * sqrt(pow(dt,3));
1184-
f_aux_var[0] = (Ham.kcrpmd_effective_auxiliary_force(y_aux_var, beta, eta, a, b, c, d))[0];
1183+
f_aux_var[0] = (Ham.kcrpmd_effective_auxiliary_force(y_aux_var, beta, eta, a, b, c))[0];
11851184
p_aux_var[0] += 0.5 * xi * sigma * m_aux_var[0] * sqrt(dt)
11861185
+ 0.5 * (f_aux_var[0] - gam * p_aux_var[0]) * dt
11871186
- 0.25 * (xi / 2.0 + theta / sqrt(3.0)) * gam * sigma * m_aux_var[0] * sqrt(pow(dt,3))

src/dyn/Energy_and_Forces.cpp

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

445443
// Adiabatic

src/dyn/dyn_control_params.cpp

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -89,8 +89,7 @@ dyn_control_params::dyn_control_params(){
8989
kcrpmd_eta = 6.28;
9090
kcrpmd_a = 0.1;
9191
kcrpmd_b = 1000.;
92-
kcrpmd_c = 0.5;
93-
kcrpmd_d = 3.0;
92+
kcrpmd_c = 1.0;
9493
kcrpmd_gamma = 0.0;
9594
kcrpmd_gammaKP = 0.0;
9695

@@ -210,7 +209,6 @@ dyn_control_params::dyn_control_params(const dyn_control_params& x){
210209
kcrpmd_a = x.kcrpmd_a;
211210
kcrpmd_b = x.kcrpmd_b;
212211
kcrpmd_c = x.kcrpmd_c;
213-
kcrpmd_d = x.kcrpmd_d;
214212
kcrpmd_gamma = x.kcrpmd_gamma;
215213
kcrpmd_gammaKP = x.kcrpmd_gammaKP;
216214

@@ -422,7 +420,6 @@ void dyn_control_params::set_parameters(bp::dict params){
422420
else if(key=="kcrpmd_a"){ kcrpmd_a = bp::extract<double>(params.values()[i]); }
423421
else if(key=="kcrpmd_b"){ kcrpmd_b = bp::extract<double>(params.values()[i]); }
424422
else if(key=="kcrpmd_c"){ kcrpmd_c = bp::extract<double>(params.values()[i]); }
425-
else if(key=="kcrpmd_d"){ kcrpmd_d = bp::extract<double>(params.values()[i]); }
426423
else if(key=="kcrpmd_gamma"){ kcrpmd_gamma = bp::extract<double>(params.values()[i]); }
427424
else if(key=="kcrpmd_gammaKP"){ kcrpmd_gammaKP = bp::extract<double>(params.values()[i]); }
428425

src/dyn/dyn_control_params.h

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -509,43 +509,37 @@ class dyn_control_params{
509509

510510
/**
511511
KC-RPMD free energy parameter eta
512-
Default: 6.28
512+
Default: 6.28 (dimensionless)
513513
*/
514514
double kcrpmd_eta;
515515

516516
/**
517517
KC-RPMD kinetic constraint parameter a
518-
Default: 0.1
518+
Default: 0.1 (dimensionless)
519519
*/
520520
double kcrpmd_a;
521521

522522
/**
523523
KC-RPMD heavy-side parameter b
524-
Default: 1000.
524+
Default: 1000. (dimensionless)
525525
*/
526526
double kcrpmd_b;
527527

528528
/**
529529
KC-RPMD kinetic constraint switching parameter c
530-
Default: 0.5
530+
Default: 1.0 (dimensionless)
531531
*/
532532
double kcrpmd_c;
533533

534-
/**
535-
KC-RPMD free energy switching parameter d
536-
Default: 3.0
537-
*/
538-
double kcrpmd_d;
539-
540534
/**
541535
KC-RPMD Langevin frictional coefficient within donor-acceptor basin
542-
Default: 0.0
536+
Default: 0.0 a.u. (inverse time)
543537
*/
544538
double kcrpmd_gamma;
545539

546540
/**
547541
KC-RPMD Langevin frictional coefficient within kinked-pair regime
548-
Default: 0.0
542+
Default: 0.0 a.u. (inverse time)
549543
*/
550544
double kcrpmd_gammaKP;
551545

0 commit comments

Comments
 (0)