Autor
|
Thema: Zugriff auf Odb Datei während der Simulation (1368 mal gelesen)
|
superiss Mitglied Student
Beiträge: 3 Registriert: 16.11.2008
|
erstellt am: 26. Nov. 2008 12:33 <-- editieren / zitieren --> Unities abgeben:
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
Beiträge: 125 Registriert: 11.10.2007
|
erstellt am: 27. Nov. 2008 08:17 <-- editieren / zitieren --> Unities abgeben: Nur für superiss
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
Beiträge: 165 Registriert: 24.04.2007
|
erstellt am: 27. Nov. 2008 10:23 <-- editieren / zitieren --> Unities abgeben: Nur für superiss
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
Beiträge: 51 Registriert: 22.07.2007
|
erstellt am: 27. Nov. 2008 21:30 <-- editieren / zitieren --> Unities abgeben: Nur für superiss
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
Beiträge: 3 Registriert: 16.11.2008
|
erstellt am: 29. Nov. 2008 12:33 <-- editieren / zitieren --> Unities abgeben:
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 >>)
|