How to iterate through load-steps for result objects?

Member, Moderator, Employee Posts: 479
100 Answers 250 Likes 100 Comments Second Anniversary
✭✭✭✭
edited June 2023 in Structures

How to iterate through load-steps for result objects?

Tagged:

Best Answers

  • Member, Moderator, Employee Posts: 479
    100 Answers 250 Likes 100 Comments Second Anniversary
    ✭✭✭✭
    Answer ✓
    1. ResData = ExtAPI.DataModel.Project.Model.Analyses[0].GetResultsData()
    2.  
    3. DataSets = ResData.ListTimeFreq
    4.  
    5. es = Model.Analyses[0].Solution.Children[1]
    6. for data_set in DataSets:
    7. es.DisplayTime = Quantity("%s [sec]" % data_set)
    8. es.EvaluateAllResults()
    9. print es.Maximum
  • Member, Employee Posts: 90
    Second Anniversary 5 Answers 25 Likes 10 Comments
    ✭✭✭✭
    Answer ✓

    There is one way to do it if you don't have any result object in your Solution. For instance, imagine that you want to read nodal temperature results, without creating the result object. You use GetResultsData() function, which has the option CurrentTimeFreq to select which time results are read. Below an example where temperature is read for each time without result object creation:

    1. model= ExtAPI.DataModel.Project.Model
    2. meshData = model.Analyses[0].MeshData
    3. my_nodes = meshData.NodeIds
    4. reader = model.Analyses[0].GetResultsData()
    5. datasets = reader.ListTimeFreq
    6. for i in range(len(datasets)):
    7. reader.CurrentTimeFreq = reader.ListTimeFreq[i] #Here is where time is selected
    8. TEMPResults = reader.GetResult('TEMP')
    9. valuesTEMP = TEMPResults.GetNodeValues(my_nodes)

Answers

  • Member Posts: 2
    Name Dropper First Comment
    **

    Hello @Javier Vique , thank you for your useful code. Though, it seems to work only with temperatures and displacements, is there a possibility to get the nodal (or element) equivalent vonMises stresses for each time step?

Welcome!

It looks like you're new here. Sign in or register to get started.