Author Topic: Adaptive Routine  (Read 6319 times)

dolesch

  • Jr. Member
  • **
  • Posts: 30
Adaptive Routine
« on: March 05, 2020, 05:09:40 AM »
Hi all,

I have a problem concerning the output of the time plot while using the Backup command. I am using an adaptive routine, which relay on a solution of the next time step. Therefore I use the Back command in case of an adaptive change to recompute with the changed mesh. The problem is that the solution of this time step are also printed in the output files. Is there a way to suppress the output until the Adaptive Loop is left?

Thanks in advance

Dolesch


Code: [Select]
MACRo
  DT,,0.01
  TRANsient,BACKwards
!
  LOOPa,PICTures,30000
!
    LOOP,WITHoutpictures,20
!
      LOOP,ADAPtive,100
!
        LOOP,CONVergence,20
          TIME,,1.5
          AUTO,TIME,4,8,10
!
          LOOP,ITERation,15
            TANGent,,1
          NEXT,ITERation
!
          TANGent,,1
        NEXT,CONVergence
!
        STREss,NODEs
        ERROr
        ADAPtive,CHECk
      NEXT,ADAPtive
      ADAPtive,NOJU
    NEXT,WITHoutpictures
    PLOT,CONTour,3 0 1
    vtu,time
  NEXT,PICTures
END

Prof. S. Govindjee

  • Administrator
  • FEAP Guru
  • *****
  • Posts: 1165
Re: Adaptive Routine
« Reply #1 on: March 05, 2020, 07:58:52 AM »
It looks like the output command is a user macro (vtu,time); you will need to edit that to not print the state you are not interested in.

Prof. R.L. Taylor

  • Administrator
  • FEAP Guru
  • *****
  • Posts: 2649
Re: Adaptive Routine
« Reply #2 on: March 05, 2020, 09:09:35 AM »
Possibly using the print flags to control on/off printing?  Check your options in pmacr2.f  for the PRINt/NOPRint commands to see if something can help.  Otherwise you may need to set some flags in your own routines.

dolesch

  • Jr. Member
  • **
  • Posts: 30
Re: Adaptive Routine
« Reply #3 on: March 16, 2020, 03:03:04 AM »
Thank you for your answer. I have another questions related to that topic.
When I use the Back command or in particular the subroutine autbac, is it necessary that the time command follows to compute the time step again or does the procedure works as a retry for the last computed time step.

Prof. R.L. Taylor

  • Administrator
  • FEAP Guru
  • *****
  • Posts: 2649
Re: Adaptive Routine
« Reply #4 on: March 16, 2020, 10:57:12 AM »
The BACK command is used as:
   BACK,,dt
where 'dt' is the NEW time increment to try.  If omitted the time step is 0.0

After use the current state should have been (a) returned to the state at the previous step and (b) reinitialized for the first iteration of the new step using a time increment of 'dt'

There are several actions performed and, as always, there could be a bug.

Have you recognized something not quite right?

dolesch

  • Jr. Member
  • **
  • Posts: 30
Re: Adaptive Routine
« Reply #5 on: March 30, 2020, 01:36:00 PM »
No, everything works like intended. Thank you

But I am wondering is there a way to define patches in Feap or in general to call adjoining elements sharing the same nodes?

Prof. R.L. Taylor

  • Administrator
  • FEAP Guru
  • *****
  • Posts: 2649
Re: Adaptive Routine
« Reply #6 on: March 30, 2020, 05:46:09 PM »
I do not think there is such an array.  We do build a connection list for sparse assembly but it is done on an equation order.  You can follow in ./program/iters.f where is calls ./program/elcnt.f 

If you follow the algorithm you can see that using two arrays: 1) an array '0:numnp' long that tells where the element list starts in the second array and 2) an array that for each element holds the list for each node.




Prof. S. Govindjee

  • Administrator
  • FEAP Guru
  • *****
  • Posts: 1165
Re: Adaptive Routine
« Reply #7 on: March 30, 2020, 08:42:38 PM »
In the parFEAP routines (pmacr7.F) we build an inverse IX array (so elements attached to a node).  You could pair that with IX (nodes attached to elements) to build an element graph.  With that you could write routines to access the data you are interested in.  It will be a bit complex to get correct in the most general setting.

Prof. R.L. Taylor

  • Administrator
  • FEAP Guru
  • *****
  • Posts: 2649
Re: Adaptive Routine
« Reply #8 on: March 31, 2020, 10:10:29 AM »
A simple routine to build the list you want is attached.  You should chenge the use of TEMP arrays to something more permanent (ualloc.f is one option).  It does not add contact elements but should work for a mixture of solids, structural, thermal, user, etc. ones.

test with the umacr1 routine, command is:  e2nd

I am interested in adaptive forms if you have anything to share that might be useful.