Closed nlelong closed 2 years ago
Hello. I pushed your example code to a branch (with some cleanup)
https://github.com/SCOREC/core/blob/e0839b748ffb3b2717090d6cb70966010dc4d2da/test/nonmanifold.cc
and ran it. Note, this call https://github.com/SCOREC/core/blob/e0839b748ffb3b2717090d6cb70966010dc4d2da/test/nonmanifold.cc#L13 is required to have pumi write output; by default it is silent.
The output from running the example code is:
$ ./test/nonmanifold
APF FAILED: apf::Verify: vertex with 1 adjacent edges
centroid: (0, 0, 0)
based on the following:
- vertex is classified on a model edge
which is adjacent to 0 model faces
and is a manifold boundary edge
making the vertex "exposed" at the geometric boundary
we would expect the adjacent edge count to be at least 2
The key here is that the NULL
model has no topology or shape (e.g., coordinates) info; it is strictly meant for debugging. As discussed in #99, the mesh needs to be classified on a valid model. In addition to the references provided in #99 and #100, there are some notes on geometric models here:
https://github.com/SCOREC/core/wiki/Geometric-Models
Hello !
I'm using PUMI as the underlying distributed mesh library in our mechanics code. On some occasions we will want to have mesh parts of different dimensions interacting with each other (e.g. beam/shell elements) in our mesh. When I try to do that with PUMI, adjacencies seem to work fine but the mesh can't be verified (it crashes). The following example tries to add a 1D element and a 2D element in a single mesh instance. I'm using the apf interface since in our code we want to be able to have multiple instances of apf::Mesh2, problematic with the pumi main API.
example.zip
Adjacency computation works fine. Is the verify function unable to consider this or did I do something wrong (I'm aware I may not be using PUMI the usual way ? Is there limitations to this use case with PUMI, especially when it comes to partitioning and migration ? Thanks a lot for your help !