36 #include <Eigen/Dense> 37 #include <Eigen/SparseCore> 63 Linear(std::unique_ptr<LinearSystem> &solver, std::shared_ptr<Mesh> &mesh,
double tol=1E-6,
double ldFactor=1.00,
unsigned int nIters=1);
const Eigen::VectorXd & GetDisplacementIncrement()
Gets the displacement increment.
This file contains the abstract "LinearSystem object" declarations, which defines the library to solv...
Virtual class for defining how the solution between two steps is going to be carried out...
Definition: Algorithm.hpp:52
double LoadFactor
Incremental load factor.
Definition: Linear.hpp:93
~Linear()
Destroys this Linear object.
std::shared_ptr< Integrator > theIntegrator
The time-domain integrator.
Definition: Linear.hpp:105
Class for solving a linear system in just one-step; therefore, no-iteration or convergence test is pe...
Definition: Linear.hpp:52
This file contains the "Load Combination" class declarations, which defines how the loads are going t...
void SetLoadFactor(double factor)
Set the load factor.
unsigned int nMaxIterations
Maximum allowed number of iterations.
Definition: Linear.hpp:96
std::unique_ptr< LinearSystem > theSolver
The linear system solver.
Definition: Linear.hpp:102
This file contains the "Integrator object" declarations, and defines how the dynamic solution between...
bool ComputeNewIncrement(std::shared_ptr< Mesh > &mesh, unsigned int i=0)
Computes a new incremental solution.
void SetIntegrator(std::shared_ptr< Integrator > &integrator)
Sets the integrator for this algorithm.
This file contains the "Mesh object" declarations, which stores nodes, materials, elements...
Eigen::VectorXd dU
Incremental displacement.
Definition: Linear.hpp:99
double Tolerance
Convergence tolerance.
Definition: Linear.hpp:90
Linear(std::unique_ptr< LinearSystem > &solver, std::shared_ptr< Mesh > &mesh, double tol=1E-6, double ldFactor=1.00, unsigned int nIters=1)
Creates a Linear object.