Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations KootK on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

Averaging a variable value in 3 increments (Abaqus subroutines question)

Status
Not open for further replies.

Yunus9696

Mechanical
Apr 14, 2022
47
Dear colleagues
Hope you're great.

Using USDFLD subroutine, I want to choose material properties for the new increment based on the average of a variable (eg. S11) in last 3 increments.

Do you have any idea that how can I do so?

For example, how can I call the value of S11 in previous increment and the increment before that to add up with the value of S11 in the current increment and calculate the average of these three 3 values?

Best regards,
Yunus.
 
Replies continue below

Recommended for you

You will likely have to utilize state variables for this purpose. They can store the data for further use in subroutines.
 
Dear FE way
Thanks for your reply.
I tried to know how to get benefit from STATVs to have access to the previous increments results but the STATVs seem to work only in the current increment.
I ran a model consists of only one element and one integration point (CPS4R shell element) for only 3 increments.
I expected that I would have approximately 3 STATVs
(number of element * number of integration points * number of STATV * number of increments = 1*1*1*3= 3)

I asked my subroutine to write the following STATVs in the 3rd increment:

SUBROUTINE
....
....
....
if (KINC == 3) then

Write(*,*) "STATEV(1)= ",STATEV(1)
Write(*,*) "STATEV(2)= ",STATEV(2)
Write(*,*) "STATEV(3)= ",STATEV(3)
Write(*,*) "STATEV(10)= ",STATEV(10)
Write(*,*) "STATEV(20)= ",STATEV(20)
Write(*,*) "STATEV(100)= ",STATEV(100)
Write(*,*) "STATEV(-10)= ",STATEV(-10)

end if

STATEV(1) = S11
RETURN
END

And I got the following meaningless numbers (except the first one):

STATEV(1)= 333333.333333333 (equals to the S11 in the 3rd increment)
STATEV(2)= 399.930868952907
STATEV(3)= 0.000000000000000E+000
STATEV(10)= 1.00000000000000
STATEV(20)= 1.000000000000000E+036
STATEV(100)= 0.000000000000000E+000
STATEV(-10)= 9.999135446659966E-004

Do you know how STATVs work?
and How can I get the average of the current value of S11 and its value in 2 previous increments? (using STATVs or any other way)


Thanks for your kind attention.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor