[petsc-users] PETSc on unstructured meshes / Sieve

Brad Aagaard baagaard at usgs.gov
Wed Aug 24 11:56:03 CDT 2011


Marek-

I am one the primary uses of Sieve as one of the PyLith developers. We 
have been using Sieve since its infancy and have successfully made seven 
PyLith releases that depend on it over the last 5 years. Sieve is used 
by only a few projects and is maintained almost exclusively by Matt. As 
a result it is not tested as extensively as PETSc and little effort has 
gone into the documentation. Most of Matt's time goes into ongoing 
development in support of its use in projects rather than documentation. 
The downside is that it takes some time to figure out how to use it and 
one has to refer to the Sieve code directly rather than any 
documentation, but the upside is that one learns much more about Sieve 
and how it works in the process. Matt also adds features to support 
projects. Sieve is also not as mature so occasionally there are 
significant changes. However, it is quite powerful due to its generality.

Brad


On 08/24/2011 07:55 AM, Marek Schmitt wrote:
> Thank you very much for the reply. However, I am even more confused now.
>
> Fenics is built on top of PETSc,
> isn't it? Then why do they use different Sieve implementations? Is one
> of the implementations much more advanced than the other, and if yes,
> could you show me some mailing list discussion or other information
> where the two are compared? (An acronym like "PETSc" is much easier to
> search for than "sieve")
>
>
> How is it meant that Sieve is
> "nowhere near the level of clarity and robustness that the rest of PETSc has"? Is it just that PETSc has very high standards that are not met by Sieve, or does Sieve have any major flaws or drawbacks? I just want to
> make sure that I don't work in impassable terrain.
>
> Marek
>
> ________________________________
> From: Matthew Knepley<knepley at gmail.com>
> To: Marek Schmitt<marek.schmitt at yahoo.com>; PETSc users list<petsc-users at mcs.anl.gov>
> Sent: Wednesday, August 24, 2011 3:45 PM
> Subject: Re: [petsc-users] PETSc on unstructured meshes / Sieve
>
>
> On Wed, Aug 24, 2011 at 1:25 PM, Marek Schmitt<marek.schmitt at yahoo.com>  wrote:
>
> 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?
>>
>
> PETSc is not primarily developed for discretization and topology. It solves systems of nonlinear algebraic equations. It does have
> some extensions that handle structured (DMDA) and unstructured (DMMesh) under the recently developed DM interface.
>
> Pylith and Fenics seem to use Sieve for unstructured grids. Is Sieve part of PETSc?
>>
>
> Sieve is both the name of an interface (implemented by FEniCS) and an implementation of that interface (in PETSc).
>
> Why is it so much hidden? The very silent sieve-dev mailing list exists since four years, but there is a recent post:
>>
>
> 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
> my time into supporting PyLith (http://geodynamics.org/cig/software/pylith) which uses it for parallel FEM simulation.
> PETSc is 20 years old, so we have had time to make some components more robust.
>
> "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 http://lists.mcs.anl.gov/pipermail/sieve-dev/2010-October/000098.html)
>> Is the sieve-dev list about a different sieve than what is used by Pylith and Fenics?
>>
>
> They are two different implementations.
>
> 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.
>>
>> 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)?
>>
>
> You must use petsc-dev in order for the examples to work, like SNES ex12.
>
>    Thanks,
>
>        Matt
>
> Please shine some light into the mysterious Sieve.
>> Marek
>>
>
>



More information about the petsc-users mailing list