Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

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

odbreport command. histregion not found 2

Status
Not open for further replies.

gaetano89

Aerospace
Apr 22, 2015
18
Hi guys,
I'm using the command "abaqus odbreport" in order to obtain displacement results of a single node. I need that because I need the values of displacement of each increment of the step, in order to create a XYplot.
What I type is this:
abaqus odbreport job=study history=U2 step='plot' histregion=Node3
but then python tell me that the history name Node3 is not found in spet plot.
What is wrong? Should I define the region in the plot? How do I do that in the input file?
thanks a lot!
 
Replies continue below

Recommended for you

Run first only something like:
abaqus odbreport job=study history step=plot


Now open the report and look in it. Here you'll find the way you have to access the node. When you use this, it may look like this:
abaqus odbreport job=study history=U2 step=plot histregion="Node PART-1-1.3"
 
Hi Mustaine, thanks.
Unfortunately running only "abaqus odbreport job=study history step=plot" doesn't give me information. I tried to run "abaqus odbreport job=study field=U step=plot" and it gives me this for each increment:

ODB Report: -job provareport -step plot -field U

General ODB information
name : provareport.odb
analysisTitle :
description : DDB object
path : C:/Temp/Parametric/provareport.odb

-------------------------------------------------------------------------------
Total number of steps = 4

-----------------------------------------------------------
Step name 'plot'
description :
number : 4
domain : ARC_LENGTH
procedure : *STATIC, RIKS
timePeriod : 1.86496269702911
totalTime : 3.0
previousStep : Precompression
nlgeom : Yes

Total number of frames = 394

-------------------------------------
Frame number 1
description : Increment 1: Arc Length = 1.0000E-06
increment : 1
frame value : 9.99999997475243e-07
domain : ARC_LENGTH

Field name 'U'
description : Spatial displacement
type : VECTOR
is complex : No
component labels : U1 U2
valid invariants : MAGNITUDE
has orientations : No
Location 0
position : NODAL

Components of field 'U'
Instance Element Node SP IP U1 U2
-------- --------- --------- -- -- ------------- -------------
PART-1-1 1 0.0 0.0
PART-1-1 2 -0.00400615 0.549383
PART-1-1 3 -0.015 -0.25
PART-1-1 4 -0.0259938 -1.04938
...................................................................
Running "abaqus odbreport job=study field=U2 step=plot histregion="Node PART-1-1.3" it still tell me that Node PART-1-1.3 is not found in step "plot"
What's wrong? Should I bettere define something in the input file? In the history output or in the field output?
 
Have you requested history output in your analysis?
 
Yes I did it. Actually you are right, now it gives me what I need tanks. Now I have another question. Is it possible to insert this command into a psf file I use for parametric studies? I mean, I need to use the odb report command for hundreds of analysis. What's your suggestion in order to gather and plot all the results?
Thanks again your comments were very useful
 
I'm not familiar with these built-in parametric studies, so I don't know how to do it in there.

Running all the odbreports command through a batch file is simple. Creating such a batch file can be done automatically with this script. You just have to adjust the 'call' option in there to fit your odbreport command.

Store that script in the same directory where all your odbs are and run it here. Afterwards you'll find the batch file you could run.

Code:
import os

odblist = []

path = os.getcwd()
joblist = os.listdir(path)

for xfile in joblist:
    if xfile.endswith('.odb'):
        odblist.append(xfile)


output=file('queue-parstudy.bat', 'w')

for name in odblist:
    xname=name.split('.')[0]
    print >> output, 'call abaqus odbreport job='+xname+' history step=Step-1'

output.close()


But then you have all these reports and have to deal with them. You could use python (or any other language) to grab the data you need from the reports (or with python directly from the odb) and print them in a common csv-file, so you could easily bring it to Excel and create xy plots.
 
Thanks a lot Mustaine3. I'll work on that and I'll let you know!
 
Hi Mustaune3.
your script works! thanks a lot. now since it's a parametric study I have many odb file, named study_c1, study_c2, study_c3 .... To create the rep file of all of that, shall I insert a for loop into your script? Sorry if this could be a banal question, but I'm a materials engineer and this is the first time I'm using software and informatics languages
 
When the script worked, then you should find a .bat file (for Windows) in that folder. Open it with an editor and you'll see commands that run all the odbreports. So you just have to execute that batch file and wait until it's finished.
 
Thanks again Mustaine3. Actually the scripts works only when I call the name of just one job like, 'call abaqus odbreport job=study_c1 history step=plot histregion="Node PART-1-1.3"'. But in this way it creates just one .rep file. How to I execute the command for all the odb files?
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor