[MOAB-dev] Possible bug in 2-D quadratic elements
Jason Kraftcheck
kraftche at cae.wisc.edu
Tue Jan 13 16:10:47 CST 2009
Wollaber, Allan B. wrote:
> Jason,
>
> Thank you for your prompt reply.
>
> Actually, I never call "iMesh_createMesh", and I can't find this
> function in any of the header files. I'm working out of the trunk of
> MOAB (grep -ir createmesh *). Do you possibly mean "iMesh_newMesh"? I
Yes, I meant the latter. Apologies for any confusion.
> would prefer to just use "iMesh_load", since I am just loading the mesh
> directly from the CUBIT file. Would it be necessary to create a new
> mesh instance and copy in the mesh loaded from CUBIT to achieve this? If
> so, I'm actually not sure how best to do that. Is there a "copy
> constructor" somewhere?
You need to call iMesh_newMesh to create the "iMesh_instance" object which
is later passed to iMesh_load. The name "newMesh" is a bit misleading, as
it doesn't create a mesh (new or otherwise), but rather an instance of the
database.
>
> Also, will using this setting affect the success I've had thus far with
> the quadratic 3-D elements? It is only the 2-D elements that I've had
> trouble with.
>
It shouldn't. But it appears that the problem is more complicated that I
had at first thought. Apparently the version of MOAB you are using is
always returning the higher-order nodes from getEntArrAdj (regardless of any
setting.) I don't know if the MOAB behavior has changed or if someone has
modified your copy of MOAB. So the problem you are seeing is a bug rather
than an API issue. I'm looking into this right now. So far the problem
appears to be that the 'cub' file reader in MOAB looses the higher-order
nodes on the edges of face elements (thus 5 nodes for a quad9.)
- jason
More information about the moab-dev
mailing list