Loading...
Searching...
No Matches
eonc::LowestEigenmode Class Referenceabstract

Base for eigenmode solvers. More...

#include <LowestEigenmode.h>

Inheritance diagram for eonc::LowestEigenmode:

Public Member Functions

 LowestEigenmode (std::shared_ptr< Potential > potPassed, const Parameters &parameters)
virtual ~LowestEigenmode ()=default
virtual void compute (std::shared_ptr< Matter > matter, AtomMatrix initialDirection)=0
virtual double getEigenvalue ()=0
virtual AtomMatrix getEigenvector ()=0

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< Potential > pot
const Parameters & params

Detailed Description

Base for eigenmode solvers.

Holds shared state (pot, params, stats). Dispatch is virtual so EigenmodeStrategy does not change layout when WITH_GPRD adds AtomicGPDimer.

Definition at line 23 of file LowestEigenmode.h.

Constructor & Destructor Documentation

◆ LowestEigenmode()

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

Definition at line 40 of file LowestEigenmode.h.

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

◆ ~LowestEigenmode()

virtual eonc::LowestEigenmode::~LowestEigenmode ( )
virtualdefault

Member Function Documentation

◆ compute()

virtual void eonc::LowestEigenmode::compute ( std::shared_ptr< Matter > matter,
AtomMatrix initialDirection )
pure virtual

◆ getEigenvalue()

virtual double eonc::LowestEigenmode::getEigenvalue ( )
pure virtual

◆ getEigenvector()

virtual AtomMatrix eonc::LowestEigenmode::getEigenvector ( )
pure virtual

Member Data Documentation

◆ MINMODE_DAVIDSON

const char eonc::LowestEigenmode::MINMODE_DAVIDSON = "davidson"
static

Definition at line 38 of file LowestEigenmode.h.

◆ MINMODE_DIMER

const char eonc::LowestEigenmode::MINMODE_DIMER = "dimer"
static

Definition at line 35 of file LowestEigenmode.h.

◆ MINMODE_GPRDIMER

const char eonc::LowestEigenmode::MINMODE_GPRDIMER = "gprdimer"
static

Definition at line 36 of file LowestEigenmode.h.

◆ MINMODE_LANCZOS

const char eonc::LowestEigenmode::MINMODE_LANCZOS = "lanczos"
static

Definition at line 37 of file LowestEigenmode.h.

◆ params

const Parameters& eonc::LowestEigenmode::params
protected

Definition at line 26 of file LowestEigenmode.h.

◆ pot

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

Definition at line 25 of file LowestEigenmode.h.

◆ statsAngle

double eonc::LowestEigenmode::statsAngle {0.0}

Definition at line 32 of file LowestEigenmode.h.

32{0.0};

◆ statsCurvature

double eonc::LowestEigenmode::statsCurvature {0.0}

Definition at line 31 of file LowestEigenmode.h.

31{0.0};

◆ statsRotations

long eonc::LowestEigenmode::statsRotations {0}

Definition at line 33 of file LowestEigenmode.h.

33{0};

◆ statsTorque

double eonc::LowestEigenmode::statsTorque {0.0}

Definition at line 30 of file LowestEigenmode.h.

30{0.0};

◆ totalForceCalls

long eonc::LowestEigenmode::totalForceCalls {0}

Definition at line 29 of file LowestEigenmode.h.

29{0};

◆ totalIterations

long eonc::LowestEigenmode::totalIterations {0}

Definition at line 34 of file LowestEigenmode.h.

34{0};

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