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.
 
T 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.
 
gsOptionList & optimizerOptions ()
 Returns the optimizer options.
 
virtual const 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 >.