0

I have a number (nsteps) of groups of results (data). Each data has four subgroups of results (len(nodeSets)), one for each nodelabel.

I'd like to join in the same row the subgroups of results for each nodelabel. My code is like:

    for i in range(0,len(odb.rootAssembly.instances[myInstanceName].nodeSets['LOAD'].nodes)):
        for stepi in range(0, nsteps):
            stepName = odb.steps.values()[stepi].name 
            nodelabel = odb.rootAssembly.instances[myInstanceName].nodeSets['LOAD'].nodes[i].label
            hR='Node ' + myInstanceName + '.' +str(nodelabel)
            dCF3.append([odb.steps[stepName].historyRegions[hR].historyOutputs['CF3'].data])

My problem is that I get:

dCF3[0]=[[data in step1 for nodelabel 1]]
dCF3[1]=[[data in step2 for nodelabel 1]]
...
dCF3[n]=[[data in step1 for nodelabel 4]]
dCF3[n+1]=[[data in step2 for nodelabel 4]]

and I want:

dCF3[0]=[data in each stepi for nodelabel 1] #only one list
....
dCF3[3]=[data in each stepi for nodelabel 4] #only one list

Any ideas?

jpcgandre
  • 1,487
  • 5
  • 31
  • 55

1 Answers1

2

Try something like:

for nodelabel in nodes:
    dCF3.append([data.stepi.nodelabel for stepi in range(0, nsteps)])

It would have been easier with some actual data to test the code with.

Dek Dekku
  • 1,441
  • 11
  • 28