On Thu, Aug 25, 2011 at 11:11 AM, Marek Schmitt <span dir="ltr"><<a href="mailto:marek.schmitt@yahoo.com">marek.schmitt@yahoo.com</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Thanks to all of you for your suggestions. I'll give Sieve a try.<br>
<br>
I do understand that PETSc is neither a FEM nor a FVM framework. What I expect from PETSc is that it helps with the parallel communication across mesh partition boundaries. I don't think there is a better toolkit for this? On the contrary, I would like to<br>
implement the matrix coefficients myself for learning purposes. For this reason projects like libmesh don't help (besides, it is for FEM, not FVM). By the way, why does libmesh reinvent their own mesh classes instead of using PETSc's?<br>
</blockquote><div><br></div><div>libmesh has been doing this for a long time, much longer than PETSc had anything about meshes.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
While the PETSc pdf manual has several pages on working with distributed arrays, I don't find anything on distributed meshes except for a description of index sets. Is the use of DMMesh documented somewhere?</blockquote>
<div><br></div><div>No, not yet. I will write something soon. I did write something about dealing with values over</div><div>meshes, but it only applies to the C++ interface, so I want to rewrite it for people who only</div>
<div>want to use C. You can also read the first paper (Knepley Karpeev 2009). We have another</div><div>paper which is nearly ready which I can send you when we finish.</div><div><br></div><div> Thanks,</div><div><br></div>
<div> Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class="im">
Marek<br>
<br>
<br>
________________________________<br>
From: Matthew Knepley <<a href="mailto:knepley@gmail.com">knepley@gmail.com</a>><br>
</div>To: Marek Schmitt <<a href="mailto:marek.schmitt@yahoo.com">marek.schmitt@yahoo.com</a>>; PETSc users list <<a href="mailto:petsc-users@mcs.anl.gov">petsc-users@mcs.anl.gov</a>><br>
<div class="im">Sent: Wednesday, August 24, 2011 3:45 PM<br>
Subject: Re: [petsc-users] PETSc on unstructured meshes / Sieve<br>
<br>
<br>
</div><div><div></div><div class="h5">On Wed, Aug 24, 2011 at 1:25 PM, Marek Schmitt <<a href="mailto:marek.schmitt@yahoo.com">marek.schmitt@yahoo.com</a>> wrote:<br>
<br>
I would like to experiment with PETSc for learning FVM on unstructured grids. I get the impression that PETSc is primarily developed for structured grids with cartesian topology, is this true?<br>
><br>
<br>
PETSc is not primarily developed for discretization and topology. It solves systems of nonlinear algebraic equations. It does have<br>
some extensions that handle structured (DMDA) and unstructured (DMMesh) under the recently developed DM interface.<br>
<br>
Pylith and Fenics seem to use Sieve for unstructured grids. Is Sieve part of PETSc?<br>
><br>
<br>
Sieve is both the name of an interface (implemented by FEniCS) and an implementation of that interface (in PETSc).<br>
<br>
Why is it so much hidden? The very silent sieve-dev mailing list exists since four years, but there is a recent post:<br>
><br>
<br>
I am not sure its hidden. I answer all the questions on the list. Its a big project for one person to support. I put most of<br>
my time into supporting PyLith (<a href="http://geodynamics.org/cig/software/pylith" target="_blank">http://geodynamics.org/cig/software/pylith</a>) which uses it for parallel FEM simulation.<br>
PETSc is 20 years old, so we have had time to make some components more robust.<br>
<br>
"2) Unstructured meshes. This is not well-documented. There is a tutorial presentation and a repository of code for it. A few people have used this, but it is nowhere near the level of clarity and robustness that the rest of PETSc has." (from <a href="http://lists.mcs.anl.gov/pipermail/sieve-dev/2010-October/000098.html" target="_blank">http://lists.mcs.anl.gov/pipermail/sieve-dev/2010-October/000098.html</a>)<br>
>Is the sieve-dev list about a different sieve than what is used by Pylith and Fenics?<br>
><br>
<br>
They are two different implementations.<br>
<br>
There is a PETSc FAQ "Do you have examples of doing unstructured grid finite element computations (FEM) with PETSc?". It mentions Sieve but no further links or documentation.<br>
><br>
>Is the directory petsc-3.1-p8/include/sieve all that is needed to work with Sieve? Or are these only header files, and I have to link to the Sieve library from somewhere else (then where can I find Sieve)?<br>
><br>
<br>
You must use petsc-dev in order for the examples to work, like SNES ex12.<br>
<br>
Thanks,<br>
<br>
Matt<br>
<br>
Please shine some light into the mysterious Sieve.<br>
>Marek<br>
><br>
<br>
<br>
--<br>
What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>
-- Norbert Wiener <br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>
-- Norbert Wiener<br>