LOOS 4.1.0
The Lightweight Object Oriented Structural analysis library/toolkit
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
ENM::ElasticNetworkModel Class Referenceabstract

Interface for all ENMs. More...

#include <enm-lib.hpp>

Inheritance diagram for ENM::ElasticNetworkModel:
Inheritance graph
[legend]
Collaboration diagram for ENM::ElasticNetworkModel:
Collaboration graph
[legend]

Public Member Functions

 ElasticNetworkModel (SuperBlock *blocker)
 Base constructor for all ENMs.
 
void setSuperBlockFunction (SuperBlock *p)
 
virtual void solve ()=0
 Computes the hessian and solves for the eigenpairs.
 
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.
 

Protected Member Functions

void buildHessian ()
 Construct the hessian using the contained SuperBlock.
 

Protected Attributes

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

Interface for all ENMs.

Constructor & Destructor Documentation

◆ ElasticNetworkModel()

ENM::ElasticNetworkModel::ElasticNetworkModel ( SuperBlock * blocker)
inline

Base constructor for all ENMs.

The blocker arg determines how the hessian is actually constructed, i.e. what nodes are used and how the spring function between them is calculated.

Member Function Documentation

◆ buildHessian()

void ENM::ElasticNetworkModel::buildHessian ( )
protected

Construct the hessian using the contained SuperBlock.

It is not expected that subclasses will want to override this... Uses the contained SuperBlock to build a hessian

◆ solve()

virtual void ENM::ElasticNetworkModel::solve ( )
pure virtual

Computes the hessian and solves for the eigenpairs.

Implemented in ENM::ANM, and ENM::VSA.


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