@@ -79,7 +79,7 @@ Notice that \f$p=0.06022140857\f$ corresponds to 1 bar when using the default PL
79
79
*/
80
80
// +ENDPLUMEDOC
81
81
82
- class ECVmultiCanonical :
82
+ class ECVmultiThermal :
83
83
public ExpansionCVs
84
84
{
85
85
private:
@@ -90,7 +90,7 @@ class ECVmultiCanonical :
90
90
void initECVs ();
91
91
92
92
public:
93
- explicit ECVmultiCanonical (const ActionOptions&);
93
+ explicit ECVmultiThermal (const ActionOptions&);
94
94
static void registerKeywords (Keywords& keys);
95
95
void calculateECVs (const double *) override ;
96
96
const double * getPntrToECVs (unsigned ) override ;
@@ -100,9 +100,9 @@ class ECVmultiCanonical :
100
100
void initECVs_restart (const std::vector<std::string>&) override ;
101
101
};
102
102
103
- PLUMED_REGISTER_ACTION (ECVmultiCanonical ," ECV_MULTITHERMAL" )
103
+ PLUMED_REGISTER_ACTION (ECVmultiThermal ," ECV_MULTITHERMAL" )
104
104
105
- void ECVmultiCanonical ::registerKeywords (Keywords& keys)
105
+ void ECVmultiThermal ::registerKeywords (Keywords& keys)
106
106
{
107
107
ExpansionCVs::registerKeywords (keys);
108
108
keys.remove (" ARG" );
@@ -114,7 +114,7 @@ void ECVmultiCanonical::registerKeywords(Keywords& keys)
114
114
keys.addFlag (" NO_GEOM_SPACING" ,false ," do not use geometrical spacing in temperature, but instead linear spacing in inverse temperature" );
115
115
}
116
116
117
- ECVmultiCanonical::ECVmultiCanonical (const ActionOptions&ao)
117
+ ECVmultiThermal::ECVmultiThermal (const ActionOptions&ao)
118
118
: Action(ao)
119
119
, ExpansionCVs(ao)
120
120
, todoAutomatic_(false )
@@ -188,28 +188,28 @@ ECVmultiCanonical::ECVmultiCanonical(const ActionOptions&ao)
188
188
log .printf (" -- NO_GEOM_SPACING: inverse temperatures will be linearly spaced\n " );
189
189
}
190
190
191
- void ECVmultiCanonical ::calculateECVs (const double * ene)
191
+ void ECVmultiThermal ::calculateECVs (const double * ene)
192
192
{
193
193
for (unsigned k=0 ; k<derECVs_.size (); k++)
194
194
ECVs_[k]=derECVs_[k]*ene[0 ];
195
195
// derivatives never change: derECVs_k=(beta_k-beta0)
196
196
}
197
197
198
- const double * ECVmultiCanonical ::getPntrToECVs (unsigned j)
198
+ const double * ECVmultiThermal ::getPntrToECVs (unsigned j)
199
199
{
200
200
plumed_massert (isReady_," cannot access ECVs before initialization" );
201
201
plumed_massert (j==0 ,getName ()+" has only one CV, the ENERGY" );
202
202
return &ECVs_[0 ];
203
203
}
204
204
205
- const double * ECVmultiCanonical ::getPntrToDerECVs (unsigned j)
205
+ const double * ECVmultiThermal ::getPntrToDerECVs (unsigned j)
206
206
{
207
207
plumed_massert (isReady_," cannot access ECVs before initialization" );
208
208
plumed_massert (j==0 ,getName ()+" has only one CV, the ENERGY" );
209
209
return &derECVs_[0 ];
210
210
}
211
211
212
- std::vector<std::string> ECVmultiCanonical ::getLambdas () const
212
+ std::vector<std::string> ECVmultiThermal ::getLambdas () const
213
213
{
214
214
plumed_massert (!todoAutomatic_," cannot access lambdas before initializing them" );
215
215
const double temp0=kbt_/plumed.getAtoms ().getKBoltzmann ();
@@ -223,7 +223,7 @@ std::vector<std::string> ECVmultiCanonical::getLambdas() const
223
223
return lambdas;
224
224
}
225
225
226
- void ECVmultiCanonical ::initECVs ()
226
+ void ECVmultiThermal ::initECVs ()
227
227
{
228
228
plumed_massert (!isReady_," initialization should not be called twice" );
229
229
plumed_massert (!todoAutomatic_," this should not happen" );
@@ -233,7 +233,7 @@ void ECVmultiCanonical::initECVs()
233
233
log .printf (" *%4lu temperatures for %s\n " ,derECVs_.size (),getName ().c_str ());
234
234
}
235
235
236
- void ECVmultiCanonical ::initECVs_observ (const std::vector<double >& all_obs_cvs,const unsigned ncv,const unsigned index_j)
236
+ void ECVmultiThermal ::initECVs_observ (const std::vector<double >& all_obs_cvs,const unsigned ncv,const unsigned index_j)
237
237
{
238
238
if (todoAutomatic_) // estimate the steps in beta from observations
239
239
{
@@ -250,7 +250,7 @@ void ECVmultiCanonical::initECVs_observ(const std::vector<double>& all_obs_cvs,c
250
250
calculateECVs (&all_obs_cvs[index_j]);
251
251
}
252
252
253
- void ECVmultiCanonical ::initECVs_restart (const std::vector<std::string>& lambdas)
253
+ void ECVmultiThermal ::initECVs_restart (const std::vector<std::string>& lambdas)
254
254
{
255
255
std::size_t pos=lambdas[0 ].find (" _" );
256
256
plumed_massert (pos==std::string::npos," this should not happen, only one CV is used in " +getName ());
0 commit comments