Seite 1 von 1

Re: Addition von Single Arrays

Verfasst: Donnerstag 16. Februar 2017, 19:45
von BlackJack
@Sirius3: Ist aber eher unwahrscheinlich wenn man sich die Verwendung ansieht. Da haben die Elemente ja eine Methode die Floats liefert. Mehrzahl.

Re: Addition von Single Arrays

Verfasst: Freitag 17. Februar 2017, 12:38
von Hanso
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

Re: Addition von Single Arrays

Verfasst: Freitag 17. Februar 2017, 13:08
von Sirius3
@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.

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
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, 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

Re: Addition von Single Arrays

Verfasst: Freitag 17. Februar 2017, 15:36
von Hanso
@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.