G+Smo  24.08.0
Geometry + Simulation Modules
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
gsStructuralAnalysisTypes.h
Go to the documentation of this file.
1 
14 #include <functional>
15 #include <gsCore/gsLinearAlgebra.h>
16 
17 namespace gismo
18 {
19 
20 enum struct gsStatus
21 {
22  Success,
23  NotConverged,
25  SolverError,
26  NotStarted,
27  OtherError
28 };
29 
30 // ALTERNATIVE IMPLEMENTATION USING FUNCTORS
31 // template<typename T>
32 // struct DynamicFunctor
33 // {
34 // Force();
35 
36 // gsVector<T>& operator(T time = 0) {};
37 
38 // virtual index_t rows() = 0;
39 // virtual index_t cols() = 0;
40 // };
41 
42 
43 // template<typename T>
44 // struct DynamicForce : public DynamicFunctor<T>
45 // {
46 // DynamicForce(... ) {}
47 
48 
49 // };
50 
56 template<class T>
58 {
60  typedef std::function < bool ( gsVector<T> & )> Force_t;
62  typedef std::function < bool ( const T, gsVector<T> & )> TForce_t;
63 
65  typedef std::function < bool ( gsVector<T> const &, gsVector<T> & )> Residual_t;
67  typedef std::function < bool ( gsVector<T> const &, const T, gsVector<T> & )> ALResidual_t;
69  typedef std::function < bool ( gsVector<T> const &, const T, gsVector<T> & )> TResidual_t;
70 
72  typedef std::function < bool ( gsSparseMatrix<T> & ) > Mass_t;
74  typedef std::function < bool ( const T, gsSparseMatrix<T> & ) > TMass_t;
76  typedef std::function < bool ( gsVector<T> const &, gsSparseMatrix<T> & ) > Damping_t;
78  typedef std::function < bool ( gsVector<T> const &, const T, gsSparseMatrix<T> & ) > TDamping_t;
79 
81  typedef std::function < bool ( gsSparseMatrix<T> & ) > Stiffness_t;
83  typedef std::function < bool ( gsVector<T> const &, gsSparseMatrix<T> & ) > Jacobian_t;
85  typedef std::function < bool ( gsVector<T> const &, const T, gsSparseMatrix<T> & ) > TJacobian_t;
87  typedef std::function < bool ( gsVector<T> const &, gsVector<T> const &, gsSparseMatrix<T> & ) > dJacobian_t;
88 };
89 
90 }
std::function< bool(gsVector< T > const &, const T, gsSparseMatrix< T > &) > TJacobian_t
Jacobian.
Definition: gsStructuralAnalysisTypes.h:85
Step did not converge.
std::function< bool(gsVector< T > const &, const T, gsVector< T > &)> TResidual_t
Time-dependent Residual Fint(t)-Fext(t)
Definition: gsStructuralAnalysisTypes.h:69
Assembly problem in step.
Assembly failed due to an error in the expression (e.g. overflow)
gsStatus
Definition: gsStructuralAnalysisTypes.h:20
std::function< bool(gsVector< T > const &, gsVector< T > &)> Residual_t
Residual, Fint-Fext.
Definition: gsStructuralAnalysisTypes.h:65
std::function< bool(gsSparseMatrix< T > &) > Mass_t
Mass matrix.
Definition: gsStructuralAnalysisTypes.h:72
std::function< bool(gsVector< T > const &, gsSparseMatrix< T > &) > Jacobian_t
Jacobian.
Definition: gsStructuralAnalysisTypes.h:83
Operators for the gsStructuralAnalysis module.
Definition: gsStructuralAnalysisTypes.h:57
std::function< bool(gsVector< T > const &, gsSparseMatrix< T > &) > Damping_t
Damping matrix.
Definition: gsStructuralAnalysisTypes.h:76
std::function< bool(gsVector< T > const &, const T, gsVector< T > &)> ALResidual_t
Arc-Length Residual, Fint-lambda*Fext.
Definition: gsStructuralAnalysisTypes.h:67
std::function< bool(gsVector< T > &)> Force_t
Force.
Definition: gsStructuralAnalysisTypes.h:60
std::function< bool(const T, gsSparseMatrix< T > &) > TMass_t
Time-dependent mass matrix.
Definition: gsStructuralAnalysisTypes.h:74
std::function< bool(gsSparseMatrix< T > &) > Stiffness_t
Stiffness matrix.
Definition: gsStructuralAnalysisTypes.h:81
ALM has not started yet.
std::function< bool(gsVector< T > const &, gsVector< T > const &, gsSparseMatrix< T > &) > dJacobian_t
Jacobian with solution update as argument.
Definition: gsStructuralAnalysisTypes.h:87
std::function< bool(const T, gsVector< T > &)> TForce_t
Time-dependent force.
Definition: gsStructuralAnalysisTypes.h:62
This is the main header file that collects wrappers of Eigen for linear algebra.
std::function< bool(gsVector< T > const &, const T, gsSparseMatrix< T > &) > TDamping_t
Time-dependent Damping matrix.
Definition: gsStructuralAnalysisTypes.h:78