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

Detailed Description

template<class T, bool _NL>
class gismo::gsDynamicExplicitEuler< T, _NL >

Performs the arc length method to solve a nonlinear system of equations.

Template Parameters
Tcoefficient type
+ Inheritance diagram for gsDynamicExplicitEuler< T, _NL >:
+ Collaboration diagram for gsDynamicExplicitEuler< T, _NL >:

Public Member Functions

virtual bool converged () const
 True if the Arc Length method converged.
 
 gsDynamicExplicitEuler (const Mass_t &Mass, const Damping_t &Damping, const Stiffness_t &Stiffness, const Force_t &Force)
 Constructor.
 
 gsDynamicExplicitEuler (const Mass_t &Mass, const Damping_t &Damping, const Stiffness_t &Stiffness, const TForce_t &TForce)
 Constructor.
 
 gsDynamicExplicitEuler (const Mass_t &Mass, const Damping_t &Damping, const Jacobian_t &Jacobian, const Residual_t &Residual)
 Constructor.
 
 gsDynamicExplicitEuler (const Mass_t &Mass, const Damping_t &Damping, const Jacobian_t &Jacobian, const TResidual_t &TResidual)
 Constructor.
 
 gsDynamicExplicitEuler (const Mass_t &Mass, const Damping_t &Damping, const TJacobian_t &TJacobian, const TResidual_t &TResidual)
 Constructor.
 
 gsDynamicExplicitEuler (const TMass_t &TMass, const TDamping_t &TDamping, const TJacobian_t &TJacobian, const TResidual_t &TResidual)
 Constructor.
 
virtual index_t numDofs ()
 Return the number of degrees of freedom.
 
virtual index_t numIterations () const
 Returns the number of Newton iterations performed.
 
virtual gsOptionListoptions ()
 Access the options.
 
virtual const void options_into (gsOptionList options)
 Return the options into options.
 
virtual void setOptions (gsOptionList options)
 Set the options to options.
 
virtual void setTimeStep (T dt)
 Set time step to dt.
 
virtual gsStatus step (T dt)
 Perform one arc-length step.
 

Protected Member Functions

virtual void _computeDamping (const gsVector< T > &U, const T time, gsSparseMatrix< T > &C) const
 Compute the damping matrix.
 
virtual void _computeForce (const T time, gsVector< T > &F) const
 Compute the residual.
 
virtual void _computeJacobian (const gsVector< T > &U, const T time, gsSparseMatrix< T > &K) const
 Compute the Jacobian matrix.
 
virtual void _computeMass (const T time, gsSparseMatrix< T > &M) const
 Compute the mass matrix.
 
virtual void _computeMassInverse (const gsSparseMatrix< T > &M, gsSparseMatrix< T > &Minv) const
 Compute the mass matrix.
 
virtual void _computeResidual (const gsVector< T > &U, const T time, gsVector< T > &R) const
 Compute the residual.
 
gsStatus _step (const T t, const T dt, gsVector< T > &U, gsVector< T > &V, gsVector< T > &A) const override
 Initialize the ALM.
 
virtual void defaultOptions ()
 Set default options.
 

Protected Attributes

index_t m_numIterations
 Number of iterations performed.
 
m_t
 Time.
 
m_time
 Time.
 
gsVector< T > m_U
 Displacement vector (present, at previously converged point)