IFEM  90A354
Public Member Functions | Private Attributes | List of all members
HHTMats Class Reference

Class representing the element matrices for a dynamic FEM problem based on Hilber-Hughes-Taylor time integration. More...

#include <HHTMats.h>

Inheritance diagram for HHTMats:
Inheritance graph
[legend]
Collaboration diagram for HHTMats:
Collaboration graph
[legend]

Public Member Functions

 HHTMats (double alpha, double a, double b, bool old=false)
 The constructor initializes the time integration parameters.
 
virtual ~HHTMats ()
 Empty destructor.
 
virtual const Matrix & getNewtonMatrix () const
 Returns the element-level Newton matrix.
 
virtual const Vector & getRHSVector () const
 Returns the element-level right-hand-side vector.
 
- Public Member Functions inherited from NewmarkMats
 NewmarkMats (double a1, double a2, double b=0.0, double c=0.0, bool generalizedAlpha=false)
 The constructor initializes the time integration parameters. More...
 
virtual ~NewmarkMats ()
 Empty destructor.
 
virtual void setStepSize (double dt, int it)
 Updates the time step size and the isPredictor flag. More...
 
const Vector & dis (bool prev=false) const
 Returns a const reference to current/previous displacement vector.
 
const Vector & vel (bool prev=false) const
 Returns a const reference to current/previous velocity vector.
 
const Vector & acc (bool prev=false) const
 Returns a const reference to current/previous velocity vector.
 
- Public Member Functions inherited from ElmMats
 ElmMats (bool lhs=true)
 Default constructor.
 
virtual ~ElmMats ()
 Empty destructor.
 
void resize (size_t nA, size_t nB, size_t nC=0)
 Defines the number of element matrices and vectors. More...
 
void redim (size_t ndim)
 Sets the dimension of the element matrices and vectors. More...
 
virtual bool empty () const
 Checks if the element matrices are empty.
 
void printMat (std::ostream &os, size_t idx=0, const char *prefix=nullptr) const
 Prints element matrix idx to output stream os.
 
void printVec (std::ostream &os, size_t idx=0, const char *prefix=nullptr) const
 Prints element vector idx to output stream os.
 
void printScl (std::ostream &os, size_t idx=0, const char *prefix=nullptr) const
 Prints element scalar idx to output stream os.
 
- Public Member Functions inherited from LocalIntegral
virtual ~LocalIntegral ()
 Empty destructor.
 
virtual void destruct ()
 Virtual destruction method to clean up after numerical integration.
 
virtual const LocalIntegral * ref () const
 Returns the LocalIntegral object to assemble into the global one.
 
void getSolution (size_t nsd, size_t nen, Matrix *u=nullptr, Matrix *v=nullptr, Matrix *a=nullptr, bool forceCurrent=false) const
 Extracts element solution vectors as nsd by nen matrices. More...
 

Private Attributes

bool oldHHT
 If true, used together with NewmarkNLSIM.
 

Additional Inherited Members

- Public Attributes inherited from ElmMats
std::vector< Matrix > A
 The element coefficient matrices.
 
std::vector< Vector > b
 The element right-hand-side vectors.
 
std::vector< double > c
 The scalar quantities.
 
std::vector< const char * > Aname
 Matrix names (for debug print)
 
std::vector< const char * > Bname
 Vector names (for debug print)
 
std::vector< const char * > Cname
 Scalar names (for debug print)
 
bool rhsOnly
 If true, only the right-hand-sides are assembled.
 
bool withLHS
 If true, left-hand-side element matrices are present.
 
- Public Attributes inherited from LocalIntegral
Vectors vec
 Element-level primary solution vectors.
 
- Protected Member Functions inherited from LocalIntegral
 LocalIntegral ()
 The default constructor is protected to allow sub-classes only.
 
- Protected Attributes inherited from NewmarkMats
bool isPredictor
 If true, we are in the predictor step.
 
double h
 Time step size.
 
double alpha1
 Mass-proportional damping coefficient.
 
double alpha2
 Stiffness-proportional damping coefficient.
 
double beta
 Newmark time integration parameter, β.
 
double gamma
 Newmark time integration parameter, γ.
 

Detailed Description

Class representing the element matrices for a dynamic FEM problem based on Hilber-Hughes-Taylor time integration.


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