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 MatrixgetNewtonMatrix () const
 Returns the element-level Newton matrix.
 
virtual const VectorgetRHSVector () 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 Vectordis (bool prev=false) const
 Returns a const reference to current/previous displacement vector.
 
const Vectorvel (bool prev=false) const
 Returns a const reference to current/previous velocity vector.
 
const Vectoracc (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 LocalIntegralref () 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< MatrixA
 The element coefficient matrices.
 
std::vector< Vectorb
 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: