[Dune] Help requested for my first test case in non linear mechanics

HELFER Thomas 202608 thomas.helfer at cea.fr
Thu Apr 16 11:26:49 CEST 2020


Hi Carsten,

I'll try a direct solver and then try the symmetric elimination as you suggest after that
(nothing tells me that I did not make another mistake elsewhere).

Concerning your second remark, I really appreciate this kind of feedbacks. For
the moment, I just tried something that looked interesting, but as newcomer I may
choose  the wrong path, so your advices are highly valuable.

Once my test case is working, I'll give power spaces a try.

Best,

Thomas
________________________________________
De : Carsten Gräser [graeser at mi.fu-berlin.de]
Envoyé : jeudi 16 avril 2020 11:04
À : HELFER Thomas 202608; dune at lists.dune-project.org
Objet : Re: [Dune] Help requested for my first test case in non linear mechanics

Hi Thomas,
Am 16.04.20 um 09:53 schrieb Christian Engwer:
> Hi Thomas,
>
> as you said, it works for a single element, I don't think it is likely
> that the actual problem arises from wrong boundary conditions, but from
> something else. Your currently replace your Dirichlet rows with a
> diagonal 1. Some remarks... What is the size of your other matrix
> entries? Are they O(1)? Otherwise you might run into issues due to the
> different entries, or you have to do a full elimination (including
> columns). You are using a CG solver. That should work, as you are
> arriving in the right subspaces but your matrix is non-symmetric, so
> depending on the finite on precision errors, you might still run into
I think that's not true here. By using an ILU-preconditioner
you can no longer argue that CG will stay in the affine subspace
where the problem is symmetric. Furthermore there's no guarantee that
the ILU preconditioner is s.p.d. such that you can no longer be
sure that CG converges.

As a remedy I prose to incorporate the boundary conditions in a
symmetric way (i.e. use the residual for your boundary conditions
and zero-out Dirichlet columns as well) and use the symmetric ILDL
preconditioner instead of ILU.

Another remark: While you're solving a vector valued problem,
you're using a scalar basis (with vector valued coefficients).
Dune-functions easily allows to create power spaces which are
suitable for vector valued problems (cf. your vtk_basis). I'd
strongly recommend to use this, because using vector valued
coefficients in dune-functions partially works but was never
officially supported (for good reason).

Best,
Carsten




More information about the Dune mailing list