LOOS  v2.3.2
ENM::VSA Class Reference

Vibrational subsystem analysis ENM. More...

#include <vsa-lib.hpp>

Inheritance diagram for ENM::VSA:
Collaboration diagram for ENM::VSA:

Public Member Functions

 VSA (SuperBlock *blocker, const uint subn)
 Constructor for VSA without masses. More...
 
 VSA (SuperBlock *blocker, const uint subn, const loos::DoubleMatrix &M)
 Constructor for VSA with masses. More...
 
void solve ()
 Computes the hessian and solves for the eigenpairs.
 
void setMasses (const loos::DoubleMatrix &M)
 Sets the mass matrix and determines what kind of VSA calc to use. More...
 
void free ()
 Free up internal storage...
 
- Public Member Functions inherited from ENM::ElasticNetworkModel
 ElasticNetworkModel (SuperBlock *blocker)
 Base constructor for all ENMs. More...
 
void setSuperBlockFunction (SuperBlock *p)
 
void prefix (const std::string &s)
 Filename prefix when we have to write something out.
 
std::string prefix () const
 
void meta (const std::string &s)
 Any metadata that gets added to matrices written out.
 
std::string meta () const
 
void debugging (const bool b)
 Debugging flag (generally means write out all intermediate matrices)
 
bool debugging () const
 
void verbosity (const int i)
 How wordy are we?
 
int verbosity () const
 
SpringFunction::Params setParams (const SpringFunction::Params &v)
 Forwards to contained superblock.
 
bool validParams () const
 Forwards to contained superblock.
 
uint paramSize () const
 Forwards to contained superblock.
 
const loos::DoubleMatrixeigenvectors () const
 Accessors for eigenpairs and hessian.
 
const loos::DoubleMatrixeigenvalues () const
 Accessors for eigenpairs and hessian.
 
const loos::DoubleMatrixhessian () const
 Accessors for eigenpairs and hessian.
 

Additional Inherited Members

- Protected Member Functions inherited from ENM::ElasticNetworkModel
void buildHessian ()
 Construct the hessian using the contained SuperBlock. More...
 
- Protected Attributes inherited from ENM::ElasticNetworkModel
SuperBlockblocker_
 
std::string name_
 
std::string prefix_
 
std::string meta_
 
bool debugging_
 
int verbosity_
 
loos::DoubleMatrix eigenvecs_
 
loos::DoubleMatrix eigenvals_
 
loos::DoubleMatrix hessian_
 

Detailed Description

Vibrational subsystem analysis ENM.

References:

The VSA class expects that the list of nodes contained in the passed SuperBlock instance represents the combined system, i.e. subsystem and environment. The first subn nodes are the subsystem.

Definition at line 59 of file vsa-lib.hpp.

Constructor & Destructor Documentation

ENM::VSA::VSA ( SuperBlock blocker,
const uint  subn 
)
inline

Constructor for VSA without masses.

Arguments:

  • blocker Determines how the Hessian is built
  • subn The number of nodes in the subsystem

Definition at line 68 of file vsa-lib.hpp.

ENM::VSA::VSA ( SuperBlock blocker,
const uint  subn,
const loos::DoubleMatrix M 
)
inline

Constructor for VSA with masses.

Arguments:

  • c blocker Determines how the Hessian is built
  • c subn The number of nodes in the subsystem
  • c M Diagonal 3N x 3N matrix of node masses

Definition at line 80 of file vsa-lib.hpp.

Member Function Documentation

void ENM::VSA::setMasses ( const loos::DoubleMatrix M)
inline

Sets the mass matrix and determines what kind of VSA calc to use.

Setting the mass matrix to an initialized matrix implies that VSA will use the mass-VSA version. On the other hand, setting the matrix to a default, uninitialized matrix will switch to the mass-less VSA:

vsa.setMasses(DoubleMatrix());

Definition at line 100 of file vsa-lib.hpp.


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