Loading...
Searching...
No Matches
EigenmodeStrategy.h File Reference
#include "Davidson.h"
#include "Dimer.h"
#include "ImprovedDimer.h"
#include "Lanczos.h"
#include "LowestEigenmode.h"
#include <stdexcept>
#include <variant>

Go to the source code of this file.

Namespaces

namespace  eonc
 RAII resource manager for the ARTn C library with global synchronization.

Typedefs

using eonc::EigenmodeStrategy = std::variant<Dimer, ImprovedDimer, Lanczos, Davidson>
using EigenmodeStrategy

Functions

std::shared_ptr< EigenmodeStrategyeonc::buildEigenmodeStrategy (std::shared_ptr< Matter > matter, const Parameters &params, std::shared_ptr< Potential > pot)
 Build the eigenmode solver from parameters.
void eonc::eigenmodeCompute (EigenmodeStrategy &s, std::shared_ptr< Matter > matter, AtomMatrix direction)
 Dispatch compute() to the active variant.
double eonc::eigenmodeGetEigenvalue (EigenmodeStrategy &s)
 Dispatch getEigenvalue() to the active variant.
AtomMatrix eonc::eigenmodeGetEigenvector (EigenmodeStrategy &s)
 Dispatch getEigenvector() to the active variant.
ImprovedDimereonc::asImprovedDimer (EigenmodeStrategy &s)
 Access ImprovedDimer-specific features.
long eonc::eigenmodeTotalForceCalls (EigenmodeStrategy &s)
 Read stats from any variant (all inherit LowestEigenmode stats fields).
double eonc::eigenmodeStatsTorque (EigenmodeStrategy &s)
double eonc::eigenmodeStatsAngle (EigenmodeStrategy &s)
long eonc::eigenmodeStatsRotations (EigenmodeStrategy &s)
long eonc::eigenmodeTotalIterations (EigenmodeStrategy &s)

Typedef Documentation

◆ EigenmodeStrategy

Definition at line 32 of file EigenmodeStrategy.h.