<div dir="ltr"><div><div><div><div><div><div><div><div><div><div><div><div>Dear all,<br><br></div><div>I am using PETSC and SLEPC to simulate a problem in MHD, described in <a href="http://scitation.aip.org/content/aip/journal/pop/21/4/10.1063/1.4871859">http://scitation.aip.org/content/aip/journal/pop/21/4/10.1063/1.4871859</a>.<br>
<br></div><div>I have a bit of experience with MPI but not too much with PETSC and SLEPC. So after reading both user manuals and also the relevant chapters of the PETSC developers manual, I still can't get it to work.<br>
</div><br></div>The problem that I have to solve is a large generalized eigenvalue system where the matrices are both Hermitian<b> by blocks</b> and <b>tridiagonal</b>, e.g.:<br>
<br></div>( A11 A12 0 0 0 ) ( B11 B12 0 0 0 )<br></div>( A12* A22 A23 0 0 ) ( B12* B22 B23 0 0 )<br></div><div>( 0 A23* A33 A34 0 ) = lambda ( 0 B23* B33 B34 0 ) </div>
<div>( 0 0 A34* A44 A45) ( 0 0 B34* B44 B45)</div><div>( 0 0 A45* A55 0 ) ( 0 0 B45* B55 0 )<br></div><div><br></div>where
Aii = Aii*, with * the Hermitian conjugate. I apologize for the ugly
representation. <br>
<br></div>The dimensions of both A and B are around 50 to 100 blocks (as
there is a block per discretized point) and the blocks themselves can
vary from 1 to more than 100x100 as well (as they correspond to a
spectral decomposition).<br>
<br></div>Now, my question is: how to solve this economically?<br><br>What I have been trying to do is to make use of the fact that the matrices are Hermitian and by using <b>matcreatesbaij</b> and through the recommended <b>matcreate</b>, <b>matsettype(matsbaij)</b>, etc.<br>
</div></div>
<br></div>Could someone help me out? All help would be greatly appreciated!<br></div><br>Thank you in advance,<br></div>Toon<br>UC3M<br></div>