G+Smo  25.01.0
Geometry + Simulation Modules
 
Loading...
Searching...
No Matches
gsPatchPreconditionersCreator.h
Go to the documentation of this file.
1
13#pragma once
14
17
18
19namespace gismo
20{
21
28template<typename T>
30{
31 typedef typename gsLinearOperator<T>::uPtr OpUPtr;
32 typedef typename gsLinearOperator<T>::Ptr OpPtr;
33public:
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
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
The assembler class provides generic routines for volume and boundary integrals that are used for for...
Definition gsAssembler.h:266
A basis represents a family of scalar basis functions defined over a common parameter domain.
Definition gsBasis.h:79
Class containing a set of boundary conditions.
Definition gsBoundaryConditions.h:342
memory::unique_ptr< gsLinearOperator > uPtr
Unique pointer for gsLinearOperator.
Definition gsLinearOperator.h:36
memory::shared_ptr< gsLinearOperator > Ptr
Shared pointer for gsLinearOperator.
Definition gsLinearOperator.h:33
Class which holds a list of parameters/options, and provides easy access to them.
Definition gsOptionList.h:33
Provides robust preconditioners for single patch geometries.
Definition gsPatchPreconditionersCreator.h:30
static OpUPtr massMatrixInvOp(const gsBasis< T > &basis, const gsBoundaryConditions< T > &bc=gsBoundaryConditions< T >(), const gsOptionList &opt=gsAssembler< T >::defaultOptions())
Definition gsPatchPreconditionersCreator.hpp:166
static OpUPtr massMatrixOp(const gsBasis< T > &basis, const gsBoundaryConditions< T > &bc=gsBoundaryConditions< T >(), const gsOptionList &opt=gsAssembler< T >::defaultOptions())
Definition gsPatchPreconditionersCreator.hpp:148
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 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 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
static gsSparseMatrix< T > massMatrix(const gsBasis< T > &basis, const gsBoundaryConditions< T > &bc=gsBoundaryConditions< T >(), const gsOptionList &opt=gsAssembler< T >::defaultOptions())
Definition gsPatchPreconditionersCreator.hpp:133
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 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
Sparse matrix class, based on gsEigen::SparseMatrix.
Definition gsSparseMatrix.h:139
Provides generic assembler routines.
Simple abstract class for (discrete) linear operators.
The G+Smo namespace, containing all definitions for the library.