[petsc-dev] 6-node wedge cells in DMPlex

Adrian Croucher a.croucher at auckland.ac.nz
Mon Apr 14 20:44:14 CDT 2014


hi

I just discovered that DMPlexInterpolate() complains if I try to 
interpolate a mesh containing 6-node wedge cells in 3-D:

[0]PETSC ERROR: Argument out of range
[0]PETSC ERROR: Cone size 6 not supported for dimension 3

Looking in the code, it appears that DMPlexGetRawFaces_Internal() only 
supports cells with 3, 4 or 8 nodes in 3-D.

At first I thought it would be simple enough to add another case in 
there for cone size 6. But then I noticed that 
DMPlexInterpolateFaces_Internal() will throw an error for any type of 
cell with faces that don't all have the same number of nodes - and 
there's a comment in there saying "I see no way to do this if we admit 
faces of different shapes".

I don't know the routine well enough to understand what the difficulty 
is, but are there any plans to generalise DMPlexInterpolate() so that it 
can handle commonly-used cell types (like 6-node wedge) that have faces 
with different numbers of nodes? We use wedge cells quite a bit, so it 
would limit the usefulness of DMPlex if it can't support them. Unless 
there is some kind of workaround?

Cheers, Adrian

-- 
Dr Adrian Croucher
Department of Engineering Science
University of Auckland
New Zealand
tel 64-9-373-7599 ext 84611




More information about the petsc-dev mailing list