'In abaqus, how to output the maximum stress value at each time point without selecting an object
During the compression test, how to output the maximum stress value at each time point without selecting an object
Step&question I created a field output,MISESMAX maximum mises equivalent stress-submit this job-creat XY data-click ODB field output- select MISESMAX(i chorse intergration point in this part)then I save,but abaqus hint “At least one entity should be selscted”.
Goal I want to output Maximum stress value of each step in XY data,but the area of maximum stress value in each step will be different,so how to How to output XY value without selecting an area.
Solution 1:[1]
I found an effective method in the help document Finding the maximum value of von Mises stress https://help.3ds.com/2020/english/dssimulia_established/simacaecmdrefmap/simacmd-c-odbintroexamaxmisespyc.htm?contextscope=all
Solution 2:[2]
In order to create XY data
, you must select the some or full part of the model. Hence the error from the Abaqus. I find this method is slow for your application.
Alternatively you can use below method:
In Abaqus/CAE: from Report
menu -> select Field Output
-> select appropriate Step/Frame
-> select MISESMAX variable
-> select position
(If you want the nodal results then select Unique Nodal
)-> In the setup tab check on Column Min/Max
option.
Please note this writes the field output data to the file for ONE frame only. and at the end of the file you will get to see the max value and it's position (If the position you selected is Unique Nodal
, the node label will be written.).
Similarly, you can repeat this process for each frame of the step. or you can use following code:
import displayGroupOdbToolset as dgo
import odbAccess
odbName = 'example.odb'; outFile = 'example.dat'
odb = odbAccess.openOdb(path=odbName)
session.viewports['Viewport: 1'].setValues(displayedObject=odb)
leaf = dgo.Leaf(leafType=DEFAULT_MODEL)
session.viewports['Viewport: 1'].odbDisplay.displayGroup.replace(leaf=leaf)
for stp in odb.steps.keys():
stpNum = odb.steps[stp].number
tframe = len(odb.steps['Step-1'].frames) - 1
session.writeFieldReport(fileName=outFile, append=ON,
sortItem='Node Label', odb=odb, step=stpNum, frame=tframe, outputPosition=NODAL,
variable=(('S', INTEGRATION_POINT, ((INVARIANT, 'Mises'), )), ))
Please change the argument to variable
option in above code as per your field output data.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | rustin |
Solution 2 |