×
INTELLIGENT WORK FORUMS
FOR ENGINEERING PROFESSIONALS

Log In

Come Join Us!

Are you an
Engineering professional?
Join Eng-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!
  • Students Click Here

*Eng-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Students Click Here

Jobs

Implementation of resin kinetic model using HETVAL and USDFLD in Abaqus

Implementation of resin kinetic model using HETVAL and USDFLD in Abaqus

Implementation of resin kinetic model using HETVAL and USDFLD in Abaqus

(OP)
Dear all,

I need help to implement a resin kinetic model based on an equation of Arrhenius type to simulate the curing process, using Abaqus. The corresponding analytical model quantifies the dependency of the rate of the degree of cure dα/dt with the temperature T and the degree of cure α, as follows:
dα/dt = k * (e^(E/RT)) * (1-α)^n
where k is the pre-exponential constant, E is the activation energy, R is the universal gas constant and n is the order of reaction. All these variables are known, except α and dα/dt. The corresponding internal heat generation due to the resin exothermic cure reaction is given by the following expression:
Q = H * dα/dt
where H is the total heat of reaction.
The subroutine HETVAL works well on my model if I define a constant value for heat flux (variable FLUX(1), which corresponds to the heat generated), but what I need is to implement the equations above and I don't know how to do it because the first one depends constantly of two unknown variables - α and dα/dt. From my research I found that the degree of cure α can be updated using the USDFLD subroutine, but I don't know how to do it.

I would be grateful if anyone could help me.

Best regards,
João

RE: Implementation of resin kinetic model using HETVAL and USDFLD in Abaqus

Hi,João

Based on your problem,I think you can set the degree of cure and its rate as two field variables and save the two field varibales(Field()) into Statev().Both of that can be done in USDFLD subroutine.Next,in the HETVAL subroutine,you can make some variables dependent on degree of cure and its rate of change.Here is what I did for my problems:

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,
3 LACCFLA)
C
INCLUDE 'ABA_PARAM.INC'
C
CHARACTER*80 CMNAME,ORNAME
CHARACTER*3 FLGRAY(15)
DIMENSION FIELD(NFIELD),STATEV(NSTATV),DIRECT(3,3),
1 T(3,3),TIME(2)
DIMENSION ARRAY(15),JARRAY(15),JMAC(*),JMATYP(*),
1 COORD(*)
C
CALL GETVRM('TEMP',ARRAY,JARRAY,FLGRAY,JRCD,JMAC,JMATYP,MATLAYO,LACCFLA) !get temperatue at each material point at the start of the increment
FIELD(1)=ARRAY(1)
STATEV(1)=FIELD(1)
IF (KINC.EQ.1) THEN
FIELD(2)=1E-4 (degree of cure)
FIELD(3)=0.0 (rate of change)
ELSE
END IF
STATEV(2)=FIELD(2)
STATEV(3)=FIELD(3)

C
RETURN
END

Best regards,
Ge

RE: Implementation of resin kinetic model using HETVAL and USDFLD in Abaqus

(OP)
Many thanks. I solved my problem saving the variables into field() and statev() inside the USDFLD subroutine.

Now, I have other question: Is it possible to use the HETVAL subroutine in a explicit analysis? I test the subroutine in a standard/implicit analysis and works fine, but now I need to use it in a explicit analysis and it is not working. I get following error in the .log file:

End Compiling Single Precision Abaqus/Explicit User Subroutines
Begin Linking Single Precision Abaqus/Explicit User Subroutines
Creating library explicitU.lib and object explicitU.exp
uhetvalx.obj : error LNK2019: unresolved external symbol getvrm referenced in function usdfld
explicitU.dll : fatal error LNK1120: 1 unresolved externals
Abaqus Error: Problem during linking - Single Precision Abaqus/Explicit User Subroutines.
This error may be due to a mismatch in the Abaqus user subroutine arguments.
These arguments sometimes change from release to release, so user subroutines
used with a previous release of Abaqus may need to be adjusted.
Abaqus/Analysis exited with errors

Best regards,
João

Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Eng-Tips Forums free from inappropriate posts.
The Eng-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Eng-Tips forums is a member-only feature.

Click Here to join Eng-Tips and talk with other members!


Resources