G+Smo  23.12.0
Geometry + Simulation Modules
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
gsStaticBase< T > Class Template Referenceabstract

Detailed Description

template<class T>
class gismo::gsStaticBase< T >

Base class for static solvers.

Template Parameters
Tcoefficient type
+ Inheritance diagram for gsStaticBase< T >:
+ Collaboration diagram for gsStaticBase< T >:

Public Member Functions

virtual bool converged () const
 Returns whether the solver converged or not.
 
virtual void defaultOptions ()
 Get default options.
 
virtual void getOptions ()
 Apply the options.
 
virtual T indicator (const gsSparseMatrix< T > &jacMat, T shift=-1e-2)
 Returns the stability indicator.
 
virtual void initialize ()
 See gsStaticBase.
 
virtual void initOutput ()
 Initialize output.
 
virtual index_t iterations () const
 Returns the number of iterations.
 
virtual index_t numDofs ()
 Returns the number of DoFs of the system.
 
virtual gsOptionList options () const
 Get options.
 
virtual void reset ()
 Reset the stored solution.
 
virtual void setDisplacement (const gsVector< T > &displacement)
 Set the displacement.
 
virtual void setLoad (const T L)
 Set the load.
 
virtual void setOptions (gsOptionList &options)
 Set the options from options.
 
virtual void setSolution (const gsVector< T > &displacement, const T L)
 Set the displacement and the load.
 
virtual gsVector< T > solution () const
 Access the solution.
 
virtual gsStatus solve ()=0
 Solve.
 
virtual gsVector< T > stabilityVec (const gsSparseMatrix< T > &jacMat, T shift=-1e-2)
 Returns the stability vector.
 
virtual gsStatus status () const
 Returns the status.
 
virtual void stepOutput (index_t k)
 Stepwise output.
 
virtual gsVector< T > update () const
 Access the update.
 

Protected Member Functions

virtual bool _computeStability (const gsSparseMatrix< T > &jacMat, T shift)
 Computes the stability of the Jacobian, optionally applying a shift (if provided)
 
virtual bool _computeStabilityDet (const gsSparseMatrix< T > &jacMat)
 Computes the stability vector using the determinant of the Jacobian.
 
virtual bool _computeStabilityEig (const gsSparseMatrix< T > &jacMat, T shift)
 Computes the stability vector using the eigenvalues of the Jacobian, optionally applying a shift.