G+Smo  25.01.0
Geometry + Simulation Modules
 
Loading...
Searching...
No Matches
gsStaticOpt< T, Optimizer > Class Template Reference

Detailed Description

template<class T, class Optimizer = gsGradientDescent<T>>
class gismo::gsStaticOpt< T, Optimizer >

Static solver using the Dynamic Relaxation method.

Template Parameters
TThe coefficient type.
OptimizerThe optimizer type (default is gsGradientDescent<T>).

This class inherits from gsStaticBase and provides functionality for solving static optimization problems using the Dynamic Relaxation method.

+ Inheritance diagram for gsStaticOpt< T, Optimizer >:
+ Collaboration diagram for gsStaticOpt< T, Optimizer >:

Public Member Functions

virtual bool converged () const
 Returns whether the solver converged or not.
 
void defaultOptions () override
 See gsStaticBase.
 
void getOptions () override
 See gsStaticBase.
 
 gsStaticOpt (const ALResidual_t &ALResidual, const index_t numDofs)
 Constructor for gsStaticOpt with arc-length residual function.
 
 gsStaticOpt (const Residual_t &Residual, const index_t numDofs)
 Constructor for gsStaticOpt.
 
indicator (const gsSparseMatrix< T > &, T)
 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.
 
gsOptionListoptimizerOptions ()
 Returns the optimizer options.
 
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.
 
gsStatus solve () override
 gsStaticBase base functions
 
gsVector< T > stabilityVec (const gsSparseMatrix< T > &, T)
 Returns the stability vector.
 
virtual gsStatus status () const
 Returns the status.
 
virtual void stepOutput (index_t)
 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.
 
void _init ()
 Initializes the method.
 
void _solve ()
 See solve()
 

Constructor & Destructor Documentation

◆ gsStaticOpt() [1/2]

template<class T , class Optimizer = gsGradientDescent<T>>
gsStaticOpt ( const Residual_t &  Residual,
const index_t  numDofs 
)
inline

Constructor for gsStaticOpt.

Parameters
ResidualThe residual function.
numDofsThe number of degrees of freedom.

◆ gsStaticOpt() [2/2]

template<class T , class Optimizer = gsGradientDescent<T>>
gsStaticOpt ( const ALResidual_t &  ALResidual,
const index_t  numDofs 
)
inline

Constructor for gsStaticOpt with arc-length residual function.

Parameters
ALResidualThe arc-length residual function.
numDofsThe number of degrees of freedom.

Member Function Documentation

◆ optimizerOptions()

template<class T , class Optimizer = gsGradientDescent<T>>
gsOptionList & optimizerOptions ( )
inline

Returns the optimizer options.

Returns
A reference to the optimizer options.

◆ solve()

template<class T , class Optimizer >
gsStatus solve ( )
overridevirtual

gsStaticBase base functions

See gsStaticBase

Implements gsStaticBase< T >.