Addition von Single Arrays

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Benutzeravatar
BlackJack
Moderator
Beiträge: 32712
Registriert: Dienstag 25. Januar 2005, 23:29
Wohnort: Berlin
Kontaktdaten:

Re: Addition von Single Arrays

Beitragvon BlackJack » Donnerstag 16. Februar 2017, 19:45

@Sirius3: Ist aber eher unwahrscheinlich wenn man sich die Verwendung ansieht. Da haben die Elemente ja eine Methode die Floats liefert. Mehrzahl.
“XML combines all the inefficiency of text-based formats with most of the unreadability of binary formats :-)” — Oren Tirosh, c.l.p, 2002
Hanso
User
Beiträge: 7
Registriert: Mittwoch 15. Februar 2017, 10:48

Re: Addition von Single Arrays

Beitragvon Hanso » Freitag 17. Februar 2017, 12:38

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
Sirius3
User
Beiträge: 6007
Registriert: Sonntag 21. Oktober 2012, 17:20

Re: Addition von Single Arrays

Beitragvon Sirius3 » Freitag 17. Februar 2017, 13:08

@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.

  1. def read_nodeset(odb, anz_frames, nodeset):
  2.     result = []
  3.     for i in range(1,anz_frames+1):
  4.         values = odb.steps['Step-1'].frames[i].fieldOutputs['U'].getSubset(region=odb.rootAssembly.nodeSets[nodeset]).values
  5.         result.extend(v.dataDouble[1] for v in values)
  6.     return numpy.array(result)
  7.  
  8. ovalues = read_nodeset(odb, anz_frames, "VO")
  9. uvalues = read_nodeset(odb, anz_frames, "VU")
  10. summe = ovalues + uvalues


Ist dieses anz_frames überhaupt notwendig, oder könnte man auch direkt über odb.steps['Step-1'].frames iterieren?
  1. def read_nodeset(odb, nodeset):
  2.     result = []
  3.     for frame in odb.steps['Step-1'].frames:
  4.         values = frame.fieldOutputs['U'].getSubset(region=odb.rootAssembly.nodeSets[nodeset]).values
  5.         result.extend(v.dataDouble[1] for v in values)
  6.     return numpy.array(result)
  7.  
  8. ovalues = read_nodeset(odb, "VO")
  9. uvalues = read_nodeset(odb, "VU")
  10. summe = ovalues + uvalues
Hanso
User
Beiträge: 7
Registriert: Mittwoch 15. Februar 2017, 10:48

Re: Addition von Single Arrays

Beitragvon Hanso » Freitag 17. Februar 2017, 15:36

@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.

Zurück zu „Allgemeine Fragen“

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot]