I'm using Abaqus 6.14-1.
I would like to calculate the volume of a set of elements within a part from a *.odb file.
I tried the following,
# Extract element volumes from ODB
odbName = 'Ouput.odb'
odb = session.openOdb(odbName)
lastFrame = odb.steps['Step-1'].frames[-1]
volumeField = lastFrame.fieldOutputs['EVOL']
nucleus = odb.rootAssembly.instances['BOX-1'].elementSets['SPHERE']
volumeSet = volumeField.getSubset(region=nucleus, elementType='C3D10')
volumeFieldValues = volumeSet.values
volume = 0
for vol in volumeFieldValues:
volume += vol
print volume
session.odbs[odbName].close()
But it turns out that 'EVOL' is no longer a valid field output for 6.14.
I'm surprised that there isn't an obvious method to do this. I ran through the procedure manually & had a look at the *'rpy file to see what method Abaqus used but it wasn't listed, only a message telling me what I had done.
Any suggestions?
Field output variable EVOL
is valid for Abaqus 6.14; it's necessary to request it manually, though.
More information about this field output can be found in Abaqus Analysis User's Guide, section 4.2.1, under 'Whole element variables'.
After the analysis job finishes, you should be able to use the script you've shown in your question.