G+Smo  24.08.0
Geometry + Simulation Modules
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
gsPatchPreconditionersCreator.h
Go to the documentation of this file.
1 
13 #pragma once
14 
17 
18 
19 namespace gismo
20 {
21 
28 template<typename T>
30 {
31  typedef typename gsLinearOperator<T>::uPtr OpUPtr;
32  typedef typename gsLinearOperator<T>::Ptr OpPtr;
33 public:
34 
41  const gsBasis<T>& basis,
44  );
45 
52  static OpUPtr massMatrixOp(
53  const gsBasis<T>& basis,
56  );
57 
64  static OpUPtr massMatrixInvOp(
65  const gsBasis<T>& basis,
68  );
69 
79  const gsBasis<T>& basis,
82  T alpha = 0,
83  T beta = 1
84  );
85 
95  static OpUPtr stiffnessMatrixOp(
96  const gsBasis<T>& basis,
99  T alpha = 0,
100  T beta = 1
101  );
102 
116  static OpUPtr fastDiagonalizationOp(
117  const gsBasis<T>& basis,
120  T alpha = 0,
121  T beta = 1,
122  T gamma = 0
123  );
124 
142  static OpUPtr subspaceCorrectedMassSmootherOp(
143  const gsBasis<T>& basis,
146  T sigma = (T)(12) / (T)(100),
147  T alpha = 0,
148  T beta = 1
149  );
150 
160  static std::pair< std::vector< gsSparseMatrix<T> >, std::vector< gsSparseMatrix<T> > > getTildeSpaceBasisTransformation(
161  const gsBasis<T>& basis,
164  );
165 
166 };
167 
168 } // namespace gismo
169 
170 #ifndef GISMO_BUILD_LIB
171 #include GISMO_HPP_HEADER(gsPatchPreconditionersCreator.hpp)
172 #endif
static OpUPtr fastDiagonalizationOp(const gsBasis< T > &basis, const gsBoundaryConditions< T > &bc=gsBoundaryConditions< T >(), const gsOptionList &opt=gsAssembler< T >::defaultOptions(), T alpha=0, T beta=1, T gamma=0)
Definition: gsPatchPreconditionersCreator.hpp:264
Provides generic assembler routines.
static OpUPtr massMatrixOp(const gsBasis< T > &basis, const gsBoundaryConditions< T > &bc=gsBoundaryConditions< T >(), const gsOptionList &opt=gsAssembler< T >::defaultOptions())
Definition: gsPatchPreconditionersCreator.hpp:148
static OpUPtr subspaceCorrectedMassSmootherOp(const gsBasis< T > &basis, const gsBoundaryConditions< T > &bc=gsBoundaryConditions< T >(), const gsOptionList &opt=gsAssembler< T >::defaultOptions(), T sigma=(T)(12)/(T)(100), T alpha=0, T beta=1)
Definition: gsPatchPreconditionersCreator.hpp:576
static gsSparseMatrix< T > stiffnessMatrix(const gsBasis< T > &basis, const gsBoundaryConditions< T > &bc=gsBoundaryConditions< T >(), const gsOptionList &opt=gsAssembler< T >::defaultOptions(), T alpha=0, T beta=1)
Definition: gsPatchPreconditionersCreator.hpp:184
static OpUPtr stiffnessMatrixOp(const gsBasis< T > &basis, const gsBoundaryConditions< T > &bc=gsBoundaryConditions< T >(), const gsOptionList &opt=gsAssembler< T >::defaultOptions(), T alpha=0, T beta=1)
Definition: gsPatchPreconditionersCreator.hpp:221
static OpUPtr massMatrixInvOp(const gsBasis< T > &basis, const gsBoundaryConditions< T > &bc=gsBoundaryConditions< T >(), const gsOptionList &opt=gsAssembler< T >::defaultOptions())
Definition: gsPatchPreconditionersCreator.hpp:166
memory::shared_ptr< gsLinearOperator > Ptr
Shared pointer for gsLinearOperator.
Definition: gsLinearOperator.h:33
memory::unique_ptr< gsLinearOperator > uPtr
Unique pointer for gsLinearOperator.
Definition: gsLinearOperator.h:36
static std::pair< std::vector< gsSparseMatrix< T > >, std::vector< gsSparseMatrix< T > > > getTildeSpaceBasisTransformation(const gsBasis< T > &basis, const gsBoundaryConditions< T > &bc=gsBoundaryConditions< T >(), const gsOptionList &opt=gsAssembler< T >::defaultOptions())
Definition: gsPatchPreconditionersCreator.hpp:564
Class containing a set of boundary conditions.
Definition: gsBoundaryConditions.h:341
Provides robust preconditioners for single patch geometries.
Definition: gsPatchPreconditionersCreator.h:29
Class which holds a list of parameters/options, and provides easy access to them. ...
Definition: gsOptionList.h:32
The assembler class provides generic routines for volume and boundary integrals that are used for for...
Definition: gsAssembler.h:265
static gsSparseMatrix< T > massMatrix(const gsBasis< T > &basis, const gsBoundaryConditions< T > &bc=gsBoundaryConditions< T >(), const gsOptionList &opt=gsAssembler< T >::defaultOptions())
Definition: gsPatchPreconditionersCreator.hpp:133
A basis represents a family of scalar basis functions defined over a common parameter domain...
Definition: gsBasis.h:78
Simple abstract class for (discrete) linear operators.