Class for defining an static integrator that neglects any damping and inertial forces present in the analysis. More...
#include <QuasiStatic.hpp>
Public Member Functions | |
QuasiStatic (std::shared_ptr< Mesh > &mesh, double mtol=1E-12, double ktol=1E-12, double ftol=1E-12) | |
Creates a QuasiStatic object. More... | |
~QuasiStatic () | |
Destroys this QuasiStatic object. More... | |
void | Initialize (std::shared_ptr< Mesh > &mesh) |
Initialize model matrices. More... | |
void | SetLoadCombination (std::shared_ptr< LoadCombo > &combo) |
Set the load combination. More... | |
void | SetAlgorithm (std::shared_ptr< Algorithm > &algorithm) |
Sets the integrator for this algorithm. More... | |
const Eigen::VectorXd & | GetDisplacements () |
Gets the displacement vector. More... | |
const Eigen::VectorXd & | GetVelocities () |
Gets the velocity vector. More... | |
const Eigen::VectorXd & | GetAccelerations () |
Gets the acceleration vector. More... | |
const Eigen::VectorXd & | GetPMLHistoryVector () |
Gets the PML history vector. More... | |
bool | ComputeNewStep (std::shared_ptr< Mesh > &mesh, unsigned int k=0) |
Computes a new time step. More... | |
Eigen::VectorXd | ComputeReactionForce (std::shared_ptr< Mesh > &mesh, unsigned int k=0) |
Gets the reaction force ins this step. More... | |
Eigen::VectorXd | ComputeProgressiveForce (std::shared_ptr< Mesh > &mesh, unsigned int k=0) |
Gets the external force vector from previous analysis. More... | |
void | ComputeSupportMotionVector (std::shared_ptr< Mesh > &mesh, Eigen::VectorXd &Feff, double factor=1.00, unsigned int k=0) |
Gets the incremental nodal support motion vector. More... | |
void | ComputeEffectiveForce (std::shared_ptr< Mesh > &mesh, Eigen::VectorXd &Feff, double factor=1.00, unsigned int k=0) |
Gets the effective force associated to the QuasiStatic integrator. More... | |
void | ComputeEffectiveStiffness (std::shared_ptr< Mesh > &mesh, Eigen::SparseMatrix< double > &Keff) |
Gets the effective stiffness associated to the QuasiStatic integrator. More... | |
Public Member Functions inherited from Integrator | |
Integrator (const std::shared_ptr< Mesh > &mesh) | |
Creates a Integrator object. More... | |
virtual | ~Integrator ()=0 |
Destroys this Integrator object. More... | |
Protected Attributes | |
double | TimeStep |
Integration time step. More... | |
Eigen::VectorXd | U |
Total initial/previous displacements. More... | |
Eigen::VectorXd | V |
Total initial/previous velocity. More... | |
Eigen::VectorXd | A |
Total previous acceleration. More... | |
Eigen::VectorXd | Ubar |
Total previous pml history values. More... | |
Eigen::VectorXd | Fbar |
The previous stage Force vector. More... | |
Eigen::SparseMatrix< double > | K |
Model stiffness matrix. More... | |
std::weak_ptr< Algorithm > | theAlgorithm |
The static solver algorithm. More... | |
std::unique_ptr< Assembler > | theAssembler |
The finite element assembler. More... | |
Protected Attributes inherited from Integrator | |
Eigen::VectorXd | SupportMotion |
Nodal support motion vector. More... | |
Eigen::SparseMatrix< double > | Total2FreeMatrix |
Operator that enforced restrain/constraint. More... | |
Class for defining an static integrator that neglects any damping and inertial forces present in the analysis.
QuasiStatic::QuasiStatic | ( | std::shared_ptr< Mesh > & | mesh, |
double | mtol = 1E-12 , |
||
double | ktol = 1E-12 , |
||
double | ftol = 1E-12 |
||
) |
Creates a QuasiStatic object.
mesh | Pointer to the Mesh container to extract Node and Element. |
mtol | Threshold for which a mass value will be neglected. |
ktol | Threshold for which a stiffness value will be neglected. |
ftol | Threshold for which a force value will be neglected. |
QuasiStatic::~QuasiStatic | ( | ) |
Destroys this QuasiStatic object.
|
virtual |
Gets the effective force associated to the QuasiStatic 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. |
Implements Integrator.
|
virtual |
Gets the effective stiffness associated to the QuasiStatic integrator.
mesh | Pointer to the Mesh object where Node and Element are stored. |
Keff | Matrix that stores the effective stiffness. |
Implements Integrator.
|
virtual |
Computes a new time step.
mesh | The finite element Mesh object. |
k | The time step number to be solved. |
Implements Integrator.
|
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. |
Implements Integrator.
|
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. |
Implements Integrator.
|
virtual |
Gets the incremental nodal support motion vector.
mesh | Pointer to the Mesh object where Node are stored. |
factor | The incremental load factor. |
k | The time step number to be solved. |
Implements Integrator.
|
virtual |
Gets the acceleration vector.
Implements Integrator.
|
virtual |
Gets the displacement vector.
Implements Integrator.
|
virtual |
Gets the PML history vector.
Implements Integrator.
|
virtual |
Gets the velocity vector.
Implements Integrator.
|
virtual |
Initialize model matrices.
Implements Integrator.
|
virtual |
Sets the integrator for this algorithm.
algorithm | Pointer to the Algorithm to obtain the effective stiffness and force. |
Implements Integrator.
|
virtual |
Set the load combination.
combo | Pointer to the LoadCombo to be simulated. |
Implements Integrator.
|
protected |
Total previous acceleration.
|
protected |
The previous stage Force vector.
|
protected |
Model stiffness matrix.
|
protected |
The static solver algorithm.
|
protected |
The finite element assembler.
|
protected |
Integration time step.
|
protected |
Total initial/previous displacements.
|
protected |
Total previous pml history values.
|
protected |
Total initial/previous velocity.