Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # tensors for loading and unloading frame of cycle
- loadFieldLE = odb.steps[lastStepName].frames[0].fieldOutputs['LE']
- loadFieldS = odb.steps[lastStepName].frames[0].fieldOutputs['S']
- unloadFieldLE = odb.steps[lastStepName].frames[-1].fieldOutputs['LE']
- unloadFieldS = odb.steps[lastStepName].frames[-1].fieldOutputs['S']
- # calculate tensor mean and amplitude values
- meanLE = 0.5*(loadFieldLE+unloadFieldLE)
- ampLE = 0.5*(loadFieldLE-unloadFieldLE)
- meanS = 0.5*(loadFieldS+unloadFieldS)
- ampS = 0.5*(loadFieldS-unloadFieldS)
- #store strain amplitude, and update maxumum strain amplitude
- cycEA = []
- for v in ampLE.values:
- cycE3 = v.maxPrincipal
- cycE1 = v.minPrincipal
- if abs(cycE3) > abs(cycE1):
- cycE3abs = cycE3
- else:
- cycE3abs = cycE1
- cycEA.append(cycE3abs)
- if abs(cycE3abs) > abs(cycEAmax):
- cycEAmax = cycE3abs
- # .002 store shear strain amplitude, and update maxumum strain amplitude
- cycTau = []
- for v in ampLE.values:
- cycE3 = v.maxPrincipal
- cycE1 = v.minPrincipal
- tau = (abs(cycE3) - abs(cycE1))/2
- cycTau.append(tau)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement