Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

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

Postprocessing - Combining stress fields

Status
Not open for further replies.

clarkea1

Mechanical
Sep 20, 2005
4
Hi,

I'm running a relatively straightforward plane-strain problem in ABAQUS 6.5, using CAE for all pre and post processing work. I'd like to create a variable, which would essentially be the difference between S11 and S22, which I could then plot as a contour to compare to previously validated results.

Does anyone know how to do this, only I'm getting nowhere fast....

Alternatively, if you can't do this in ABAQUS, is it possible to create output files with x, y, S11, S22 tabulated, as I could then read these into Tecplot and manipulate the results there to get what I want.

Hope someone can help

Cheers

Alastair
 
Replies continue below

Recommended for you

Alastair,

I suggest you use subroutine UVARM:

SUBROUTINE UVARM(UVAR,DIRECT,T,TIME,DTIME,CMNAME,ORNAME,
1 NUVARM,NOEL,NPT,LAYER,KSPT,KSTEP,KINC,NDI,NSHR,COORD,
2 JMAC,JMATYP,MATLAYO,LACCFLA)
C
INCLUDE 'ABA_PARAM.INC'
C
CHARACTER*80 CMNAME,ORNAME
CHARACTER*3 FLGRAY(15)
DIMENSION UVAR(NUVARM),DIRECT(3,3),T(3,3),TIME(2)
DIMENSION ARRAY(15),JARRAY(15),JMAC(*),JMATYP(*),COORD(*)
C
C Stress tensor:
CALL GETVRM('S',ARRAY,JARRAY,FLGRAY,JRCD,JMAC,JMATYP,
1 MATLAYO,LACCFLA)
UVAR(1) = ARRAY(1) - ARRAY(2)
RETURN
END
 
... you can just plot UVAR(1) in Viewer or print it in the .dat file like other variables.
Regards,
MRG
 
Or, maybe you can output and read the S11 and S22 variables and do the difference by yourself using an external program.
 
Roshaz can read the model and results from an ascii Abaqus results .fil file and calculate and plot contours of any combination of the results like ABS(S11 - S22) very easily.
 
Thanks for all the replies. To use the subroutine, UVARM, is there some option I have to set within CAE to make ABAQUS run this subroutine when running my job?

Cheers

Alastair
 
You can use Abaqus Scripting Interface to create new fields based on already existing (or not) fields. The new fields are stored in the .odb file, and you can perform any post-processing operation on them as for any requested fields.

The script is pretty simple. There are commands to create new scalar fields from components of tensor fields (S11 , S22 etc.)or tensor invariants. Then you can subtract the new created scalar fields.

Anyhow if you do not need to this operation often you can do it directly in CAE->Tools->Create Fields Output->From Fields->(select "Scalars" in "Function:" combo-box)->then create a new scalar field for each of S11 and S22, these will be stored in special created new step, called "Session Step". Now you can create new fields by performing operations on the new fields.

 
xerf, thanks - the method using CAE works a treat and has produced exactly what I wanted. Now why can't the manuals explain it that well!!!

Cheers

Alastair
 
???

Seems that it is explained perfectly in section:
"24.5 Creating new field output"
of the CAE user's manual...
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor