G+Smo  25.01.0
Geometry + Simulation Modules
 
Loading...
Searching...
No Matches
gsStructuralAnalysisTypes.h
Go to the documentation of this file.
1
14#include <functional>
16
17namespace gismo
18{
19
20enum struct gsStatus
21{
22 Success,
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
56template<class T>
58{
60 typedef std::function < bool ( gsVector<T> const &, T &)> Energy_t;
61
63 typedef std::function < bool ( gsVector<T> & )> Force_t;
65 typedef std::function < bool ( const T, gsVector<T> & )> TForce_t;
66
68 typedef std::function < bool ( gsVector<T> const &, gsVector<T> & )> Residual_t;
70 typedef std::function < bool ( gsVector<T> const &, const T, gsVector<T> & )> ALResidual_t;
72 typedef std::function < bool ( gsVector<T> const &, const T, gsVector<T> & )> TResidual_t;
73
75 typedef std::function < bool ( gsSparseMatrix<T> & ) > Mass_t;
77 typedef std::function < bool ( const T, gsSparseMatrix<T> & ) > TMass_t;
79 typedef std::function < bool ( gsVector<T> const &, gsSparseMatrix<T> & ) > Damping_t;
81 typedef std::function < bool ( gsVector<T> const &, const T, gsSparseMatrix<T> & ) > TDamping_t;
82
84 typedef std::function < bool ( gsSparseMatrix<T> & ) > Stiffness_t;
86 typedef std::function < bool ( gsVector<T> const &, gsSparseMatrix<T> & ) > Jacobian_t;
88 typedef std::function < bool ( gsVector<T> const &, const T, gsSparseMatrix<T> & ) > TJacobian_t;
90 typedef std::function < bool ( gsVector<T> const &, gsVector<T> const &, gsSparseMatrix<T> & ) > dJacobian_t;
91};
92
93}
Sparse matrix class, based on gsEigen::SparseMatrix.
Definition gsSparseMatrix.h:139
A vector with arbitrary coefficient type and fixed or dynamic size.
Definition gsVector.h:37
This is the main header file that collects wrappers of Eigen for linear algebra.
The G+Smo namespace, containing all definitions for the library.
gsStatus
Definition gsStructuralAnalysisTypes.h:21
@ OtherError
Other error.
@ SolverError
Assembly problem in step.
@ NotConverged
Step did not converge.
@ NotStarted
ALM has not started yet.
@ Success
Assembly is successful.
@ AssemblyError
Assembly failed due to an error in the expression (e.g. overflow)
Operators for the gsStructuralAnalysis module.
Definition gsStructuralAnalysisTypes.h:58
std::function< bool(gsVector< T > const &, const T, gsSparseMatrix< T > &) > TJacobian_t
Jacobian.
Definition gsStructuralAnalysisTypes.h:88
std::function< bool(gsVector< T > &)> Force_t
Force.
Definition gsStructuralAnalysisTypes.h:63
std::function< bool(gsVector< T > const &, gsVector< T > const &, gsSparseMatrix< T > &) > dJacobian_t
Jacobian with solution update as argument.
Definition gsStructuralAnalysisTypes.h:90
std::function< bool(gsVector< T > const &, const T, gsVector< T > &)> ALResidual_t
Arc-Length Residual, Fint-lambda*Fext.
Definition gsStructuralAnalysisTypes.h:70
std::function< bool(gsVector< T > const &, const T, gsVector< T > &)> TResidual_t
Time-dependent Residual Fint(t)-Fext(t)
Definition gsStructuralAnalysisTypes.h:72
std::function< bool(gsVector< T > const &, gsSparseMatrix< T > &) > Jacobian_t
Jacobian.
Definition gsStructuralAnalysisTypes.h:86
std::function< bool(const T, gsSparseMatrix< T > &) > TMass_t
Time-dependent mass matrix.
Definition gsStructuralAnalysisTypes.h:77
std::function< bool(gsSparseMatrix< T > &) > Mass_t
Mass matrix.
Definition gsStructuralAnalysisTypes.h:75
std::function< bool(const T, gsVector< T > &)> TForce_t
Time-dependent force.
Definition gsStructuralAnalysisTypes.h:65
std::function< bool(gsVector< T > const &, const T, gsSparseMatrix< T > &) > TDamping_t
Time-dependent Damping matrix.
Definition gsStructuralAnalysisTypes.h:81
std::function< bool(gsSparseMatrix< T > &) > Stiffness_t
Stiffness matrix.
Definition gsStructuralAnalysisTypes.h:84
std::function< bool(gsVector< T > const &, gsSparseMatrix< T > &) > Damping_t
Damping matrix.
Definition gsStructuralAnalysisTypes.h:79
std::function< bool(gsVector< T > const &, T &)> Energy_t
Residual energy.
Definition gsStructuralAnalysisTypes.h:60
std::function< bool(gsVector< T > const &, gsVector< T > &)> Residual_t
Residual, Fint-Fext.
Definition gsStructuralAnalysisTypes.h:68