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

Detailed Description

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

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

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

Public Member Functions

virtual bool converged () const
 True if the Arc Length method converged.
 
virtual void defaultOptions () override
 Set default options.
 
 gsDynamicBathe (const Mass_t &Mass, const Damping_t &Damping, const Stiffness_t &Stiffness, const Force_t &Force)
 Constructor.
 
 gsDynamicBathe (const Mass_t &Mass, const Damping_t &Damping, const Stiffness_t &Stiffness, const TForce_t &TForce)
 Constructor.
 
 gsDynamicBathe (const Mass_t &Mass, const Damping_t &Damping, const Jacobian_t &Jacobian, const Residual_t &Residual)
 Constructor.
 
 gsDynamicBathe (const Mass_t &Mass, const Damping_t &Damping, const Jacobian_t &Jacobian, const TResidual_t &TResidual)
 Constructor.
 
 gsDynamicBathe (const Mass_t &Mass, const Damping_t &Damping, const TJacobian_t &TJacobian, const TResidual_t &TResidual)
 Constructor.
 
 gsDynamicBathe (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.
 

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)
 

Private Member Functions

template<bool _nonlinear>
std::enable_if<(_nonlinear==false),
gsStatus >::type 
_step_impl (const T t, const T dt, gsVector< T > &U, gsVector< T > &V, gsVector< T > &A) const
 
template<bool _nonlinear>
std::enable_if<(_nonlinear==true),
gsStatus >::type 
_step_impl (const T t, const T dt, gsVector< T > &U, gsVector< T > &V, gsVector< T > &A) const
 

Member Function Documentation

std::enable_if<(_nonlinear==false), gsStatus >::type _step_impl ( const T  t,
const T  dt,
gsVector< T > &  U,
gsVector< T > &  V,
gsVector< T > &  A 
) const
private

Stage 1: A Newmark step with DT=gamma*dt

Stage 2: A Newmark step with DT=gamma*dt

std::enable_if<(_nonlinear==true), gsStatus >::type _step_impl ( const T  t,
const T  dt,
gsVector< T > &  U,
gsVector< T > &  V,
gsVector< T > &  A 
) const
private

Stage 1: A Newmark step with DT=gamma*dt

Stage 2: A Newmark step with DT=gamma*dt