Class for defining how the static/dynamic analysis between two steps is going to be performed. More...
#include <Integrator.hpp>

Public Member Functions | |
| Integrator (const std::shared_ptr< Mesh > &mesh) | |
| Creates a Integrator object. More... | |
| virtual | ~Integrator ()=0 |
| Destroys this Integrator object. More... | |
| virtual void | Initialize (std::shared_ptr< Mesh > &mesh)=0 |
| Initialize model matrices. More... | |
| virtual void | SetLoadCombination (std::shared_ptr< LoadCombo > &combo)=0 |
| Set the load combination. More... | |
| virtual void | SetAlgorithm (std::shared_ptr< Algorithm > &algorithm)=0 |
| Sets the integrator for this algorithm. More... | |
| virtual const Eigen::VectorXd & | GetDisplacements ()=0 |
| Gets the displacement vector. More... | |
| virtual const Eigen::VectorXd & | GetVelocities ()=0 |
| Gets the velocity vector. More... | |
| virtual const Eigen::VectorXd & | GetAccelerations ()=0 |
| Gets the acceleration vector. More... | |
| virtual const Eigen::VectorXd & | GetPMLHistoryVector ()=0 |
| Gets the perfectly-matched layer history vector. More... | |
| virtual bool | ComputeNewStep (std::shared_ptr< Mesh > &mesh, unsigned int k=0)=0 |
| Computes a new time step. More... | |
| virtual Eigen::VectorXd | ComputeReactionForce (std::shared_ptr< Mesh > &mesh, unsigned int k=0)=0 |
| Gets the reaction force ins this step. More... | |
| virtual Eigen::VectorXd | ComputeProgressiveForce (std::shared_ptr< Mesh > &mesh, unsigned int k=0)=0 |
| Gets the external force vector from previous analysis. More... | |
| virtual void | ComputeSupportMotionVector (std::shared_ptr< Mesh > &mesh, Eigen::VectorXd &Feff, double factor=1.00, unsigned int k=0)=0 |
| Gets the incremental nodal support motion vector. More... | |
| virtual void | ComputeEffectiveForce (std::shared_ptr< Mesh > &mesh, Eigen::VectorXd &Feff, double factor=1.00, unsigned int k=0)=0 |
| Gets the effective force associated to the integrator. More... | |
| virtual void | ComputeEffectiveStiffness (std::shared_ptr< Mesh > &mesh, Eigen::SparseMatrix< double > &Keff)=0 |
| Gets the effective stiffness associated to the integrator. More... | |
Protected Attributes | |
| Eigen::VectorXd | SupportMotion |
| Nodal support motion vector. More... | |
| Eigen::SparseMatrix< double > | Total2FreeMatrix |
| Operator that enforced restrain/constraint. More... | |
Class for defining how the static/dynamic analysis between two steps is going to be performed.
| Integrator::Integrator | ( | const std::shared_ptr< Mesh > & | mesh | ) |
Creates a Integrator object.
|
pure virtual |
Destroys this Integrator object.
|
pure virtual |
Gets the effective force associated to the integrator.
| mesh | Pointer to the Mesh object where Node and Element are stored. |
| Feff | Vector that stores the effective force. |
| factor | The incremental load factor. |
| k | The time step number to be solved. |
Implemented in CompositeBathe, NewmarkBeta, ExtendedNewmarkBeta, CentralDifference, and QuasiStatic.
|
pure virtual |
Gets the effective stiffness associated to the integrator.
| mesh | Pointer to the Mesh object where Node and Element are stored. |
| Keff | Matrix that stores the effective stiffness. |
Implemented in CompositeBathe, NewmarkBeta, ExtendedNewmarkBeta, CentralDifference, and QuasiStatic.
|
pure virtual |
Computes a new time step.
| mesh | The finite element Mesh object. |
| k | The time step number to be solved. |
Implemented in CompositeBathe, NewmarkBeta, ExtendedNewmarkBeta, CentralDifference, and QuasiStatic.
|
pure virtual |
Gets the external force vector from previous analysis.
| mesh | Pointer to the Mesh object where Node and Element are stored. |
| k | The time step number to be solved. |
Implemented in CompositeBathe, NewmarkBeta, ExtendedNewmarkBeta, CentralDifference, and QuasiStatic.
|
pure virtual |
Gets the reaction force ins this step.
| mesh | Pointer to the Mesh object where Node are stored. |
| k | The time step number to be solved. |
Implemented in CompositeBathe, NewmarkBeta, ExtendedNewmarkBeta, CentralDifference, and QuasiStatic.
|
pure virtual |
Gets the incremental nodal support motion vector.
| mesh | Pointer to the Mesh object where Node are stored. |
| Feff | The effective force vector to incorporate support motion forces. |
| factor | The incremental load factor. |
| k | The time step number to be solved. |
Implemented in CompositeBathe, NewmarkBeta, ExtendedNewmarkBeta, CentralDifference, and QuasiStatic.
|
pure virtual |
Gets the acceleration vector.
Implemented in CompositeBathe, NewmarkBeta, ExtendedNewmarkBeta, CentralDifference, and QuasiStatic.
|
pure virtual |
Gets the displacement vector.
Implemented in CompositeBathe, NewmarkBeta, ExtendedNewmarkBeta, CentralDifference, and QuasiStatic.
|
pure virtual |
Gets the perfectly-matched layer history vector.
Implemented in CompositeBathe, NewmarkBeta, ExtendedNewmarkBeta, CentralDifference, and QuasiStatic.
|
pure virtual |
Gets the velocity vector.
Implemented in CompositeBathe, NewmarkBeta, ExtendedNewmarkBeta, CentralDifference, and QuasiStatic.
|
pure virtual |
Initialize model matrices.
Implemented in CompositeBathe, NewmarkBeta, ExtendedNewmarkBeta, CentralDifference, and QuasiStatic.
|
pure virtual |
Sets the integrator for this algorithm.
| algorithm | Pointer to the Algorithm to obtain the effective stiffness and force. |
Implemented in CompositeBathe, NewmarkBeta, ExtendedNewmarkBeta, CentralDifference, and QuasiStatic.
|
pure virtual |
Set the load combination.
| combo | Pointer to the LoadCombo to be simulated. |
Implemented in CompositeBathe, NewmarkBeta, ExtendedNewmarkBeta, CentralDifference, and QuasiStatic.
|
protected |
Nodal support motion vector.
|
protected |
Operator that enforced restrain/constraint.