Hi John, I am really stuck here... any clue would be helpful. Can you tell me if the pattern below is familiar?
I could not get the "add_extra_ghost_elements" to work. I am using individual "add_constrain_row" to model the rigid BC (DOF_I = REFERENCE_DOF). LibMesh fails when I call "reinit_constaints", which internally calls my own "constrain" function to add the constrain_rows. This is what I see now: ... # Debug[1]: add_constraint_row: 3781 => 1287 (dof => dof) # Debug[1]: add_constraint_row: 3887 => 1287 # Debug[1]: add_constraint_row: 3927 => 1287 # Debug[1]: add_constraint_row: 4021 => 1287 # Debug[1]: add_constraint_row: 4025 => 1287 Assertion `item.first != expandable' failed. Stack frames: 9 0: libMesh::print_trace(std::ostream&) 1: libMesh::MacroFunctions::report_error(char const*, int, char const*, char const*) 2: libMesh::DofMap::process_constraints(libMesh::MeshBase&) 3: libMesh::System::reinit_constraints() Thanks, Renato On Wed, Feb 20, 2019 at 6:58 PM Renato Poli <rebp...@gmail.com> wrote: > Hi John, > > Should I consider "add_extra_ghost_elem"? > Then I add "row_constraints" between the DOFs I need to tie together and > this element. > Does that make sense? > If so, what element should I add? I just need a single DOF to tie many > DOFs together. > > thanks, > Renato > > On Wed, Feb 20, 2019 at 6:07 PM Renato Poli <rebp...@gmail.com> wrote: > >> Adding the mailing list in distribution... >> >> On Wed, Feb 20, 2019 at 6:03 PM Renato Poli <rebp...@gmail.com> wrote: >> >>> Thanks. >>> >>> Do you see a better way to do? >>> I can see that Abaqus uses an extra node to tie all dofs together. >>> I need the DOFs to be identical. >>> That means eliminating lines in the matrix so that the displacements are >>> identical to each other. >>> >>> Renato >>> >>> On Wed, Feb 20, 2019 at 5:53 PM John Peterson <jwpeter...@gmail.com> >>> wrote: >>> >>>> On Wed, Feb 20, 2019 at 2:43 PM Renato Poli <rebp...@gmail.com> wrote: >>>> >>>>> Hi all, >>>>> >>>>> Just refreshing this one, because I am sort of stuck in inserting a >>>>> "rigid" >>>>> BCs. >>>>> It seems simple, but I cannot make it work. >>>>> >>>> >>>> Hi, >>>> >>>> From your error message, it sounds like you are introducing a coupling >>>> (through the constraint) between two dofs which would otherwise not be >>>> coupled, and this causes a new nonzero to be inserted into the system >>>> matrix after preallocation. You may be able to work around this issue by >>>> augmenting the sparsity pattern using a GhostingFunctor, similar to what is >>>> done in miscellaneous/miscellaneous_ex9/augment_sparsity_on_interface.h. >>>> >>>> -- >>>> John >>>> >>>> _______________________________________________ Libmesh-users mailing list Libmesh-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libmesh-users