Author Topic: Critical time step in user element for explicit time integration  (Read 5285 times)

anshulfy

  • Full Member
  • ***
  • Posts: 63
Dear all,

I am writing a user element for coupled thermo-hyperelastic analysis. I will be using explicit scheme to solve momentum equation. I want to use automatic time stepping. How can I define the critical time step for user element? Do I need to use user macro for it?

Thanks,
Anshul

Prof. R.L. Taylor

  • Administrator
  • FEAP Guru
  • *****
  • Posts: 2649
Re: Critical time step in user element for explicit time integration
« Reply #1 on: December 09, 2016, 08:19:11 AM »
The current release of feap does not have any computation for critical time steps in explicit solution.

You will have to write a user macro that computes the time step from the current solution.  A simple scheme is to compute nodal spacing in elements and base the dt on the minimum and its associated wave speed.  There are more sophisticated schemes but this should be fairly easy to implement and test.

anshulfy

  • Full Member
  • ***
  • Posts: 63
Re: Critical time step in user element for explicit time integration
« Reply #2 on: December 09, 2016, 09:45:21 AM »
Dear Prof. Taylor,

Thanks for your reply.

Anshul

anshulfy

  • Full Member
  • ***
  • Posts: 63
Re: Critical time step in user element for explicit time integration
« Reply #3 on: December 16, 2016, 10:48:31 AM »
Dear Prof. Taylor,

As per your suggession, I calculate the critical time step for each element in user element routine and save it to history variable. Then using macro I calculate the minimum 'dt' of all elements and update 'dt'. Below is the code.
Code: [Select]
        dt = hr(nh3)
        elm = 1
        do ii=1,numel-1
          if (dt.le.hr(nh3 +ii)) then
             dt = dt
             elm = ii + 1
          else
             dt = hr(nh3 + ii)
          endif
           
        end do
        write(*,*),'Element with Min. Time Increment:', ELM

And here are my solution commands
Code: [Select]
BATCh
  dt,,1e-7
  LOOP,,10
    TIME,,1e-3
    PART,,1
      TRAN CENTRAL
      MASS, LUMP
      FORM Explicit
    PART,,2
        TANG,,1
    USDT        ! Critical time calculation macro
  NEXT inter
END
In the first step I use a small 'dt' and from second step I use 'dt' calculated in the macro. I see the code working and 'dt' updating in the second step.

I also use proportional load table to apply displacement. From 2nd step my proportional load is not calculated correctly an Total proportional load become equal to 1. Can you please suggest me where else will I need to update 'dt' to calculate correct proportional load factor?

Thanks,
regards,
Anshul
« Last Edit: December 16, 2016, 10:58:55 AM by anshulfy »

Prof. R.L. Taylor

  • Administrator
  • FEAP Guru
  • *****
  • Posts: 2649
Re: Critical time step in user element for explicit time integration
« Reply #4 on: December 16, 2016, 01:48:31 PM »
Hard to tell what is happening.  When you compute the critical time and store the dt the proportional load should be updated when you issue the next TIME command.  What  does the value of DT become when do this?  The one you want?  All the steps take place in the pmacr2.f routine and you will have to see what is happening there.

anshulfy

  • Full Member
  • ***
  • Posts: 63
Re: Critical time step in user element for explicit time integration
« Reply #5 on: December 17, 2016, 01:18:20 AM »
Dear Prof. Taylor,

I am sorry, everything is working fine. It is in partition 2, where proportional load=1 is printed in Output file. I misunderstood it.

Thanks for your reply.

regards,
Anshul