From: David K. <dav...@ak...> - 2018-01-16 14:00:18
|
Hi all, I'm working with Jonas on this topic, and I just wanted to add a few comments: - The original issue that Jonas ran into was indeed due to a "constraint cycle". - Our preferred fix is to detect constraint cycles and fix them ourselves, or at least to detect them and throw an error. What is the situation with error checking for constraint cycles at the moment? I made a test case with a constraint cycle and it doesn't hit an assertion failure or error in either dbg or opt mode, so as far as I have seen there seems to be no check for this? This seems dangerous to me since libMesh can currently silently give the wrong answer. - If there is no error checking for constraint cycles, then I'd propose to add some optional error checking to DofMap (and make sure this can be active in opt as well as dbg mode). I guess this is as simple as a function that is called after process_constraints that checks that all entries in constrain rows are unconstrained. Thanks, David On Mon, Jan 15, 2018 at 10:05 AM, Jonas Ballani <jon...@ep...> wrote: > Dear all, > > What I found out so far is that the problem in my example is related to > having a cycle in the constraints. If there are no cycles in the > constraints, all constraints can be resolved before they are applied so > that each constrained_dof_index (which is a row index) never appears as a > constraining dof (which is a column index). In this case, the matrix C has > a zero column at the constrained_dof_index, so that C^T*K*C has zero rows > and columns for all constrained_dof_indices. This means that inserting > unit rows for the constrained_dof_indices afterwards produces a symmetric > constraint matrix. In case of a cycle, the columns of C at the > constrained_dof_indices can also be non-zero as in my example so that the > final result is non-symmetric. > > I ran into that issue in opt mode, so I wonder if there is any error > checking in place that looks for cycles in the constraints? > > Best, > Jonas > > ------------------------------------------------------------ > ------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > _______________________________________________ > Libmesh-users mailing list > Lib...@li... > https://lists.sourceforge.net/lists/listinfo/libmesh-users > |