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

You are not logged in.

#1 2010-07-05 15:37:14

JMB365
Member
Registered: 2008-01-19
Posts: 778

[SOLVED] Output from the last successful Time-Step

Hello,

I am using automatic time stepping:

List1=DEFI_LIST_INST(DEFI_LIST=_F(METHODE='AUTO',
                                  LIST_INST=List,
                                  PAS_MINI=1.E-04,),
                     ECHEC=_F(EVENEMENT='DIVERGENCE',
                              SUBD_METHODE='UNIFORME',
                              SUBD_PAS=4,
                              SUBD_NIVEAU=10,),
                     ADAPTATION=_F(EVENEMENT='SEUIL',
                                   NB_INCR_SEUIL=4,
                                   NOM_PARA='NB_ITER_NEWTON',
                                   VALE_I=3,
                                   PCENT_AUGM=3.0,),);

This does not run up to the extent of displacement I would like it to, as a result I do not get a fort.80 file (*_res.med) file when it crashes without converging.  What command can I use (if any) in CodeAster to save the results up to the time step where the problem did converge?  Thank you.

Regards,
JMB

Last edited by JMB365 (2010-07-07 18:29:02)


STA10.3/NEW11 Ubuntu 64 bit on multiple PCs

Offline

#2 2010-07-06 09:56:37

Johannes_ACKVA
Member
From: Ingenieurbüro für Mechanik, DE
Registered: 2009-11-04
Posts: 583
Website

Re: [SOLVED] Output from the last successful Time-Step

You can apply several commands STAT_NON_LINE or DYNA_NON_LINE and after each a command IMPR_RESU(FORMAT='MED)

Example:

STAT_NON_LINE, calculating only until time=1.0 :
res=STAT_NON_LINE(..LIST_INST=Listname, INST_FIN=1.0 ..

This calculates until t=1. Then

IMPR_RESU(FORMAT='MED)

next STAT_NON_LINE must start from the last result of resultat res:
res=STAT_NON_LINE(ETAT_INI=_F(EVOL_NOLI=res, ..LIST_INST=Listname, INST_FIN=2.0 ..

IMPR_RESU(FORMAT='MED, LIST_INST=List-of-times-between-1-and-t_end)

and so on. Best regards,

Johannes Ackva

______________________________________________________________________
Ingenieurbüro für Mechanik                     Tel 0049 (0)9832 708152
Dr.-Ing. Johannes Ackva
Markgrafenstr. 21
D 91717 Wassertrüdingen

www.code-aster.de                      Training & Support for NASTRAN and CODE-ASTER


Ingenieurbüro für Mechanik
D 91717 Wassertrüdingen / Germany

www.code-aster.de                                                Training & Support for NASTRAN and CODE-ASTER

Offline

#3 2010-07-06 11:17:21

Archibald Archambaud
Member
From: Clamart, France
Registered: 2007-12-03
Posts: 322

Re: [SOLVED] Output from the last successful Time-Step

Hi JMB.

You can use some Python features to do that :

try:
   evol=STAT_NON_LINE(...)
exept:
   pass

IMPR_RESU(...)

Then, in case of a problem, the evol concept will contain all the calculated time-steps.
AA

Offline

#4 2010-07-06 13:58:23

JMB365
Member
Registered: 2008-01-19
Posts: 778

Re: [SOLVED] Output from the last successful Time-Step

Johannes_ACKVA wrote:

You can apply several commands STAT_NON_LINE or DYNA_NON_LINE and after each a command IMPR_RESU(FORMAT='MED)

Thank you for your suggestion, it is an interesting approach.  I would be able to use your suggestion if the problem is successful until time=1.0.  Often I do not know beforehand how far it will be successful when running ELAS-HYPER (large deformation),  I will keep it in mind for certain other loading situations I have encountered!

Regards,
JMB


STA10.3/NEW11 Ubuntu 64 bit on multiple PCs

Offline

#5 2010-07-06 14:00:37

JMB365
Member
Registered: 2008-01-19
Posts: 778

Re: [SOLVED] Output from the last successful Time-Step

Archibald Archambaud wrote:

Hi JMB.

You can use some Python features to do that

Thank you for your suggestion!  This method may work for the situation I am facing.  I will try it and let you (the forum) know.

Regards,
JMB


STA10.3/NEW11 Ubuntu 64 bit on multiple PCs

Offline

#6 2010-07-07 03:59:14

JMB365
Member
Registered: 2008-01-19
Posts: 778

Re: [SOLVED] Output from the last successful Time-Step

Archibald Archambaud wrote:

Hi JMB.

You can use some Python features to do that :

try:
   evol=STAT_NON_LINE(...)
exept:
   pass

IMPR_RESU(...)

Then, in case of a problem, the evol concept will contain all the calculated time-steps.
AA

Hello AA,

I tried your suggestion but it did not work.  In the end CodeAster complains that there is no fort.80 file.  I am guessing that since the number crunching routines are coded in Fortran, the Python wrapping code that supplies them with data and brings the results back as output are outside of its realm. Somebody correct me if I am wrong.

Regards,
JMB


STA10.3/NEW11 Ubuntu 64 bit on multiple PCs

Offline

#7 2010-07-07 10:08:04

bosman
Member
Registered: 2008-07-14
Posts: 105

Re: [SOLVED] Output from the last successful Time-Step

Hi!

You have to include this as well.

DEBUT(PAR_LOT='NON');

This was reported in a thread some time ago.

B-O

Offline

#8 2010-07-07 11:50:35

Ect
Member
From: Switzerland
Registered: 2008-05-15
Posts: 96

Re: [SOLVED] Output from the last successful Time-Step

JMB365 wrote:

In the end CodeAster complains that there is no fort.80 file.JMB

Is Code Aster dying from "zero elongation" error ?

Offline

#9 2010-07-07 13:33:23

JMB365
Member
Registered: 2008-01-19
Posts: 778

Re: [SOLVED] Output from the last successful Time-Step

Ect wrote:
JMB365 wrote:

In the end CodeAster complains that there is no fort.80 file.JMB

Is Code Aster dying from "zero elongation" error ?

Hello Ect:

Thank you for your reply.  All the time steps are successful up to the following point then I get:

INSTANT DE CALCUL :  8.929309933E-01
---------------------------------------------------------------------
|   ITERATIONS   |     RESIDU     |     RESIDU     |     OPTION     |
|     NEWTON     |     RELATIF    |     ABSOLU     |   ASSEMBLAGE   |
|                | RESI_GLOB_RELA | RESI_GLOB_MAXI |                |
---------------------------------------------------------------------
---------------------------------------------------------------------
ECHEC DANS L'INTEGRATION DE LA LOI DE COMPORTEMENT                    
VERIFIEZ VOTRE MODELE OU  ESSAYEZ DE SUBDIVISER LE PAS DE TEMPS       
---------------------------------------------------------------------
SUBDIVISION DU PAS DE TEMPS EN    4 SOUS PAS
Méthode de subdivision : PENDANT LA NOUVELLE SUBDIVISION
Le pas minimal de la subdivision est atteint.
   Pas de Temps actuel          = <9.396184E-05>
   Pas de Temps minimum imposé  = <1.000000E-04>
   Niveau de subdivision        = <0>
   Méthode de subdivision       = <UNIFORME>
Conseil :
   Diminuer SUBD_PAS_MINI. Il est également possible d'ajuster SUBD_NIVEAU pour
   indiquer le nombre successif de subdivision d'un pas de temps.
   Si les 2 mots clefs SUBD_NIVEAU et SUBD_PAS_MINI sont utilisés la subdivision
   s'arrete dès que l'un des 2 critères est vérifié.
   !-----------------------------------------------------------------------!
   ! <EXCEPTION> <COMPOR1_9>                                               !
   !                                                                       !
   ! Arret suite à l'échec de l'intégration de la loi de comportement.     !
   ! Verifiez vos paramètres, la cohérence des unités.                     !
   ! Essayez d'augmenter ITER_INTE_MAXI, ou de subdiviser le pas de temps  !
   ! localement via ITER_INTE_PAS.                                         !
   !-----------------------------------------------------------------------!
   Validation du concept 'Sol'.
   !-----------------------------------------------------------------------!
   !   Liste des alarmes émises lors de l'exécution du calcul.             !
   !                                                                       !
   !   Les alarmes que vous avez choisies d'ignorer sont précédées de (*). !
   !   Nombre d'occurrences pour chacune des alarmes :                     !
   !          DISCRETISATION_4     émise    1 fois                         !
   !          MODELISA7_87         émise    3 fois                         !
   !-----------------------------------------------------------------------!

and later on:

--------------------------------------------------------------------------------
 Size of bases
<INFO> size of vola.1 :      2457608 bytes
<INFO> size of glob.1 :    385024008 bytes
<INFO> size of bhdf.1 :    341166040 bytes
<INFO> size of pick.1 :       279216 bytes
--------------------------------------------------------------------------------
 Copying results
copying .../fort.6                                                      [  OK  ]
copying .../fort.8                                                      [  OK  ]
copying .../fort.9                                                      [  OK  ]
copying .../glob.1                                                      [  OK  ]
copying .../pick.1                                                      [  OK  ]
copying .../fort.80                                                     [FAILED]
Exit code : 256
cp: cannot stat `fort.80': No such file or directory

<E>_COPY_ERROR     error during copying fort.80 to /home/.../Name8res.med
message : cp: cannot stat `fort.80': No such file or directory

Regards,
JMB


STA10.3/NEW11 Ubuntu 64 bit on multiple PCs

Offline

#10 2010-07-07 14:14:02

JMB365
Member
Registered: 2008-01-19
Posts: 778

Re: [SOLVED] Output from the last successful Time-Step

bosman wrote:

Hi!
You have to include this as well.
DEBUT(PAR_LOT='NON');
This was reported in a thread some time ago.
B-O

Thank you for your reply.  I will try it.  By scanning the forums I believe you are alluding to the discussion at:
http://www.code-aster.org/forum2/viewtopic.php?id=13650

Added:
I tried it and it works now!  Thank you very much!  You all have saved me several hours of nail-biting, hand-wringing and thumb twirling...  smile smile smile

Regards,
JMB

Last edited by JMB365 (2010-07-07 16:11:29)


STA10.3/NEW11 Ubuntu 64 bit on multiple PCs

Offline

#11 2010-07-07 15:00:47

Ect
Member
From: Switzerland
Registered: 2008-05-15
Posts: 96

Re: [SOLVED] Output from the last successful Time-Step

Ok, it seems that Aster gives up on the nonlinearity. Adding par_lot='non' + AA's suggestion should work.

Anyway it seems that you have your base (glob.1) back, you can then post-process it with a separate comm file beginning with POURSUITE. I belive that there are some examples lying out there.

There is also another possibility (combined with try / except) which is to add 'args -interact' inside the export file or in astk's options. This way you should always end up with a python shell where you can copy/paste your calc_elem / calc_noeu / impr_resu commands before ending it with ctrl+d.

Last edited by Ect (2010-07-07 15:04:08)

Offline

#12 2010-07-08 08:07:46

Thomas DE SOZA
Guru
From: EDF
Registered: 2007-11-23
Posts: 2,774

Re: [SOLVED] Output from the last successful Time-Step

Hi,


Just a note to tell that there is very simple way to save results even when non convergence occurs : just add a "base" field in the ASTK study as a Result (R) and Compressed (C).
When the computation fails, just set the newly created "base" with Data (D) and Compressed(C) ticked and create a new command file which reads :

POURSUITE()

CALC_ELEM...
CALC_NO...
IMPR_RESU...

FIN()

Saving a basis is fundamental when working with big studies, it saves a lot of time (you do not have to start from scratch).

TdS

Offline

#13 2015-11-17 01:53:06

P929
Member
From: Bogotá, CO
Registered: 2015-07-31
Posts: 86

Re: [SOLVED] Output from the last successful Time-Step

Hi all,

I know it's an old thread, but instead of opening a new one on the same topic, I decided to post here.

I have read in some threads that the method advised by TdS is the consistent way to do it. However, it isn't working for me. I have a calculation RES_EXC3=STAT_NON_LINE (.....  failing to converge. Therefore, I want to see the last results to see if I can spot the problem.

The POURSUITE recognizes the results RES_EXC3 within the valid concepts in the database. The mess file, which is attached, shows:

  RES_EXC3    evol_noli               exception

but when I want to reuse it to create the output file, it says that the result doesn't exist:

Le résultat RES_EXC3 n'existe pas. 

so it doesn't print any result.

I also tried POURSUITE(ERREUR=_F(ERREUR_F='ABORT')); and POURSUITE(ERREUR=_F(ERREUR_F='EXCEPTION')); but nothing seems to work. What am I doing wrong? this is getting frustrating hmm

Thx and cheers,

Ferney

Last edited by P929 (2015-11-23 00:29:16)


Attachments:
molinos_20151115-P.mess, Size: 24.73 KiB, Downloads: 108

Offline

#14 2015-12-09 00:07:28

Thomas DE SOZA
Guru
From: EDF
Registered: 2007-11-23
Posts: 2,774

Re: [SOLVED] Output from the last successful Time-Step

Hi,

Likely you don't have any instant equal to 3.0 in your saved database :

   !------------------------------------------------------------------------------!
   ! <A> <UTILITAI8_47>                                                           !
   !                                                                              !
   !  Pas de champ correspondant à un accès demandé pour la SD_RESULTAT  RES_EXC3 !
   !                                                                              !
   !  accès  : 3   

Judging from the summary at the end of the .mess file, you're miss-interpreting the instant. Here, 3 is the access number :

 STRUCTURE DU CONCEPT RES_EXC3 CALCULE POUR          4 NUMEROS D'ORDRE

 LISTE DES NOMS SYMBOLIQUES:
 ! ---------- !----------------!----------------!----------------!----------------!
 ! NUME_ORDRE !      DEPL      !   SIEF_ELGA    !   VARI_ELGA    !  COMPORTEMENT  !
 ! ---------- !----------------!----------------!----------------!----------------!
 !          0 !     DEPL_R     !     SIEF_R     !     VARI_R     !     COMPOR     !
 !        ... !      ...       !      ...       !      ...       !      ...       !
 !          3 !     DEPL_R     !     SIEF_R     !     VARI_R     !     COMPOR     !
 ! ---------- !----------------!----------------!----------------!----------------!

Use NUME_ORDRE instead of INSTANT.

TdS

Offline

Board footer