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!

Connector Element using USDFLD time variation help please

Status
Not open for further replies.

Hajakala

Mechanical
Mar 23, 2017
16
I am trying to change the stiffness of connector elements using USDFLD as a function of time and coordinate.
When I run my model, it says no value for the connector elements for any output other than those available for these specific elements.
I wanted to change the stiffness with increasing x position with time so as shown below in my subroutine using x coordinate.
The equation used relates the x position with time but obvious this doesn't seem to work.
Could any one please help me solve this problem? I am basically trying to open up a crack using variable stiffness so I don't want to change the stiffness of all connector elements at once but that of each element incrementally with time and position.
If you have any other idea such as using MPC which I do not know please could you advise?

SUBROUTINE USDFLD(FIELD,STATEV,PNEWDT,DIRECT,T,CELENT,
1 TIME,DTIME,CMNAME,ORNAME,NFIELD,NSTATV,NOEL,NPT,LAYER,
2 KSPT,KSTEP,KINC,NDI,NSHR,COORD,JMAC,JMATYP,MATLAYO,LACCFLA)
C
INCLUDE 'ABA_PARAM.INC'
C
!Note if model is changed to ask for >15 outputs it will break!
!Reassign here appropriately, sub ref guide sec 2.1.6
CHARACTER*80 CMNAME,ORNAME
CHARACTER*3 FLGRAY(15)
DIMENSION FIELD(NFIELD),STATEV(NSTATV),DIRECT(3,3),T(3,3),TIME(2)
DIMENSION ARRAY(15),JARRAY(15),JMAC(*),JMATYP(*),COORD(*)
C
! a-h,o-z are real and i-n are integers
X = COORD(1)
tt = TIME(1)
C
xp1= 9.44D-17
xp2= -2.20D-12
xp3= 1.85D-08
xp4= 5.26D-05
xp5= 20.59D0
! f(x) = p1*x^4 + p2*x^3 + p3*x^2 + p4*x + p5
FIT = (xp1*tt**4)+(xp2*tt**3)+(xp3*tt**2)+(xp4**tt)+p5
C
IF (kstep.LE.1) THEN
Field(1) = 1
ELSEIF (tt.LT.1151.589) THEN
Field(1) = 0
ElSEIF (tt.GE.1151.589) THEN
IF (X.LE.FIT) THEN
Field(1) = 1
ENDIF
ElSE
Field(1) = 0
ENDIF
STATEV(1) = Field(1)
RETURN
END
 
Replies continue below

Recommended for you

I can't seem to change field(1) of connector elements using coord or npt. is there any other way of changing the field(1) of each element at different positions with time?
 
Connectors have no integration points with field variables. You have to use UFIELD and work with the nodes attached to the connectors.
 
Dear Mustaine3,

Thank you so much for your advice. I wasn't aware of the difference between USDLFD and UFIELD.

Thanks.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor