|
PSCF v1.4.0
|
Perturbation for Einstein crystal thermodynamic integration. More...
#include <EinsteinCrystalPerturbation.h>
Public Member Functions | |
| virtual void | readParameters (std::istream &in) |
| Read body of parameter file block and initialize. | |
| virtual void | setup () |
| Complete any required initialization. | |
| virtual double | hamiltonian (double unperturbedHamiltonian) |
| Compute and return the perturbation to the Hamiltonian. | |
| virtual void | incrementDc (DArray< typename T::RField > &dc) |
| Modify the generalized forces to include perturbation. | |
| virtual double | df () |
| Compute and return derivative of free energy w/ respect to lambda. | |
| virtual void | saveState () |
| Save any required internal state variables. | |
| virtual void | restoreState () |
| Restore any required internal state variables. | |
Protected Member Functions | |
| EinsteinCrystalPerturbation (typename T::Simulator &simulator) | |
| Constructor. | |
| ~EinsteinCrystalPerturbation ()=default | |
| Destructor. | |
Perturbation for Einstein crystal thermodynamic integration.
Specializations of this class template are used as base classes for two analogous class templates, also named EinsteinCrystalPerturbation, that are defined in Rpc and Rpg namespaces for use in the pscf_rpc and pscf_rpg programs, respectively.
Template parameters:
Definition at line 30 of file fts/perturbation/EinsteinCrystalPerturbation.h.
|
protected |
Constructor.
| simulator | parent Simulator object |
Definition at line 25 of file EinsteinCrystalPerturbation.tpp.
References Util::ParamComposite::setClassName().
|
protecteddefault |
Destructor.
|
virtual |
Read body of parameter file block and initialize.
| in | input parameter file stream |
Definition at line 39 of file EinsteinCrystalPerturbation.tpp.
References Util::ParamComposite::read().
|
virtual |
Complete any required initialization.
Definition at line 62 of file EinsteinCrystalPerturbation.tpp.
|
virtual |
Compute and return the perturbation to the Hamiltonian.
| unperturbedHamiltonian | Hamiltonian without perturbation |
Definition at line 106 of file EinsteinCrystalPerturbation.tpp.
References Pscf::VecOp::subVV(), and Pscf::Reduce::sumSq().
|
virtual |
Modify the generalized forces to include perturbation.
| dc | functional derivatives of Hamiltonian (in/out) |
Definition at line 139 of file EinsteinCrystalPerturbation.tpp.
References Pscf::VecOp::addEqVc(), Pscf::VecOp::mulEqS(), and Pscf::VecOp::subVV().
|
virtual |
Compute and return derivative of free energy w/ respect to lambda.
Definition at line 163 of file EinsteinCrystalPerturbation.tpp.
|
virtual |
Save any required internal state variables.
Definition at line 170 of file EinsteinCrystalPerturbation.tpp.
|
virtual |
Restore any required internal state variables.
Definition at line 180 of file EinsteinCrystalPerturbation.tpp.