Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SIMULIA/ABAQUS
  Zugriff auf Odb Datei während der Simulation

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:   Zugriff auf Odb Datei während der Simulation (1029 mal gelesen)
  
Die Gewinne der Zukunft werden mit intelligenten, autonomen Elektrofahrzeugen eingefahren. (3DEXPERIENCE)
superiss
Mitglied
Student

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

Beiträge: 3
Registriert: 16.11.2008

erstellt am: 26. Nov. 2008 12:33    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

Hi,

ich habe momentan ein Problem. Ich habe ein Python Script zum Auslesen von einem Ergebnis in History Output geschrieben. Dieser Script funktioniert auch. Nun möchte ich, dass dieser Script regelmäßig während der Simulation gestartet wird. Ich habe in dem Script mit dem Befehl openOdb(path=Name, readOnly=True) gearbeitet. Zusätzlich habe ich Python noch Try OdBError Exeption in einer Schleife eingebaut, um Zugriff Fehler zu vermeiden. Leider läuft die Routine nur manchmal zu Ende. Oft bricht das Python Script mit der Meldung ***odbERROR ab und in Log Datei steht "MPI Application rank 0 killed before MPI_Finalize() with signal 15". Die Simulation läuft trotz des Abbruches von Python Script weiter.

Hätte jemand eine gute Idee, was man machen kann?

Vielen Dank

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

carsten1983
Mitglied
Doktorand


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

Beiträge: 125
Registriert: 11.10.2007

erstellt am: 27. Nov. 2008 08: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 Nur für superiss 10 Unities + Antwort hilfreich

Hallo,

es würde wahrscheinlich helfen, wenn du das Script mal hochladen und das Problem ein wenig genauer beschreiben könntest. So kann ich nur vermuten. Dennoch liegt in meinen Augen der Verdacht nahe, dass diese Meldung ***odbERROR von dir selbst produziert wird. Wenn du ein Try Statement verwendest, möchtest du doch, dass das Script versucht auf die odb zuzugreifen. Falls das nicht möglich ist, folgt nach einem Try eine Exception, die das Script abbricht. Da ich nun lese du hast ein try OdBError  drin und du bekommst als Fehler ***OdBError zurück, vermute ich dass dort der Hund begraben liegt.

Über Gründe warum die odb nicht vorliegt, könnte ich jetzt nur mutmaßen ohne genauere Informationen.

mfg

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

milasan
Mitglied



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

Beiträge: 165
Registriert: 24.04.2007

erstellt am: 27. Nov. 2008 10:23    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 superiss 10 Unities + Antwort hilfreich

Hallo Superiss,

ich glaube es gibt Probleme, wenn Du mit einem externen Pythonprogramm auf die Odb zugreifen willst, und diese gerade geschrieben wird. Dann ist die Odb nicht vollständig und kann nicht gelesen werden, daher der Fehler. Zugreifen kannst Du nur genau dann, wenn Abaqus gerade nicht schreibt, zum Beispiel zwischen zwei Incrementen oder Steps der Rechnung.

Um Daten während der Rechnung auszulesen, solltest Du mit einer Subroutine arbeiten. Ideal (Performance!) wäre es, ganz in Fortran zu arbeiten. Alternativ könntest Du Dein Pythonprogramm aus einer Subroutine aufrufen, siehe http://ww3.cad.de/foren/ubb/Forum254/HTML/000817.shtml  .

Gruß,
M.

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

Poldi1979
Mitglied



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

Beiträge: 51
Registriert: 22.07.2007

erstellt am: 27. Nov. 2008 21:30    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 superiss 10 Unities + Antwort hilfreich

Hallo zusammen.

Ich habe ein ähnliches Problem und mir würde es durchaus helfen, in einer Subroutine ein externes Programm zu starten. Allerdings rechne ich explizit. Dann gibt es ja leider "uexternaldb.f" nicht. Gibt es dennoch eine Möglichkeit, aus einer V-Subroutine ein externes Programm zu starten?

Vielen Dank im Voraus

[Diese Nachricht wurde von Poldi1979 am 27. Nov. 2008 editiert.]

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

superiss
Mitglied
Student

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

Beiträge: 3
Registriert: 16.11.2008

erstellt am: 29. Nov. 2008 12:33    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 die Antworten.
Ich werde TRY EXCEPTION in mein Python kontrollieren, ob es tatsächtlich funktioniert. Noch eine Frage habe ich denn noch. Ich arbeite auch mit Explicit. Kann man mit V Subroutine alle HistoryOutput zugreifen? Wenn Ja, dann brauche ich ja gar kein Python Script oder?

vielen Dank

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