template<typename T>
class gismo::gsPatchPreconditionersCreator< T >
Provides robust preconditioners for single patch geometries.
This class provides efficient preconditioners for single patch geometries, assuming to have gsTensorBasis.
|
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) |
|
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()) |
|
static gsSparseMatrix< T > | massMatrix (const gsBasis< T > &basis, const gsBoundaryConditions< T > &bc=gsBoundaryConditions< T >(), const gsOptionList &opt=gsAssembler< T >::defaultOptions()) |
|
static OpUPtr | massMatrixInvOp (const gsBasis< T > &basis, const gsBoundaryConditions< T > &bc=gsBoundaryConditions< T >(), const gsOptionList &opt=gsAssembler< T >::defaultOptions()) |
|
static OpUPtr | massMatrixOp (const gsBasis< T > &basis, const gsBoundaryConditions< T > &bc=gsBoundaryConditions< T >(), const gsOptionList &opt=gsAssembler< T >::defaultOptions()) |
|
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) |
|
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) |
|
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) |
|
Provides gsLinearOperator representing the inverse stiffness matrix on the parameter domain based on the fast diagonalization approach (SIAM J. Sci. Comput., 38 (6), p. A3644 - A3671, 2016)
The stiffness matrix represents \( \beta (\nabla u, \nabla v)_{L_2} + \alpha (u, v)_{L_2} + \gamma (u, 1)_{L_2} (v,1)_{L_2} \)
- Parameters
-
basis | A tensor basis |
bc | Boundary conditions |
opt | Assembler options |
alpha | Scaling parameter (see above) |
beta | Scaling parameter (see above) |
gamma | Scaling parameter (see above). Only allowed for pure Neumann case. |
Provides gsLinearOperator representing the subspace corrected mass smoother on the parameter domain (SIAM J. on Numerical Analysis. 55 (4). p. 2004 - 2024, 2017)
This operator is spectrally equivalent to the inverse of
\( \beta ( - \Delta u + \sigma h^{-2} u) + \alpha u \)
assuming \( \sigma = \mathcal{O}(1) \) to be large enough; the exact meaning of \( \sigma \) is explained in the abovementioned paper ( \( \sigma \) from the paper equals \( 1/(\sigma*h*h) \) here.)
- Parameters
-
basis | A tensor basis |
bc | Boundary conditions |
opt | Assembler options |
sigma | Scaling parameter (see above) |
alpha | Scaling parameter (see above) |
beta | Scaling parameter (see above) |