Loading...
Searching...
No Matches
LowestEigenmode Class Reference

Base for eigenmode solvers. More...

#include <LowestEigenmode.h>

Inheritance diagram for LowestEigenmode:

Public Member Functions

 LowestEigenmode (std::shared_ptr< Potential > potPassed, const Parameters &parameters)
 ~LowestEigenmode ()=default

Public Attributes

long totalForceCalls {0}
double statsTorque {0.0}
double statsCurvature {0.0}
double statsAngle {0.0}
long statsRotations {0}
long totalIterations {0}

Static Public Attributes

static const char MINMODE_DIMER [] = "dimer"
static const char MINMODE_GPRDIMER [] = "gprdimer"
static const char MINMODE_LANCZOS [] = "lanczos"
static const char MINMODE_DAVIDSON [] = "davidson"

Protected Attributes

std::shared_ptr< Potentialpot
const Parametersparams

Detailed Description

Base for eigenmode solvers.

Holds shared state (pot, params, stats). Concrete classes (Dimer, ImprovedDimer, Lanczos, AtomicGPDimer) inherit this and provide compute(), getEigenvalue(), getEigenvector() as regular (non-virtual) member functions. Dispatch is via std::variant (EigenmodeStrategy) rather than virtual dispatch.

Definition at line 25 of file LowestEigenmode.h.

Constructor & Destructor Documentation

◆ LowestEigenmode()

eonc::LowestEigenmode::LowestEigenmode ( std::shared_ptr< Potential > potPassed,
const Parameters & parameters )
inline

Definition at line 42 of file LowestEigenmode.h.

44 : pot{potPassed},
45 params{parameters} {}
const Parameters & params
std::shared_ptr< Potential > pot

◆ ~LowestEigenmode()

Member Data Documentation

◆ MINMODE_DAVIDSON

const char LowestEigenmode::MINMODE_DAVIDSON = "davidson"
static

Definition at line 40 of file LowestEigenmode.h.

◆ MINMODE_DIMER

const char LowestEigenmode::MINMODE_DIMER = "dimer"
static

Definition at line 37 of file LowestEigenmode.h.

◆ MINMODE_GPRDIMER

const char LowestEigenmode::MINMODE_GPRDIMER = "gprdimer"
static

Definition at line 38 of file LowestEigenmode.h.

◆ MINMODE_LANCZOS

const char LowestEigenmode::MINMODE_LANCZOS = "lanczos"
static

Definition at line 39 of file LowestEigenmode.h.

◆ params

Definition at line 28 of file LowestEigenmode.h.

◆ pot

std::shared_ptr<Potential> eonc::LowestEigenmode::pot
protected

Definition at line 27 of file LowestEigenmode.h.

◆ statsAngle

Definition at line 34 of file LowestEigenmode.h.

34{0.0};

◆ statsCurvature

Definition at line 33 of file LowestEigenmode.h.

33{0.0};

◆ statsRotations

Definition at line 35 of file LowestEigenmode.h.

35{0};

◆ statsTorque

Definition at line 32 of file LowestEigenmode.h.

32{0.0};

◆ totalForceCalls

Definition at line 31 of file LowestEigenmode.h.

31{0};

◆ totalIterations

Definition at line 36 of file LowestEigenmode.h.

36{0};

The documentation for this class was generated from the following files: