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

Detailed Description

template<class T>
class gismo::gsStaticDR< T >

Static solver using the Dynamic Relaxation method.

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

Public Member Functions

void _reset ()
 Start over again.
 
virtual bool converged () const
 Returns whether the solver converged or not.
 
void defaultOptions () override
 See gsStaticBase.
 
gsVector< T > energies () const
 Returns the kinetic energy in all steps.
 
void getOptions () override
 See gsStaticBase.
 
 gsStaticDR (const gsVector< T > &M, const gsVector< T > &F, const Residual_t &Residual)
 Constructor. More...
 
 gsStaticDR (const gsVector< T > &M, const gsVector< T > &F, const ALResidual_t &ALResidual)
 Constructs a new instance. More...
 
virtual T indicator (const gsSparseMatrix< T > &jacMat, T shift=-1e-2)
 Returns the stability indicator.
 
void initialize () override
 See gsStaticBase.
 
void initOutput () override
 See gsStaticBase.
 
virtual index_t iterations () const
 Returns the number of iterations.
 
kineticEnergy () const
 Returns the kinetic energy.
 
virtual index_t numDofs ()
 Returns the number of DoFs of the system.
 
virtual gsOptionList options () const
 Get options.
 
gsVector< T > relEnergies () const
 Returns the kinetic energy relative to the first iteration.
 
void reset () override
 See gsStaticBase.
 
residualNorm () const
 Return the residual norm.
 
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.
 
gsStatus solve () override
 gsStaticBase base functions More...
 
virtual gsVector< T > stabilityVec (const gsSparseMatrix< T > &jacMat, T shift=-1e-2)
 Returns the stability vector.
 
virtual gsStatus status () const
 Returns the status.
 
void stepOutput (index_t k) override
 See gsStaticBase.
 
virtual gsVector< T > update () const
 Access the update.
 
gsVector< T > velocities () const
 Returns the velocity.
 

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.
 
void _init ()
 Initializes the method.
 
void _iteration ()
 Performs an iteration.
 
void _peak ()
 Identifies a peak.
 
void _solve ()
 See solve()
 
void _start ()
 Starts the method.
 

Constructor & Destructor Documentation

gsStaticDR ( const gsVector< T > &  M,
const gsVector< T > &  F,
const Residual_t &  Residual 
)
inline

Constructor.

Parameters
[in]MLumped mass matrix (as vector)
[in]FExternal forcing vector
[in]ResidualThe residual
gsStaticDR ( const gsVector< T > &  M,
const gsVector< T > &  F,
const ALResidual_t &  ALResidual 
)
inline

Constructs a new instance.

Parameters
[in]MLumped mass matrix (as vector)
[in]FExternal forcing vector
[in]ResidualThe residual as arc-length object

Member Function Documentation

gsStatus solve ( )
overridevirtual

gsStaticBase base functions

See gsStaticBase

Implements gsStaticBase< T >.