[petsc-dev] DMPlexCreateExodus directly from file

Michael Lange michael.lange at imperial.ac.uk
Wed Feb 26 07:23:35 CST 2014

Hi Matt,

On 25/02/14 15:41, Matthew Knepley wrote:
> On Feb 25, 2014 9:48 AM, "Michael Lange" <michael.lange at imperial.ac.uk 
> <mailto:michael.lange at imperial.ac.uk>> wrote:
> >
> > Hi,
> >
> > I keep hitting problems in my application code when I try to read in 
> ExodusII meshes via DMPlex due to the exodus libs installed on my 
> system. I can get around those simply by adding adding the ex_open() 
> call required to get the exoid directly to DMPlexCreateExodus(). This 
> solution works great with the ExodusII version PETSc downloads during 
> configure and also makes the DMPlex-ExodusII interface self-contained, 
> which means that I do not have to link my application code against 
> exodus libs at all. The same argument applies to the DMPlex-CGNS 
> interface.
> >
> > So, I would like to prepare a pull request to make the ExodusII 
> (CGNS) interface self-contained, and I can see two ways to do this:
> > a) Add the ex_open() call to DMPlexCreateExodus() and change the 
> interface to use the file name directly
> > b) Add a utility function DMPlexCreateExodusFromFile() which calls 
> ex_open and then invokes DMPlexCreateExodus() as before
> >
> > Please tell me what you think and which way you prefer, and I will 
> provide a pull request to implement this.
> I like b). Very often users want to control their own files.
Great, I just sent a pull request that implements b).
> Note that you can make the ex_open() call without appealing to your 
> system since PETSc has already linked it.
Usually yes, but I want to use ExodusII/CGNS meshes via the recently 
added DMPlex Python wrappers in petsc4py, which is much cleaner if the 
mesh files are handled by PETSc.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20140226/571aa4d1/attachment.html>

More information about the petsc-dev mailing list