Addition von Single Arrays
@Sirius3: Ist aber eher unwahrscheinlich wenn man sich die Verwendung ansieht. Da haben die Elemente ja eine Methode die Floats liefert. Mehrzahl.
Danke für eure Hilfe erstmal. Ich habe das mit der Umwandlung probiert, allerdings hab ich die geeignete Methode noch nicht gefunden. float, int, Long funktionieren nicht. Die Fehlermeldung lautet:
TypeError: float()argument must be a string or a number, not 'FieldValue'
Allerdings konnte ich nicht herausfinden, wie ich die Umwandlung auf FieldValue anwenden kann
TypeError: float()argument must be a string or a number, not 'FieldValue'
Allerdings konnte ich nicht herausfinden, wie ich die Umwandlung auf FieldValue anwenden kann
@Hanso: ja FieldValue haben noch eine Unterstruktur, aber die hast Du ja schon in eigenen Deinem Programm aufgelöst, denn sonst könntest Du ja numpy.savetxt nicht verwenden.
Ist dieses anz_frames überhaupt notwendig, oder könnte man auch direkt über odb.steps['Step-1'].frames iterieren?
Code: Alles auswählen
def read_nodeset(odb, anz_frames, nodeset):
result = []
for i in range(1,anz_frames+1):
values = odb.steps['Step-1'].frames[i].fieldOutputs['U'].getSubset(region=odb.rootAssembly.nodeSets[nodeset]).values
result.extend(v.dataDouble[1] for v in values)
return numpy.array(result)
ovalues = read_nodeset(odb, anz_frames, "VO")
uvalues = read_nodeset(odb, anz_frames, "VU")
summe = ovalues + uvalues
Code: Alles auswählen
def read_nodeset(odb, nodeset):
result = []
for frame in odb.steps['Step-1'].frames:
values = frame.fieldOutputs['U'].getSubset(region=odb.rootAssembly.nodeSets[nodeset]).values
result.extend(v.dataDouble[1] for v in values)
return numpy.array(result)
ovalues = read_nodeset(odb, "VO")
uvalues = read_nodeset(odb, "VU")
summe = ovalues + uvalues
@Sirius3: Danke, auf diese Weise funktioniert das Programm jetzt. Die einfachere Variante ohne anz_frames funktioniert ebenfalls. Jetzt kann ich mit dieser Struktur auch den Rest meines Programms vervollständigen. Ich danke vielmals allen die mir geholfen haben.