Joe Cyrne
Aerospace
- May 10, 2018
- 8
Hi,
I am currently doing a project in which I have to translate results from the Abaqus Explicit odb file to Matlab, which I do through a python file.
In order for the python file correctly read the results from the odb file, the output requests in my Abaqus input file are:
** OUTPUT REQUESTS
**
*Output, field, number interval=750
*NODE OUTPUT, nset=ImpactWall-1.RPoint
A, U, V
I ran a crash simulation (rigid barrier against deformable structure), and the python file gave me a barrier displacement of 220 mm. I checked in the odb file and the final displacement is indeed 220 mm (fig1, in grey, where it is possible to see that the red reference point stops at the end of the deformable structure).
However, later, I ran the same input file with different output requests so I could see the crash process:
** OUTPUT REQUESTS
**
*Output, field, variable=PRESELECT, number interval=300
*element output
STATUS, SDV, DMICRT, DAMAGEFC, DAMAGEFT, DAMAGEMT, DAMAGEMC, DAMAGESHR
*contact output, cpset=Crush
CFORCE, CZASTATE
**
** HISTORY OUTPUT: H-Output-1
**
*Output, history
*node output, nset=ImpactWall-1.RPoint
U, V, A, RF
*energy output, variable=ALL
In this case, when I check the history output of the central node of the barrier, the final displacement is much greater than 220 mm, even though the assembly is exactly the same, meaning the barrier completely crushes the deformable structure and continues moving forward, which is a completely different result than the one obtined with the former output requests.
Why does this happen? I know in the first case I am outputing the node displacement as a field variable and in the second I am doing it as a history variable, but how can the value of the final displacement be different?
I am currently doing a project in which I have to translate results from the Abaqus Explicit odb file to Matlab, which I do through a python file.
In order for the python file correctly read the results from the odb file, the output requests in my Abaqus input file are:
** OUTPUT REQUESTS
**
*Output, field, number interval=750
*NODE OUTPUT, nset=ImpactWall-1.RPoint
A, U, V
I ran a crash simulation (rigid barrier against deformable structure), and the python file gave me a barrier displacement of 220 mm. I checked in the odb file and the final displacement is indeed 220 mm (fig1, in grey, where it is possible to see that the red reference point stops at the end of the deformable structure).
However, later, I ran the same input file with different output requests so I could see the crash process:
** OUTPUT REQUESTS
**
*Output, field, variable=PRESELECT, number interval=300
*element output
STATUS, SDV, DMICRT, DAMAGEFC, DAMAGEFT, DAMAGEMT, DAMAGEMC, DAMAGESHR
*contact output, cpset=Crush
CFORCE, CZASTATE
**
** HISTORY OUTPUT: H-Output-1
**
*Output, history
*node output, nset=ImpactWall-1.RPoint
U, V, A, RF
*energy output, variable=ALL
In this case, when I check the history output of the central node of the barrier, the final displacement is much greater than 220 mm, even though the assembly is exactly the same, meaning the barrier completely crushes the deformable structure and continues moving forward, which is a completely different result than the one obtined with the former output requests.
Why does this happen? I know in the first case I am outputing the node displacement as a field variable and in the second I am doing it as a history variable, but how can the value of the final displacement be different?