On Thu, 3 Jan 2019, Salazar De Troya, Miguel via Libmesh-users wrote:

> Running an example with 10 processors (works in serial) fails with the error:

One of our examples?

> !libmesh_assert_pass' failed
>
> The program stops at libmesh_assert(test_unflagged(true)) in
> MeshRefinement::refine_and_coarsen_elements(). The remaining stack
> trace when TotalView stops is as follows (sorry for the rudimentary
> copy and paste, it’s all I can do now):
>
> MeshRefinement::test_unflagged (bool libmesh_dbg_var(libmesh_assert_pass))
> std::ostream & operator << (std::ostream & os, const Elem & e)
> Elem::print_info (std::ostream & os)
> std::string Elem::get_info ()
> bool DofObject::valid_id () <-- Stops here.

That's... baffling.  At that point _coarsen_elements should have
coarsened (and cleared flags of) anything flagged to coarsen, then
_refine_elements should have refined (and cleared flags of) anything
flagged to refine, then there should obviously be nothing left to
coarsen or to refine.

Hmm... the flag clearing in coarsening is actually done when the
parents get coarsen() called.  Is it possible that we're screwing up
make_coarsening_compatible somewhere and leaving a child marked
COARSEN without properly marking its parent COARSEN_INACTIVE?

> Please let me know if you need more details. I will keep investigating.

There's no output from that print_info?

I don't know what I can do about this unless I can reproduce it.  I
could suggest some asserts that might catch the hypothesis above.
---
Roy
_______________________________________________
Libmesh-users mailing list
Libmesh-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to