#include "gromacs/utility/exceptions.h"
#include "gromacs/utility/keyvaluetreebuilder.h"
#include "gromacs/utility/keyvaluetreetransform.h"
+#include "gromacs/utility/mdmodulenotification.h"
#include "gromacs/utility/strconvert.h"
#include "densityfittingamplitudelookup.h"
[](const KeyValueTreeValue &val) { return val.cast<std::int64_t>(); });
}
+void DensityFittingOptions::checkEnergyCaluclationFrequency(EnergyCalculationFrequencyErrors * energyCalculationFrequencyErrors) const
+{
+ if (energyCalculationFrequencyErrors->energyCalculationIntervalInSteps() % parameters_.calculationIntervalInSteps_ != 0)
+ {
+ energyCalculationFrequencyErrors->addError("nstcalcenergy (" +
+ toString(energyCalculationFrequencyErrors->energyCalculationIntervalInSteps())
+ + ") is not a multiple of " + DensityFittingModuleInfo::name_ + "-" + c_everyNStepsTag_
+ + " (" + toString(parameters_.calculationIntervalInSteps_) + ") .");
+ }
+}
+
const std::string &DensityFittingOptions::referenceDensityFileName() const
{
return referenceDensityFileName_;