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::SuperBlock Class Reference

This class creates superblocks in a hessian. More...

#include <hessian.hpp>

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

Public Member Functions

 SuperBlock (SpringFunction *func, const loos::AtomicGroup &nodelist)
 Constructor taking a spring function and a list of nodes.
 
 SuperBlock (const SuperBlock &b)
 
uint size () const
 
virtual SpringFunction::Params setParams (const SpringFunction::Params &v)
 Forwards to the contained SpringFunction...
 
virtual bool validParams () const
 Forwards to the contained SpringFunction...
 
virtual uint paramSize () const
 Forwards to the contained SpringFunction...
 
virtual loos::DoubleMatrix block (const uint j, const uint i)
 Returns a 3x3 matrix representing a superblock in the Hessian for the two nodes.
 

Protected Member Functions

loos::DoubleMatrix blockImpl (const uint j, const uint i, SpringFunction *fptr)
 Implementation of the superblock calculation.
 

Protected Attributes

SpringFunctionsprings
 
loos::AtomicGroup nodes
 

Detailed Description

This class creates superblocks in a hessian.

This is the base class for defining elements (superblocks) in the Hessian. Note that this class does NOT use NVI, so derived classes should verify that they have valid args for the block() function.

Constructor & Destructor Documentation

◆ SuperBlock()

ENM::SuperBlock::SuperBlock ( SpringFunction * func,
const loos::AtomicGroup & nodelist )
inline

Constructor taking a spring function and a list of nodes.

Arguments:

  • func SpringFunction to use to determine spring constants between nodes
  • nodelist List of nodes in the model

For example, to compute a hessian using the HCA method,

SuperBlock *blocker = new SuperBlock(spring, model);
HCA method (bimodal distance-based function)
Definition spring_functions.hpp:284
Interface for ENM spring functions.
Definition spring_functions.hpp:75
This class creates superblocks in a hessian.
Definition hessian.hpp:52
Simple matrix template class using policy classes to determine behavior.
Definition MatrixImpl.hpp:148

Member Function Documentation

◆ block()

virtual loos::DoubleMatrix ENM::SuperBlock::block ( const uint j,
const uint i )
inlinevirtual

Returns a 3x3 matrix representing a superblock in the Hessian for the two nodes.

Reimplemented in ENM::BoundSuperBlock.

◆ blockImpl()

loos::DoubleMatrix ENM::SuperBlock::blockImpl ( const uint j,
const uint i,
SpringFunction * fptr )
inlineprotected

Implementation of the superblock calculation.

This is the actual implementation of the SuperBlock calculation. In most cases, derived clases will probably want to use this but with alternative spring functions...

◆ paramSize()

virtual uint ENM::SuperBlock::paramSize ( ) const
inlinevirtual

Forwards to the contained SpringFunction...

Reimplemented in ENM::BoundSuperBlock.

◆ setParams()

virtual SpringFunction::Params ENM::SuperBlock::setParams ( const SpringFunction::Params & v)
inlinevirtual

Forwards to the contained SpringFunction...

Reimplemented in ENM::BoundSuperBlock.

◆ validParams()

virtual bool ENM::SuperBlock::validParams ( ) const
inlinevirtual

Forwards to the contained SpringFunction...

Reimplemented in ENM::BoundSuperBlock.


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