<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">
<br class="">
<div><br class="">
<blockquote type="cite" class="">
<div class="">On Mar 27, 2019, at 8:07 PM, Sajid Ali via petsc-users <<a href="mailto:petsc-users@mcs.anl.gov" class="">petsc-users@mcs.anl.gov</a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<div dir="ltr" class="">
<div dir="ltr" class="">
<div class="">
<div class=""><span class="gmail-pl-c">Hi, <br class="">
<br class="">
I'm able to solve the following equation using complex numbers (with ts_type cn and pc_type gamg) :<br class="">
                              u_t = A*u'' + F_t*u; </span><br class="">
<span class="gmail-pl-c">(where A = -1j/(2k) amd u'' refers to u_xx+u_yy implemented with the familiar 5-point stencil)</span><br class="">
<br class="">
</div>
Now, I want to solve the same problem using real numbers. The equivalent equations are:
<br class="">
</div>
u_t_real   =  1/(2k) * u''_imag + F_real*u_real   - F_imag*u_imag<br class="">
u_t_imag = -1/(2k) * u''_real   + F_imag*u_real - F_real*u_imag
<div class=""><br class="">
</div>
<div class="">Thus, if we now take our new u vector to have twice the length of the problem we're solving, keeping the first half as real and the second half as imaginary, we'd get a matrix that had matrices computing the laplacian via the 5-point stencil in
 the top-right and bottom-left corners and a diagonal [F_real+F_imag, F_real-F_imag] term.
<br class="">
</div>
<div class=""><br class="">
</div>
<div class="">I tried doing this and the gamg preconditioner complains about an unsymmetric matrix. If i use the default preconditioner, I get DIVERGED_NONLINEAR_SOLVE.
<br class="">
<br class="">
Is there a way to better organize the matrix ? <br class="">
<br class="">
</div>
<div class="">PS: I'm trying to do this using only real numbers because I realized that the optimized avx-512 kernels for KNL are not implemented for complex numbers. Would that be implemented soon ?</div>
</div>
</div>
</div>
</blockquote>
<div><br class="">
</div>
Can you provide a PETSc log for your code using complex numbers with -ts_type cn and -pc_type gamg? I am doubtful that it could benefit much from AVX optimizations on KNL.</div>
<div><br class="">
</div>
<div>Thanks,</div>
<div>Hong (Mr.) </div>
<div><br class="">
<blockquote type="cite" class="">
<div class="">
<div dir="ltr" class="">
<div dir="ltr" class="">
<div class=""><br class="">
</div>
<div class=""><br class="">
<div class="">Thank You,<br class="">
</div>
<div class="">
<div dir="ltr" class="gmail_signature">
<div dir="ltr" class="">
<div style="font-size:12.8px" class="">Sajid Ali<br class="">
</div>
<div style="font-size:12.8px" class="">Applied Physics<br class="">
</div>
<div style="font-size:12.8px" class="">Northwestern University</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
<br class="">
</body>
</html>