![]() |
#include <dynamMetric.h>
Public Member Functions | |
dynamMetric (int dim) | |
virtual double | tau ()=0 |
Return the quadratic form of the kinetic energy. | |
double | phi () |
Return the pseudo-potential. | |
void | setMaxNumFixedPoint (int n) |
Set the maximum number of fixed-point iterations for implicit updates. | |
void | setFixedPointThreshold (double t) |
Set the difference threshold for terminating fixed-point iterations. | |
void | evolveQ (const double epsilon) |
Evolve the position through some time epsilon. | |
void | beginEvolveP (const double epsilon) |
Evolve the momenta through an initial half step of time epsilon. | |
void | finishEvolveP (const double epsilon) |
Evolve the momenta through a final half step of time epsilon. | |
virtual void | prepareEvolution () |
Protected Member Functions | |
virtual void | fComputeMetric ()=0 |
Compute the metric at the current position. | |
virtual void | fUpdateP () |
Update any momenta-dependent auxiliary terms. | |
virtual void | fPrepareSpatialGradients () |
virtual void | fHatT (const double epsilon) |
Evolve
. | |
virtual void | fHatTau (const double epsilon, const int numFixedPoint) |
void | fHatPhi (const double epsilon) |
virtual VectorXd & | dTaudp ()=0 |
Gradient of the quadrtic form with respect to the momenta. | |
virtual VectorXd & | dTaudq ()=0 |
Gradient of the quadratic form with respect to the position. | |
virtual VectorXd & | dPhidq ()=0 |
Gradient of the psuedo-potential with respect to the momenta. | |
Protected Attributes | |
int | mMaxNumFixedPoint |
Maximum number of fixed-point iterations for implicit updates. | |
double | mFixedPointThreshold |
Difference threshold for terminating fixed-point iterations. | |
VectorXd | mAuxVector |
Auxiliary vector for storing various gradients. | |
VectorXd | mInit |
Auxiliary vector for fixed-point iterations. | |
VectorXd | mDelta |
Auxiliary vector for fixed-point iteration termination criteria. | |
double | mLogDetMetric |
Log determinant of the metric. |
Abstract base class defining the interface for a Hamiltonian defined on a Riemannian manifold, , where
and
The Poisson operators are defined as
where
and
dynamMetric::dynamMetric | ( | int | dim | ) | [explicit] |
Constructor
dim | Dimension of the target space |
void dynamMetric::fHatPhi | ( | const double | epsilon | ) | [protected] |
Evolve
void dynamMetric::fHatTau | ( | const double | epsilon, |
const int | numFixedPoint | ||
) | [protected, virtual] |
Evolve
virtual void dynamMetric::fPrepareSpatialGradients | ( | ) | [inline, protected, virtual] |
Update any position-dependent auxiliary terms in preparation for spatial gradients
Reimplemented in diagOuterSoftAbsMetric, diagSoftAbsMetric, outerSoftAbsMetric, and softAbsMetric.
virtual void dynamMetric::prepareEvolution | ( | ) | [inline, virtual] |
Perform any necessary calculations before simulation Hamiltonian dynamics
Reimplemented from baseHamiltonian.
Reimplemented in denseFisherMetric, and outerSoftAbsMetric.