:orphan: # PCSORSetSymmetric Sets the SOR preconditioner to use symmetric (SSOR), backward, or forward relaxation. The local variants perform SOR on each processor. By default forward relaxation is used. ## Synopsis ``` #include "petscpc.h" PetscErrorCode PCSORSetSymmetric(PC pc, MatSORType flag) ``` Logically Collective ## Input Parameters - ***pc -*** the preconditioner context - ***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()` ## Level intermediate ## Location src/ksp/pc/impls/sor/sor.c ## Implementations PCSORSetSymmetric_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)