[petsc-dev] reading gmsh into DMPlex

Adrian Croucher a.croucher at auckland.ac.nz
Wed May 15 21:59:52 CDT 2019


hi

A couple of years ago (see below) I was having problems reading in GMSH 
files using DMPlexCreateFromFile(), if the MSH file didn't have a 
newline on the end.

It was fixed at the time, but the problem seems to be happening again 
with PETSc 3.11.1.

I've attached an example mesh which no longer works (unless you add a 
newline on the end of it). The error message is below.

- Adrian

[0]PETSC ERROR: Invalid argument
[0]PETSC ERROR: File is not a valid Gmsh file, expecting $EndElements
[0]PETSC ERROR: See http://www.mcs.anl.gov/petsc/documentation/faq.html 
for trouble shooting.
[0]PETSC ERROR: Petsc Development GIT revision: v3.11.1-701-g5065da2f63  
GIT Date: 2019-05-13 01:43:35 -0
500
[0]PETSC ERROR: ./plexview on a linux-gnu-c-opt named en-354401 by 
acro018 Thu May 16 14:54:13 2019
[0]PETSC ERROR: Configure options --with-x --download-hdf5 
--download-zlib --download-pnetcdf --download-
netcdf --download-exodusii --download-triangle --download-ptscotch 
--download-chaco --download-hypre --wi
th-debugging=0 COPTFLAGS="-O3 -march=native -mtune=native" 
CXXOPTFLAGS="-O3 -march=native -mtune=native"
FOPTFLAGS="-O3 -march=native -mtune=native"
[0]PETSC ERROR: #1 GmshExpect() line 80 in 
/home/acro018/software/PETSc/code/src/dm/impls/plex/plexgmsh.c
[0]PETSC ERROR: #2 GmshReadEndSection() line 108 in 
/home/acro018/software/PETSc/code/src/dm/impls/plex/p
lexgmsh.c
[0]PETSC ERROR: #3 DMPlexCreateGmsh() line 1107 in 
/home/acro018/software/PETSc/code/src/dm/impls/plex/pl
exgmsh.c
[0]PETSC ERROR: #4 DMPlexCreateGmshFromFile() line 989 in 
/home/acro018/software/PETSc/code/src/dm/impls/
plex/plexgmsh.c
[0]PETSC ERROR: #5 DMPlexCreateFromFile() line 3268 in 
/home/acro018/software/PETSc/code/src/dm/impls/ple
x/plexcreate.c
[0]PETSC ERROR: #6 User provided function() line 0 in User file


On 17/01/17 4:32 PM, Matthew Knepley wrote:
> On Mon, Jan 16, 2017 at 9:15 PM, Adrian Croucher 
> <a.croucher at auckland.ac.nz <mailto:a.croucher at auckland.ac.nz>> wrote:
>
>     hi Matt
>
>
>     On 17/01/17 15:52, Matthew Knepley wrote:
>>
>>     Its a DOS file and has no newline at the end. Thus, when I read
>>     $EndElements, it has no termination and you
>>     can something weird. I put a newline on that line and its fine.
>>
>
>     I don't think it is a DOS file- it was created on a Linux machine,
>     emacs doesn't identify it as DOS, and I tried running dos2unix on
>     it to make sure, but that made no difference.
>
>     What does make a difference is manually adding a newline on the
>     end. However, that isn't super convenient when these files are
>     being created automatically via scripts.
>
>     Would it be possible to make DMPlexCreateGmsh() a bit more robust
>     about the line ending at the end of the file? Gmsh itself isn't
>     bothered by it.
>
>
> Yes, that was lazy. The fix is in next.
>
>  Thanks,
>
>     Matt

-- 
Dr Adrian Croucher
Senior Research Fellow
Department of Engineering Science
University of Auckland, New Zealand
email: a.croucher at auckland.ac.nz
tel: +64 (0)9 923 4611

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20190516/1a5c3062/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: testmesh3.msh
Type: model/mesh
Size: 5798 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20190516/1a5c3062/attachment.msh>


More information about the petsc-dev mailing list