-1

I want to output Total Time/Freq in Abaqus to monitor Job. Recently, I can output the maximum stress at every frame. Now, I want to know how to output frame time.

for step in odb.steps.values():
    # print('Processing Step:', step.name)
    for frame in step.frames:

        allFields = frame.fieldOutputs
        if (allFields.has_key(Stress)):
            isStressPresent = 1
            stressSet = allFields[Stress]
            if elemset:
                stressSet = stressSet.getSubset(
                    region=elemset)
            for stressValue in stressSet.values:

                if (stressValue.mises > maxMises):
                    maxMises = stressValue.mises
                    juli = stressValue.magnitude
                    maxElem = stressValue.elementLabel
                    maxStep = step.name
                    maxFrame = frame.incrementNumber
                    if (isStressPresent):
                        zydatalist.append([maxFrame,juli, maxMises, maxElem])
Satish Thorat
  • 584
  • 1
  • 5
  • 13
rustin
  • 1
  • 1
  • 3

1 Answers1

0

It is not possible to get the time elapsed till the current frame directly. To get it, we need 2 information viz. totalTime and frameValue.
totalTime - This is the analysis time spend in all the steps previous to the start of this step.
frameValue - This is the time for the current frame in current step.
So, the time elapsed till the current frame can calculated as, timeCurrent = totalTime + frameValue.

step = odb.steps['Step-1']
t1 = step.totalTime # time till the 'Step-1'
for frame in step.frames:
    tinst = frame.frameValue   # time for the frame in the current step
    tcurrent = t1 + tinst
    print('Total time for the frame', tcurrent)

Satish Thorat
  • 584
  • 1
  • 5
  • 13