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

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


Hi Olivier,
I am sorry, I did not understand your point here. I did not want to replace the matrix by a diagonal one,
just erase the row corresponding to the component upon which this boundary conditions acts.
Have I missed something ?
Thomas
________________________________________
De : Dune [dune-bounces at lists.dune-project.org] de la part de Oliver Sander [oliver.sander at tu-dresden.de]
Envoyé : jeudi 16 avril 2020 11:11
À : dune at lists.dune-project.org
Objet : Re: [Dune] Help requested for my first test case in non linear mechanics

Hi Thomas,

AFAICT, your method apply_boundary_conditions contains a classic mistake:
You are not setting the matrix diagonals correctly.  See Chapter 7.3.2.1
in my book for details.

Best,
Oliver

On 16.04.20 09:39, HELFER Thomas 202608 wrote:
> Hi Oliver,
>
> thanks for this feedback. I will compare my stiffness matrix to the one get with another code,
> that probably the best way to go. But I felt rather confident...
>
> But it does seems like something nasty is happening in my code.
>
> Something is itching me about the linear solver: the defect becomes very high but the solver
> converges to the given criterion (a reduction to 1.e-5). However, my Dirichlet boundary
> conditions are not met.
>
> So either my handling of the Dirichlet boundaryd condtions is wrong, or my usage of the linear solver is
> (or both).
>
> Is there an example of how to replace the linear solver by a direct solver ?
>
> Regards,
>
> Thomas
> ________________________________________
> De : Oliver Sander [oliver.sander at tu-dresden.de]
> Envoyé : jeudi 16 avril 2020 09:07
> À : dune at lists.dune-project.org; HELFER Thomas 202608
> Objet : Re: [Dune] Help requested for my first test case in non linear mechanics
>
> Hi Thomas,
>
>> It almost works. I can simulate a tensile test for an elastic behaviour and a plastic behaviour.
>> I probably can use any smal strain behaviour generated by MFront. The non-linearity is treated
>> very crudely as we use an Newton algorithm with a fixed number of iterations.
>
> that sounds pretty good already.
>
>> The trouble is that it only works if the grid contains only a single element. This probably means
>> that I made a mistake in the assembly of the stiffness matrix or the assembly of the inner
>> forces. I reread my code several times without finding the trouble.
>
> Did you check whether the matrix and forces are assembled correctly?
> What I would do is choose a very small grid (say, 2x2), assemble everything,
> and write the matrix and forces to a file (or print them to the screen).
> Then compare with one of your working implementations.  This will allow you
> to narrow down the cause of your problem.
>
> Helpers for writing/printing vectors and sparse matrices can be found in dune/istl/io.hh.
>
> Bonne chance,
> Oliver
>
>
>
>>
>> Please find enclosed my project, modified to drop the dependency to the MGIS library and
>> only integrate an isotropic elastic behaviour. The relevant file is
>> dune-mgis/src/dune-mgis-tensile-test.cc.
>>
>> The purpose of my request is twofold:
>>
>> - I would be grateful if anyone could find what I have done wrong.
>> - I would be grateful if anyone could review the code to tell me what could be improved.
>>
>> With kind regards,
>>
>> Thomas Helfer
>>
>>
>> _______________________________________________
>> Dune mailing list
>> Dune at lists.dune-project.org
>> https://lists.dune-project.org/mailman/listinfo/dune
>>
>





More information about the Dune mailing list