FEAP User Forum
FEAP => Programming => Topic started by: anshulfy on December 09, 2016, 04:48:23 AM
-
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
-
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.
-
Dear Prof. Taylor,
Thanks for your reply.
Anshul
-
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.
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
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
-
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.
-
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