Hello, I'm trying to solve a problem on a uniform mesh, refine part of it, and then solve the problem again on the new mesh, using the previous solution as an initial guess. To that end, I set FEMSystem::project_solution_on_reinit() = true and call EquationSystems::reinit() after each mesh refinement.
I set MeshRefinement::face_level_mismatch_limit() = 0 so that I can have neighboring refined and unrefined elements like this: o---o---o---o---o---------------o | | | | | | | | | | | | o---o---o---o---o | | | | | | | | | | | | | o---o---o---o---o | | | | | | | | | | | | | o---o---o---o---o | | | | | | | | | | | | | o---o---o---o---o---------------o I mark some elements for refinement, then call MeshRefinement::refine_elements() to refine them, like in Misc Ex 4. However, when I call EquationSystems::reinit(), I get " Assertion `!libmesh_assert_pass' failed. " with the backtrace " #0 libMesh::MeshRefinement::test_level_one (this=0x7fffffffc950, libmesh_assert_pass=true) at src/mesh/mesh_refinement.C:410 #1 0x00007ffff5e2f3fe in libMesh::MeshRefinement::coarsen_elements (this=0x7fffffffc950) at src/mesh/mesh_refinement.C:605 #2 0x00007ffff615cec2 in libMesh::EquationSystems::reinit (this=0x7fffffffd3f0) at src/systems/equation_systems.C:239 " It appears that somewhere, MeshRefinement::_face_level_mismatch_limit becomes 1 (although setting a breakpoint in MeshRefinement::face_level_mismatch_limit() revealed no calls but that which was used to set it to 0) and so MeshRefinement::coarsen_elements() calls for the failed assertion. I'm I missing something (a flag somewhere?), or does projecting on reinit require the mesh satisfy the "level one" rule? Thanks, Harriet ------------------------------------------------------------------------------ _______________________________________________ Libmesh-users mailing list Libmesh-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libmesh-users