Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SIMULIA/ABAQUS
  Odb nachträglich bearbeiten

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:   Odb nachträglich bearbeiten (1275 mal gelesen)
  
Die Gewinne der Zukunft werden mit intelligenten, autonomen Elektrofahrzeugen eingefahren. (3DEXPERIENCE)
Harr
Mitglied
student


Sehen Sie sich das Profil von Harr an!   Senden Sie eine Private Message an Harr  Schreiben Sie einen Gästebucheintrag für Harr

Beiträge: 36
Registriert: 11.08.2011

erstellt am: 02. Okt. 2013 12:40    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo zusammen !

Ich habe ein Skript um nachträglich die Odb zu bearbeiten um die Triaxialität und den Lodewinkel einzufügen.
Jedoch bekomme ich einen Fehler in der letzten Zeile:

Code:
triax = allFields[Stress].getScalarField(invariant=PRESS)/allFields[Stress].getScalarField(invariant=MISES)       
xi = power(allFields[Stress].getScalarField(invariant=INV3)/allFields[Stress].getScalarField(invariant=MISES),3)  
                                                                                     
lode = 1-2/pi*acos(xi)

damit xi im Definitionsbereich zwischen -1 und 1 liegt habe ich folgende if Bedingung eingebaut.

Code:
if xi < -1:
  xi = -1
elif xi > 1:
  xi = 1

diese if Funktion scheint hier nicht zu Funktionieren.

Ich hoffe es kann mir jemand sagen, mit welchem Code ich xi im Definitionsbereich der Arcus-Cosinus Funktion halten kann.
Vielen Dank im Vorraus

[Diese Nachricht wurde von Harr am 02. Okt. 2013 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Harr
Mitglied
student


Sehen Sie sich das Profil von Harr an!   Senden Sie eine Private Message an Harr  Schreiben Sie einen Gästebucheintrag für Harr

Beiträge: 36
Registriert: 11.08.2011

erstellt am: 04. Okt. 2013 02:17    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


edit_odb_Start_Holger_neu2.txt

 
Das Skript findet Ihr im Anhang.
Vielleicht kann mir dann jemand behilflich sein.

in Zeile 136 kommt der Fehler. (Error: Value out of range)
Also hat es wohl nichts mit dem Definitionsbereich zu tun...

Vielen Dank

[Diese Nachricht wurde von Harr am 04. Okt. 2013 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

adaptiveMesh
Mitglied



Sehen Sie sich das Profil von adaptiveMesh an!   Senden Sie eine Private Message an adaptiveMesh  Schreiben Sie einen Gästebucheintrag für adaptiveMesh

Beiträge: 66
Registriert: 25.05.2006

erstellt am: 07. Okt. 2013 12:53    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Harr 10 Unities + Antwort hilfreich

Die Operation
(FieldOutput / FieldOutput) ist nicht vorgesehen,
siehe 9.8.2 Valid mathematical operations (Scripting User's Manual)
Der erste Fehler liegt bereits in Zeile 134 vor.

in Zeile 136 kommt der Fehler. (Error: Value out of range)
[/QUOTE]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Harr
Mitglied
student


Sehen Sie sich das Profil von Harr an!   Senden Sie eine Private Message an Harr  Schreiben Sie einen Gästebucheintrag für Harr

Beiträge: 36
Registriert: 11.08.2011

erstellt am: 07. Okt. 2013 14:47    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Vielen Dank für den Hinweis adaptiveMesh!!
Ich werde dem sofort nachgehen und mich dann zurückmelden!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Harr
Mitglied
student


Sehen Sie sich das Profil von Harr an!   Senden Sie eine Private Message an Harr  Schreiben Sie einen Gästebucheintrag für Harr

Beiträge: 36
Registriert: 11.08.2011

erstellt am: 07. Okt. 2013 15:13    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Also beim ersten Umwandeln der Odbs hat es Funktioniert, und die Werte sind auch i.O. was die Triaxialität angeht. (PRESS/MISES) -- (FieldOutput/FieldOutput)
Code:
triax = allFields[Stress].getScalarField(invariant=PRESS)/allFields[Stress].getScalarField(invariant=MISES)

Die Originalen Odbs habe ich jetzt aber nicht mehr und muss mit den bereits Umgewandelten weiter machen.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Harr
Mitglied
student


Sehen Sie sich das Profil von Harr an!   Senden Sie eine Private Message an Harr  Schreiben Sie einen Gästebucheintrag für Harr

Beiträge: 36
Registriert: 11.08.2011

erstellt am: 07. Okt. 2013 17:41    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Also wenn ich die Zeile mit der Arcuscosinus-Funktion wie folgt ergänze funktioniert es
Wobei die komplette If-Funktion mit der Variable xi weg bleibt
Code:
lode = 1-2/pi*acos(xi*pi/180)

Ich bin verwirrt.. Abaqus rechnet in Grad und mit Python muss ich mit Radiant rechnen Oo


Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

adaptiveMesh
Mitglied



Sehen Sie sich das Profil von adaptiveMesh an!   Senden Sie eine Private Message an adaptiveMesh  Schreiben Sie einen Gästebucheintrag für adaptiveMesh

Beiträge: 66
Registriert: 25.05.2006

erstellt am: 07. Okt. 2013 18:19    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Harr 10 Unities + Antwort hilfreich

9.8.1:
Arguments to the trigonometric functions must be in radians.

Table 9-3:
all / float
acos(all)

Wie gesagt: Deine Division ist so für FieldOutput objects nicht vorgesehen. Acos(FieldOutput objects) geht.
Ärgerlich ist aber die unvollständige abaqus-Doku. Nicht einmaml die __doc__ Function ist für die Methoden sinnvoll belegt worden...

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2020 CAD.de | Impressum | Datenschutz