Welcome to the forums. Please post in English or French.

You are not logged in.

#1 2017-02-28 23:24:19

GuillermoBarraza
Member
Registered: 2016-05-24
Posts: 49

[SOLVED]DEFI_LIST_INST (METHODE='AUTO' ->NOT working!!!)

Hello, everyone.

I'm running a NON-Linear simulation using DEFI_LIST_INST and automatic time stepping.
I explicitly need the simulation to pass through some specific times (due to the specification of my boundary conditions). So I established these:

LIST = DEFI_LIST_REEL(VALE=(0, 0.01, 0.02, 0.03, 0.04, 0.05, 0.06, 0.1, 1, 10, 100,),);

TIME = TIME=DEFI_LIST_INST(DEFI_LIST=_F(METHODE='AUTO',
                  LIST_INST=LIST,
                  PAS_MINI=0.0025,),);
No matter what, I need that the minimum PAS does not go below 0.0025. The solver decided to increase by 0.01 each step (reaching convergence) but by the time it reach the time step 0.05 it diverges. It seems that the solver is ignoring the statement PAS_MINI, since the PAS never decreased.

How can I make the solver to explicitly pass through the points showed above and, at the same time, adapt the time stepping in the process?

Thanks in advance,

Guillermo

Last edited by GuillermoBarraza (2017-03-17 20:23:45)

Offline

#2 2017-03-01 08:36:35

stephaneberger
Member
From: Strasbourg (France)
Registered: 2012-10-15
Posts: 70

Re: [SOLVED]DEFI_LIST_INST (METHODE='AUTO' ->NOT working!!!)

Hi

Maybe something like that

list=DEFI_LIST_REEL(DEBUT=0.0,
                  INTERVALLE=(_F(JUSQU_A=0.06,
                                 PAS=0.01,),
                              _F(JUSQU_A=0.1,
                                 NOMBRE=1,),
                              _F(JUSQU_A=1.0,
                                 NOMBRE=1,),
                              _F(JUSQU_A=10.,
                                 NOMBRE=1,),
                              _F(JUSQU_A=100.0,
                                 NOMBRE=1,),),);

time=DEFI_LIST_INST(DEFI_LIST=_F(METHODE='AUTO',
                                LIST_INST=li,
                                PAS_MINI=0.0025,),
                   ECHEC=_F(SUBD_METHODE='AUTO',
                            ACTION='DECOUPE',),);

regards

stephane

Offline

#3 2017-03-03 00:12:21

GuillermoBarraza
Member
Registered: 2016-05-24
Posts: 49

Re: [SOLVED]DEFI_LIST_INST (METHODE='AUTO' ->NOT working!!!)

stephane wrote:

Maybe something like that ...

Hello, stephan. Thank you for taking the time to check out my post.

I've tried what you mentioned, however it's still doing the same: It starts with 0.01, then 0.02 and so on, but by the time it gets to 0.05 it diverges. So, the problem must be between 0.04 and 0.05. I want the program to automatically detect when this happens and starts to discretize in smaller steps (eg. [0.04, 0.041, 0.42...]). Any idea on how to achieve this?

Guillermo

Offline

#4 2017-03-05 09:22:11

stephaneberger
Member
From: Strasbourg (France)
Registered: 2012-10-15
Posts: 70

Re: [SOLVED]DEFI_LIST_INST (METHODE='AUTO' ->NOT working!!!)

Hi,

could you post your .mess ?

stephane

Offline

#5 2017-03-07 18:06:13

GuillermoBarraza
Member
Registered: 2016-05-24
Posts: 49

Re: [SOLVED]DEFI_LIST_INST (METHODE='AUTO' ->NOT working!!!)

Sorry for the late reply.

Attached to this post is the .mess file. Hopefully you'll find what I might have overlooked.
I would like to know how, in case of non convergence, DEFI_LIST_INST could determine the division of time steps.
Furthermore, I tried your code but didn't work. So I did some modifications.

Here's an excerpt of mi code:

TIME = DEFI_LIST_INST(DEFI_LIST=_F(METHODE='AUTO',
                                                                  LIST_INST=LISTA,
                                                                  PAS_MINI=1.E-4,),
                                         ECHEC=_F(EVENEMENT='ERREUR',
                                                           ACTION='DECOUPE',
                                                           SUBD_METHODE='MANUEL',
                                                           SUBD_PAS=2,);

Thank's in advance

Last edited by GuillermoBarraza (2017-03-07 18:07:47)


Attachments:
Transient_Thermal_NON_Linear.mess, Size: 163.92 KiB, Downloads: 389

Offline

#6 2017-03-12 13:42:48

stephaneberger
Member
From: Strasbourg (France)
Registered: 2012-10-15
Posts: 70

Re: [SOLVED]DEFI_LIST_INST (METHODE='AUTO' ->NOT working!!!)

Hi,

I will have a look, on old comm file that I have to confirm the syntaxe.
Nevertheless, it is strange that the calcul doesn't converge.
I guess that at the time between 0.1 and 0.15 there is a huge change of boundary condition.

In order to ease the convergence, you can use 3D_DIAG element which avoid to have oscillation of the solution when sudden change of condition occurs.

Maybe you can also plot your function to check if there is no error.
Did you check your model on a more simple geometry ?

stephane

Offline

#7 2017-03-12 18:57:23

RichardS
Member
From: Munich, Germany
Registered: 2010-09-28
Posts: 560
Website

Re: [SOLVED]DEFI_LIST_INST (METHODE='AUTO' ->NOT working!!!)

Hi,
it's easy:
THER_NON_LINE does not allow adaptive time stepping, it only works for STAT_NON_LINE and DYNA_NON_LINE.

The only thing you can do is to activate line search and reduce your time step manually.

Best,
Richard


Richard Szoeke-Schuller
Product Management
www.simscale.com
We are hiring! https://www.simscale.com/jobs/

Offline

#8 2017-03-17 20:23:23

GuillermoBarraza
Member
Registered: 2016-05-24
Posts: 49

Re: [SOLVED]DEFI_LIST_INST (METHODE='AUTO' ->NOT working!!!)

Thank you for your advises, Richard.

The problem was solved by applying a smooth time-dependent formula for my boundary condition, instead of the function established previously. That made my time stepping less complex accordingly to my case. Anyway, the recommendation is useful for next simulations though.

Best regards,

Guillermo

Offline

#9 2021-04-30 23:09:27

rodrigofarias
Member
Registered: 2020-09-03
Posts: 61

Re: [SOLVED]DEFI_LIST_INST (METHODE='AUTO' ->NOT working!!!)

RichardS wrote:

Hi,
it's easy:
THER_NON_LINE does not allow adaptive time stepping, it only works for STAT_NON_LINE and DYNA_NON_LINE.

The only thing you can do is to activate line search and reduce your time step manually.

Best,
Richard

I cant believe this is my problem. Is that why I did a lot of timestep setups and it still doesn't work? Is there no place in the documentation that says automatic timestep does not work for THER_NON_LINE?

Is this still valid for the most current version? I use 14.4

Thanks.

Offline