|
IFEM
90A354
|
Permutation for PETSc preconditioners. More...
#include "PETScPCPerm.h"#include <iostream>
Macros | |
| #define | PetscCall(x) if (x) std::cerr <<"PetscFree failed "<< x << std::endl; |
| Workaround for nonexisting macro in older PETSc versions. | |
Functions | |
| PetscErrorCode | PCPermCreate (PCPerm **pcperm) |
| Create the permutated preconditioner. More... | |
| PetscErrorCode | PCPermSetUp (PC pc, IS *perm, Mat A, const char *type) |
| Configure the permutated preconditioner. More... | |
| PetscErrorCode | PCPermApply (PC pc, Vec x, Vec y) |
| Apply the permutated preconditioner. More... | |
| PetscErrorCode | PCPermDestroy (PC pc) |
| Destroy a permutated preconditioner. More... | |
Permutation for PETSc preconditioners.
| PetscErrorCode PCPermApply | ( | PC | pc, |
| Vec | x, | ||
| Vec | y | ||
| ) |
Apply the permutated preconditioner.
| pc | Preconditioner to apply | |
| [in] | x | Vector to apply preconditioner to |
| [out] | y | The evaluate preconditioner value |
References PCPerm::identity, PCPerm::order, and PCPerm::pc.
Referenced by PETScSolParams::addDirSmoother().
| PetscErrorCode PCPermCreate | ( | PCPerm ** | pc | ) |
Create the permutated preconditioner.
| [out] | pc | Pointer to the preconditioner to create. |
References PCPerm::order.
Referenced by PETScSolParams::addDirSmoother().
| PetscErrorCode PCPermDestroy | ( | PC | pc | ) |
Destroy a permutated preconditioner.
| pc | Preconditioner to destroy |
References PCPerm::pc, and PetscCall.
Referenced by PETScSolParams::addDirSmoother().
| PetscErrorCode PCPermSetUp | ( | PC | pc, |
| IS * | perm, | ||
| Mat | A, | ||
| const char * | type | ||
| ) |
Configure the permutated preconditioner.
| [out] | pc | Preconditioner to create |
| perm | The index set describing the ordering | |
| A | The matrix to permutate | |
| type | type for preconditioner to create |
References PCPerm::Aperm, PCPerm::identity, PCPerm::order, and PCPerm::pc.
Referenced by PETScSolParams::addDirSmoother().