1#ifndef RP_PERTURBATION_TPP
2#define RP_PERTURBATION_TPP
8#include "Perturbation.h"
9#include <util/containers/DArray.h>
20 template <
int D,
class T>
31 template <
int D,
class T>
38 template <
int D,
class T>
45 template <
int D,
class T>
52 template <
int D,
class T>
59 template <
int D,
class T>
66 template <
int D,
class T>
73 template <
int D,
class T>
80 template <
int D,
class T>
double lambda() const
Get the perturbation parameter.
T::System const & system() const
Get parent typename T::System by const reference.
virtual double df()
Compute and return derivative of H w/ respect to parameter lambda.
double lambda_
Strength of the perturbation.
virtual void restoreState()
Restore any required internal state variables.
virtual double hamiltonian(double unperturbedHamiltonian)
Compute and return the perturbation to the Hamiltonian.
void setLambda(double lambda)
Set the perturbation parameter value.
Perturbation(typename T::Simulator &simulator)
Constructor.
T::Simulator const & simulator() const
Get parent typename T::Simulator by const reference.
virtual void incrementDc(DArray< typename T::RField > &dc)
Modify the generalized forces to include perturbation.
virtual void setup()
Complete any required initialization.
virtual void saveState()
Save any required internal state variables.
virtual void readParameters(std::istream &in)
Read parameters from archive.
ParamComposite()
Constructor.
File containing preprocessor macros for error handling.
Class templates for real-valued periodic fields.
PSCF package top-level namespace.