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 <[email protected]>
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
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/libmesh-users
>
------------------------------------------------------------------------------
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to