G+Smo  24.08.0
Geometry + Simulation Modules
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
gsALE.h
Go to the documentation of this file.
1 
15 #pragma once
16 #include <gsIO/gsOptionList.h>
18 #include <gsCore/gsMultiPatch.h>
21 
22 namespace gismo
23 {
24 
25 template <class T>
27 template <class T>
29 
30 template <class T>
31 class gsALE
32 {
33 public:
34  gsALE(gsMultiPatch<T> & geometry, const gsMultiPatch<T> & displacement,
35  const gsBoundaryInterface & interfaceStr2Mesh, ale_method::method method);
36 
38  static gsOptionList defaultOptions();
39 
41  gsOptionList & options() { return m_options; }
42 
44  index_t numDofs() const {return assembler->numDofs();}
45 
47  void constructSolution(gsMultiPatch<T> & solution) const;
48 
50  index_t updateMesh();
51 
53  void saveState();
54 
56  void recoverState();
57 
59  const gsBoundaryInterface & interface() { return m_interface;}
60 
61 protected:
62  void initialize();
63 
65  index_t linearMethod();
66 
68  index_t linearIncrementalMethod();
69 
71  index_t nonlinearMethod();
72 
73 protected:
75  const gsMultiPatch<T> & disp;
77  const gsBoundaryInterface & m_interface;
79  ale_method::method methodALE;
81  gsOptionList m_options;
83  typename gsBaseAssembler<T>::uPtr assembler;
85  typename gsIterative<T>::uPtr solverNL;
87  gsMultiPatch<T> ALEdisp;
89  bool initialized;
90 
91 
93  bool hasSavedState;
94  gsMultiPatch<T> ALEdispSaved;
95 };
96 
97 } // namespace ends
98 
99 #ifndef GISMO_BUILD_LIB
100 #include GISMO_HPP_HEADER(gsALE.hpp)
101 #endif
method
Definition: gsBaseUtils.h:28
#define index_t
Definition: gsConfig.h:32
Provides several simple utility and naming classes.
Provides a list of labeled parameters/options that can be set and accessed easily.
Provides declaration of the MultiPatch class.
Base class for assemblers of gsElasticity.
Container class for a set of geometry patches and their topology, that is, the interface connections ...
Definition: gsMultiPatch.h:33
A general iterative solver for nonlinear problems. An equation to solve is specified by an assembler ...
Definition: gsALE.h:28
Extends the gsAssembler class by adding functionality necessary for a general nonlinear solver...
Definition: gsALE.h:26
Class which holds a list of parameters/options, and provides easy access to them. ...
Definition: gsOptionList.h:32
A class providing an iterative solver for nonlinear problems.