[petsc-users] Preconditioning systems of equations with complex numbers

Justin Chang jychang48 at gmail.com
Thu Jan 31 14:18:26 CST 2019


Hi all,

I'm working with some folks to extract a linear system of equations from an
external software package that solves power flow equations in complex form.
Since that external package uses serial direct solvers like KLU from
suitesparse, I want a proof-of-concept where the same matrix can be solved
in PETSc using its parallel solvers.

I got mumps to achieve a very minor speedup across two MPI processes on a
single node (went from solving a 300k dog system in 1.8 seconds to 1.5
seconds). However I want to use iterative solvers and preconditioners but I
have never worked with complex numbers so I am not sure what the "best"
options are given PETSc's capabilities.

So far I tried GMRES/BJACOBI and it craps out (unsurprisingly). I believe I
also tried BICG with BJACOBI and while it did converge it converged slowly.
Does anyone have recommendations on how one would go about preconditioning
PETSc matrices with complex numbers? I was originally thinking about
converting it to cartesian form: Declaring all voltages =
sqrt(real^2+imaginary^2) and all angles to be something like a conditional
arctan(imaginary/real) because all the papers I've seen in literature that
claim to successfully precondition power flow equations operate in this
form.

Justin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20190131/0079fed8/attachment.html>


More information about the petsc-users mailing list