<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><meta http-equiv="content-type" content="text/html; charset=utf-8" class=""><div dir="auto" class=""><div dir="ltr" class=""></div><div dir="ltr" class="">Hello Lucas,</div><div dir="ltr" class="">Supposedly (I haven’t tried this myself for a while), HYPRE supports real-only complex-stored matrices.</div><div dir="ltr" class="">So as long as you assemble a complex Mat with a zero imaginary part, e.g., MatRealPart(Pmat), you could feed that to PCHYPRE.</div><div dir="ltr" class="">If you really want to use a real-only build of HYPRE, there could be a strategy using a PCSHELL, but it would require you to assemble all the HYPRE objects yourself, so I would first try the first strategy.</div><div dir="ltr" class=""><br class=""></div><div dir="ltr" class="">Thanks,</div><div dir="ltr" class="">Pierre</div><div dir="ltr" class=""><br class=""><blockquote type="cite" class="">On 29 Sep 2022, at 2:48 AM, Lucas Banting <<a href="mailto:bantingl@myumanitoba.ca" class="">bantingl@myumanitoba.ca</a>> wrote:<br class=""><br class=""></blockquote></div><blockquote type="cite" class=""><div dir="ltr" class="">

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" class="">



<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
Hello,<br class="">
<br class="">
My application involves the complex-valued curl-curl equation. <br class="">
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
I use the complex build of PETSc, but would like to try HYPRE AMS as a real preconditioner, in the same way as this paper describes:
<a href="https://www.research-collection.ethz.ch/bitstream/handle/20.500.11850/103394/geo2015-0013.1.pdf?sequence=2" id="LPNoLPOWALinkPreview" class="">
https://www.research-collection.ethz.ch/bitstream/handle/20.500.11850/103394/geo2015-0013.1.pdf?sequence=2</a><br class="">
<div class="_EReadonly_1 _EType_OWALinkPreview _Entity _EId_OWALinkPreview"></div>
My understanding of PETSc is that I can not mix complex and real scalars. Is there a way I can assemble a parallel, real valued matrix, from my complex PETSc matrix and use it with HYPRE?
<br class="">
<br class="">
I understand that I can do this by using a real build of PETSc (like MFEM does), but would prefer to keep using the complex build of PETSc as that is what the rest of my application uses.<br class="">
<br class="">
Thanks,<br class="">
Lucas<br class="">
<br class="">
</div>


</div></blockquote></div></body></html>