istimat
Automotive
- Aug 5, 2015
- 1
Hi,
I'm using a UAMP subroutine to conclude a loading step and continue with an unloading step.
I'm applying a displacement with the user amplitude and measuring the reaction force in another area.
I've managed to get the simulation to continue to the next step when reaching the correct reaction force but this sometimes overshoots the target reaction force, therefore forcing me to set a smaller maximum allowable increment.
The problem is that I think it would be more efficient if I could decrease the increment size as the simulation comes closer to the target reaction force. How would you guys go about doing this, considering that the dt value cannot be changed (at least that's what I understood from the manual)
This is basically what I have:
st = time(iStepTime) + dt/2.0D0
ampValueNew = maxdisp*st
target_reached = 1.0D0 - dabs(hd_sensval/targetrf)
tol_targetrf = 0.02D0
if(target_reached.LE.tol_targetrf) then
lFlagsDefine(iConcludeStep)=1
...
...
where maxdisp is the maximum displacement which I expect would be necessary and hd_sensval is the sensor value
I've tried various ways of interpolating the theoretical displacement value and applying that to ampValueNew but because dt varies (because of a cutback for ex.) it does not work properly.
How would you guys go about solving this?
Thank you!
I'm using a UAMP subroutine to conclude a loading step and continue with an unloading step.
I'm applying a displacement with the user amplitude and measuring the reaction force in another area.
I've managed to get the simulation to continue to the next step when reaching the correct reaction force but this sometimes overshoots the target reaction force, therefore forcing me to set a smaller maximum allowable increment.
The problem is that I think it would be more efficient if I could decrease the increment size as the simulation comes closer to the target reaction force. How would you guys go about doing this, considering that the dt value cannot be changed (at least that's what I understood from the manual)
This is basically what I have:
st = time(iStepTime) + dt/2.0D0
ampValueNew = maxdisp*st
target_reached = 1.0D0 - dabs(hd_sensval/targetrf)
tol_targetrf = 0.02D0
if(target_reached.LE.tol_targetrf) then
lFlagsDefine(iConcludeStep)=1
...
...
where maxdisp is the maximum displacement which I expect would be necessary and hd_sensval is the sensor value
I've tried various ways of interpolating the theoretical displacement value and applying that to ampValueNew but because dt varies (because of a cutback for ex.) it does not work properly.
How would you guys go about solving this?
Thank you!