[petsc-users] DMPlexInterpolate error nonconforming object sizes
Prateek Gupta
prateekgupta1709 at gmail.com
Sat Jul 2 02:10:44 CDT 2022
Hi,
I am trying to create a minimal example of reading nodes and elements from
a text file and creating dmplex mesh. So far I am following the procedure
as in plexfluent.c. However, while trying to interpolate the mesh, I get
the error,
[0]PETSC ERROR: Nonconforming object sizes
[0]PETSC ERROR: The number of vertices in first DM 20 != 0 in the second DM
The call trace looks like this,
[0]PETSC ERROR: #1 DMPlexCopyCoordinates() line 1448 in
/build/petsc-zg3KH7/petsc-3.12.4+dfsg1/src/dm/impls/plex/plexinterpolate.c
[0]PETSC ERROR: #2 DMPlexInterpolate() line 1394 in
/build/petsc-zg3KH7/petsc-3.12.4+dfsg1/src/dm/impls/plex/plexinterpolate.c
The code snippet for interpolation is exactly same as in plexfluent.c
except for the petscCall function,
--------------------------------------------------
if (interpolate) {
DM idm;
PetscCall(DMPlexInterpolate(*dm, &idm));
PetscCall(DMDestroy(dm));
dm = idm;
}
--------------------------------------------------
dm is the DM object declared within main only. Any help will be
appreciated. I can guess that the idm object doesn't have memory allocated
for copying the vertices, but my question is how come it works off-the-bat
for fluent/gmsh files using functions in plexfluent.c and plexgmsh.c. Is
there a way to allocate just the vertices? Or do I need to use
DMPlexSetChart for idm object before interpolating?
Thank you.
Sincerely,
Prateek Gupta, PhD
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20220702/58c8056d/attachment.html>
More information about the petsc-users
mailing list