1#ifndef RPG_PERTURBATION_TPP
2#define RPG_PERTURBATION_TPP
4#include "Perturbation.h"
5#include <rpg/fts/simulator/Simulator.h>
6#include <prdc/cuda/RField.h>
8#include <util/containers/DArray.h>
23 simulatorPtr_(&simulator),
24 systemPtr_(&(simulator.system()))
Field of real double precision values on an FFT mesh.
virtual void incrementDc(DArray< RField< D > > &dc)
Modify the generalized forces to include perturbation.
void setLambda(double lambda)
Set the perturbation parameter value.
virtual double df()
Compute and return derivative of H w/ respect to parameter lambda.
virtual ~Perturbation()
Destructor.
virtual void saveState()
Save any required internal state variables.
virtual void readParameters(std::istream &in)
Read parameters from archive.
virtual double hamiltonian(double unperturbedHamiltonian)
Compute and return the perturbation to the Hamiltonian.
Perturbation(Simulator< D > &simulator)
Constructor.
virtual void setup()
Complete any required initialization.
virtual void restoreState()
Restore any required internal state variables.
Field theoretic simulator (base class).
Dynamically allocatable contiguous array template.
An object that can read multiple parameters from file.
File containing preprocessor macros for error handling.
PSCF package top-level namespace.
Utility classes for scientific computation.