:orphan: # PCSORGetSymmetric Gets the form the SOR preconditioner is using; backward, or forward relaxation. The local variants perform SOR on each processor. By default forward relaxation is used. ## Synopsis ``` #include "petscpc.h" PetscErrorCode PCSORGetSymmetric(PC pc, MatSORType *flag) ``` Logically Collective ## Input Parameter - ***pc -*** the preconditioner context ## Output Parameter - ***flag -*** one of the following ```none SOR_FORWARD_SWEEP SOR_BACKWARD_SWEEP SOR_SYMMETRIC_SWEEP SOR_LOCAL_FORWARD_SWEEP SOR_LOCAL_BACKWARD_SWEEP SOR_LOCAL_SYMMETRIC_SWEEP ``` ## Options Database Keys - ***-pc_sor_symmetric -*** Activates symmetric version - ***-pc_sor_backward -*** Activates backward version - ***-pc_sor_local_forward -*** Activates local forward version - ***-pc_sor_local_symmetric -*** Activates local symmetric version - ***-pc_sor_local_backward -*** Activates local backward version ## Note To use the Eisenstat trick with SSOR, employ the `PCEISENSTAT` preconditioner, which can be chosen with the option - ***-pc_type eisenstat -*** Activates Eisenstat trick ## See Also `PCSOR`, `PCEisenstatSetOmega()`, `PCSORSetIterations()`, `PCSORSetOmega()`, `PCSORSetSymmetric()` ## Level intermediate ## Location src/ksp/pc/impls/sor/sor.c ## Implementations PCSORGetSymmetric_SOR in src/ksp/pc/impls/sor/sor.c
--- [Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/ksp/pc/impls/sor/sor.c) [Index of all PC routines](index.md) [Table of Contents for all manual pages](/manualpages/index.md) [Index of all manual pages](/manualpages/singleindex.md)