<div dir="ltr"><div><div><div><div><div>Hi,<br><br></div>Although I am experienced on C++ development on windows by using SVN, I need to learn too much things to use this algorithm I think.(petsc, debugging in linux, git, hg etc.) <br>
So, sorry for the rookie questions in advance.<br><br></div>You suggested me to use development version ----> petsc-dev (I believe I will compile and use it similar to petsc version of it), however it seems it has no branch named as "master", "next" or <span style="background-color:rgb(255,255,255)"><span style="line-height:1.4">"stefano_zampini/pcbddc-primalfixes"</span></span><br>
<br></div>These branches exist in "petsc" repo. Is it possible to merge petsc-dev and <span style="background-color:rgb(255,255,255)"><span style="line-height:1.4">"stefano_zampini/pcbddc-primalfixes"<br>
</span></span></div><div><span style="background-color:rgb(255,255,255)"><span style="line-height:1.4">petsc-dev is hg, petsc is git !<br></span></span></div><div><span style="background-color:rgb(255,255,255)"><span style="line-height:1.4"><br>
</span></span></div><span style="background-color:rgb(255,255,255)"><span style="line-height:1.4">or am I get it totaly wrong!</span></span><span style="background-color:rgb(255,255,255)"><span style="line-height:1.4"> I am confused.<br>
<br></span></span></div><div><span style="background-color:rgb(255,255,255)"><span style="line-height:1.4">Could someone explain me the development hierarchy in petsc? what is petsc-dev and why it has no branches? <br></span></span></div>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Sep 3, 2014 at 6:18 PM, Stefano Zampini <span dir="ltr"><<a href="mailto:stefano.zampini@gmail.com" target="_blank">stefano.zampini@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div>FETIDP is in PETSc as a byproduct of the BDDC preconditioner (one is the dual of the other) and it does not have its own classes so far.</div>
<div><br></div><div>That said, you can experiment with FETI-DP only after having setup a BDDC preconditioner with the options and customization you prefer.</div><div>Use <a href="http://www.mcs.anl.gov/petsc/petsc-dev/docs/manualpages/KSP/index.html" target="_blank">http://www.mcs.anl.gov/petsc/petsc-dev/docs/manualpages/KSP/index.html</a> for manual pages.</div>
<div> </div><div>For an 'how to' with FETIDP, please see src/ksp/ksp/examples/tutorials/ex.59.c as Jed told you, specifically look at <span style="background-color:rgb(255,255,255);line-height:1.4">C</span><span style="background-color:rgb(255,255,255)"><span style="line-height:1.4">omputeKSPFETIDP for obtaining the FETIDP matrix F (implemented Matrix-free) and the optimal FETIDP dirichlet preconditioner. Once you have F, y</span></span><span style="line-height:1.4;background-color:rgb(255,255,255)">ou can use PCBDDCMatFETIDPGetRHS and PCBDDCMatFetiDPGetSolution to obtain a right-hand side for the FETIDP system and a physical solution from the solution of the FETIDP system.</span></div>
<div><span style="background-color:rgb(255,255,255)"><span style="line-height:1.4"><br></span></span></div><div><span style="background-color:rgb(255,255,255)"><span style="line-height:1.4">I would recommend </span><span style="line-height:1.4">you to use the development version of the library and either use the </span><span style="line-height:16px">‘</span><span style="line-height:1.4">next</span><span style="line-height:16px">’</span><span style="line-height:1.4"> branch or the </span><span style="line-height:16px">‘</span><span style="line-height:1.4">master' branch after having merged in the branch stefano_zampini/pcbddc-primalfixes. </span></span><span style="line-height:1.4">Note that </span><span style="line-height:16px">‘</span><span style="line-height:1.4">next</span><span style="line-height:16px">’</span><span style="line-height:1.4"> also contains the </span><span style="line-height:16px">new</span><span style="line-height:1.4"> deluxe scaling operator for BDDC which is not available to use with FETI-DP.</span></div>
<div><br></div><div>If you have any other questions which can be useful for other PETSc users, please use the mailing list; otherwise you can contact me personally.</div><span class="HOEnZb"><font color="#888888"><div><br>
</div><div>Stefano</div></font></span><div><div class="h5"><div><div><div><br></div><div><br></div><div>On Sep 3, 2014, at 5:19 PM, Jed Brown <<a href="mailto:jed@jedbrown.org" target="_blank">jed@jedbrown.org</a>> wrote:</div>
<br><blockquote type="cite">Matthew Knepley <<a href="mailto:knepley@gmail.com" target="_blank">knepley@gmail.com</a>> writes:<br><blockquote type="cite"><blockquote type="cite">1- Is it possible to complete a FETI-DP solution with the provided<br>
functions in current PetSc release?<br><br></blockquote><br>There is no FETI-DP in PETSc. <br></blockquote><br>Wrong. There is PCBDDC, which has the same eigenvalues as FETI-DP. You<br>can enable it by configuring --with-pcbddc. This will be turned on by<br>
default soon. It is fairly new, so you should use the branch 'master'<br>instead of the release. It has an option to do FETI-DP instead of BDDC.<br>See src/ksp/ksp/examples/tutorials/ex59.c.<br><br>For either of these methods, you have to assemble a MATIS. If you use<br>
MatSetValuesLocal, most of your assembly code can stay the same.<br><br>Hopefully we can get better examples before the next release. Stefano<br>(the author of PCBDDC, Cc'd) tests mostly with external packages, but we<br>
really need more complete tests within PETSc.<br></blockquote></div><br></div></div></div></div></blockquote></div><br></div>