ngsPETSc.pc
This module contains all the function and class needed to wrap a PETSc Preconditioner in NGSolve
Classes
This class creates a Netgen/NGSolve BaseMatrix corresponding to a PETSc PC |
|
This class creates a Netgen/NGSolve BaseMatrix corresponding to a PETSc ASM PC |
Functions
|
Create PETSc PC that can be accessed by NGSolve. |
Module Contents
- class ngsPETSc.pc.PETScPreconditioner(mat, freeDofs, solverParameters=None, optionsPrefix='', nullspace=None, matType='aij')
Bases:
ngsolve.BaseMatrix
This class creates a Netgen/NGSolve BaseMatrix corresponding to a PETSc PC
- Parameters:
mat – NGSolve Matrix one would like to build the PETSc preconditioner for.
freeDofs – not constrained degrees of freedom of the finite element space over
which the BilinearForm corresponding to the matrix is defined.
- Parameters:
solverParameters – parameters to be passed to the KSP solver
optionsPrefix – special solver options prefix for this specific Krylov solver
matType – type of sparse matrix, i.e. PETSc sparse: aij,
MKL sparse: mklaij or CUDA: aijcusparse
- ngsMat
- vecMap
- petscMat
- lgmap
- petscPreconditioner
- options_object
- Shape()
Shape of the BaseMatrix
- CreateVector(col)
Create vector corresponding to the matrix
- Parameters:
col – True if one want a column vector
- Mult(x, y)
BaseMatrix multiplication Ax = y :arg x: vector we are multiplying :arg y: vector we are storeing the result in
- MultTrans(x, y)
BaseMatrix multiplication A^T x = y :arg x: vector we are multiplying :arg y: vector we are storeing the result in
- setActingDofs(dofs)
Set the acting dofs of the preconditioner :arg dofs: dofs that the preconditioner is acting on
- ngsPETSc.pc.createPETScPreconditioner(mat, freeDofs, solverParameters)
Create PETSc PC that can be accessed by NGSolve. :arg mat: NGSolve Matrix one would like to build the PETSc preconditioner for.
- Parameters:
freeDofs – not constrained degrees of freedom of the finite element space over
which the BilinearForm corresponding to the matrix is defined.
- Parameters:
solverParameters – parameters to be passed to the KSP solver
- class ngsPETSc.pc.ASMPreconditioner(mat, freeDofs, solverParameters=None, optionsPrefix='', nullspace=None, matType='aij', blocks=None)
Bases:
PETScPreconditioner
This class creates a Netgen/NGSolve BaseMatrix corresponding to a PETSc ASM PC
- asmpc = None
- Mult(x, y)
BaseMatrix multiplication Ax = y :arg x: vector we are multiplying :arg y: vector we are storeing the result in
- MultTrans(x, y)
BaseMatrix multiplication A^T x = y :arg x: vector we are multiplying :arg y: vector we are storeing the result in