×
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

Abaqus Post Processing

Abaqus Post Processing

Abaqus Post Processing

(OP)
Hello! Any help would be much appreciated.

I am modelling a weld model, and I have done a sequentially coupled thermal-mechanical analysis. The heat flux was specified using a subroutine and the mechanical analysis used the prescribed temperature field.

I am now looking at a new stage in my analysis:
Using the temperature-time data from the first thermal analysis odb, I would like to use post processing (I think I'll have to use C++) to identify grain size as a function of temperature, and then proceed to identifying yield stress as a function of grain size (I have the relationships). The issue is, I would like to do this for the whole model and eventually be able to display the variation in yield stress throughout the cross-section of the model in the visualizer.

Currently I have just chosen points of interest, and used excel to calculate the grain size and the subsequent yield stress at that point.

Any guidance on the approach I'll have to take and example scripts if I have to use C++ etc would be much appreciated! Kind of got lost reading through the abaqus manual.

RE: Abaqus Post Processing

You can do this also with Python. It is easier to do, but maybe not that performant during execution as C++.
In the Scriting Users Manual are examples how to read data from the .odb and how to add new data to the .odb.

RE: Abaqus Post Processing

(OP)
So after further reading I believe I am going to try use a USDFLD subroutine, this will allow me to hopefully produce a field variable so I can produce a contour plot of the grain size on the cross-section in visualizer.

The issue is that I need this throughout the whole analysis, not just at the end of the final step. Is it also possible to state an initial value in Abaqus without using a subroutine?

Does anyone know how I may do this and give an example subroutine?

Thanks in advance!

RE: Abaqus Post Processing

(OP)
EDIT:

After much dedication, I have the following subroutine attached. I have prescribed the initial grain size and tried varying this for temperature in each increment.

I receive the error: system error code 1073741819

Any advice? I think there must be an error with my subroutine but it could be the input file.

SUBROUTINE UFIELD(FIELD,KFIELD,NSECPT,KSTEP,KINC,TIME,NODE,
1 COORDS,TEMP,DTEMP,NFIELD)

INCLUDE 'ABA_PARAM.INC'

DIMENSION FIELD(NSECPT,NFIELD), TIME(2), COORDS(3),
1 TEMP(NSECPT), DTEMP(NSECPT)

if(KINC==1) then
FIELD(1,1)=30
endif

RETURN
END


C----------------------------------------------------
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)

INCLUDE 'ABA_PARAM.INC'

CHARACTER*80 CMNAME,ORNAME
CHARACTER*3 FLGRAY(15)
real*8 TEMP,Q,n,K,R
DIMENSION FIELD(NFIELD),STATEV(NSTATV),DIRECT(3,3),
1 T(3,3),TIME(2)
DIMENSION ARRAY(15),JARRAY(15),JMAC(*),JMATYP(*),
1 COORD(*)

C Defining values

Q= 170000.0
n=1.84
K=0.0301
R=8.3

C Calculate grain size

if(KINC==1) then
STATEV(1)=FIELD(1)
endif

CALL GETVRM('TEMP',ARRAY,JARRAY,FLGRAY,JRCD,JMAC,JMATYP,
1 MATLAYO,LACCFLA)

TEMP = ARRAY(1)
write(*,*) 'KINC=',KINC
C write(*,*) 'ARRAY=',ARRAY
C write(*,*) 'TEMP=',TEMP

IF(TEMP.GE.200.0) THEN
IF(TEMP.LE.400.0) THEN
STATEV(1)=STATEV(1)+(((K*DTIME)*exp(-(Q/(R*TEMP))))**(1/n))
ENDIF
ENDIF
FIELD(1)=STATEV(1)

RETURN
END

RE: Abaqus Post Processing

(OP)
Any advice? Still stuck.

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


Close Box

Join Eng-Tips® Today!

Join your peers on the Internet's largest technical engineering professional community.
It's easy to join and it's free.

Here's Why Members Love Eng-Tips Forums:

Register now while it's still free!

Already a member? Close this window and log in.

Join Us             Close