From: Roy S. <roy...@ic...> - 2014-02-03 16:45:33
|
On Mon, 3 Feb 2014, Jens Lohne Eftang wrote: > With libmesh 0.9.3-pre, If I do use a DirichletBoundary (with a ZeroFunction > or ConstFunction), and then after calling system.solve() loop over my system > matrix entries to check symmetry, my matrix is symmetric to machine > precision. What do the *constrain_elem* calls in your code look like? Oh, wait, I'm being silly. If you've only got constraints from Dirichlet boundaries, then it doesn't matter whether you explicitly enforce symmetry or not; the constraint equation "x_i = c" just has a 1 on the diagonal and no off-diagonal components. It's only AMR constraints that are likely to break symmetry. > And also the linear solver would have complained about any lack of > symmetry (I would assume). Not a safe assumption; testing for symmetry can be expensive. I recall once running into a preconditioner that would just silently "converge" to the wrong answer if fed an asymmetric matrix. --- Roy |