Autor
|
Thema: Ausgabe der in einer Subroutine berechneten Werte (1016 mal gelesen)
|
mftrombone Mitglied
Beiträge: 5 Registriert: 19.06.2013
|
erstellt am: 19. Jun. 2013 13:28 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, ich habe für Abaqus/Standard 6.12 User Subroutinen für FILM und DFLUX entwickelt um Wärmeströme bei einer thermischen Analyse vorzuschreiben. Gibt es eine Möglichkeit die Werte, die ich für h(), bzw. flux() berechnet habe an die ODB anzuhängen? Bisher sehe ich nur die Möglichkeit dafür die User Subroutine USDFLD zu nutzen. Das würde aber bedeuten, dass ich die Berechnung der Wärmeströme in dieser subroutine erneut durchführen müsste. Gibt es eine elegantere Lösung, so dass ich möglichst wenig overhead durch das raus schreiben bekomme?
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
dabauer82 Mitglied
Beiträge: 121 Registriert: 22.11.2007 Pro/E WiFi3 M050 Win 7 ABQ 6-14
|
erstellt am: 19. Jun. 2013 13:41 <-- editieren / zitieren --> Unities abgeben: Nur für mftrombone
Angeblich kannst du die Subroutine um ein write(*,*)-statement erweitern und dir damit die Werte an eine Datei ausgeben lassen. Wenn du z.B. die Statusfile von ABQ nutzen möchtest, müsstet du den Pointer 6 verwenden (write(*,6)). Allerdings muss ich zugeben, hat es bei mir noch nicht funktioniert. Aus Zeitgründen liegt das erstnmal auf eis. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mftrombone Mitglied
Beiträge: 5 Registriert: 19.06.2013
|
erstellt am: 19. Jun. 2013 13:47 <-- editieren / zitieren --> Unities abgeben:
Danke für die schnelle Rückmeldung. Leider ist das nicht ganz das, was ich suche. Diese Funktionalität nutze ich bereits um in die Log-Dateien zu schreiben. Mir geht es darum, dass ich den berechneten Wärmestrom als Feld in meiner ODB speichern möchte, so dass ich die Werte im Viewer auswerten kann. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
dabauer82 Mitglied
Beiträge: 121 Registriert: 22.11.2007 Pro/E WiFi3 M050 Win 7 ABQ 6-14
|
erstellt am: 19. Jun. 2013 13:59 <-- editieren / zitieren --> Unities abgeben: Nur für mftrombone
Verstehe, an so einer Lösung bin ich auch interessiert. Kann dir aber leider nicht helfen. Könntest du mir aber ggf. deine Lösung für die Log-Datei-Variante zukommen lassen, damit ich meinen Fehler da beseitigen kann? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mftrombone Mitglied
Beiträge: 5 Registriert: 19.06.2013
|
erstellt am: 19. Jun. 2013 14:04 <-- editieren / zitieren --> Unities abgeben:
|
Nicksen Mitglied wissenschaftlicher Mitarbeiter
Beiträge: 239 Registriert: 04.05.2007
|
erstellt am: 19. Jun. 2013 16:53 <-- editieren / zitieren --> Unities abgeben: Nur für mftrombone
Hallo, schaut doch auch nochmal im Manual nach "User defined output variable". Wenn ich mich richtig erinnere gibt es die Routinen UVAR und UVARM. Damit kann man dich Ergebnisse in die odb holen. Oder alternativ kann man die zu visualisierenden Größen als solution dependent state variable speichern (SDV). Mit den richtigen Einstellungen sollten diese Variablen dann auch im Viewer verfügbar sein. mfg Nicksen ------------------ =============== == Dingsen == =============== Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mftrombone Mitglied
Beiträge: 5 Registriert: 19.06.2013
|
erstellt am: 21. Jun. 2013 10:54 <-- editieren / zitieren --> Unities abgeben:
Danke für dien Hinweis. Das war die Lösung. Ich schreibe meine Daten nun in der film-User Subroutine in ein Modul. Dieses Modul lese ich in der uvarm-User Subroutine und schreibe die Daten in die ODB. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
dabauer82 Mitglied
Beiträge: 121 Registriert: 22.11.2007 Pro/E WiFi3 M050 Win 7 ABQ 6-14
|
erstellt am: 24. Jun. 2013 09:45 <-- editieren / zitieren --> Unities abgeben: Nur für mftrombone
|
Nicksen Mitglied wissenschaftlicher Mitarbeiter
Beiträge: 239 Registriert: 04.05.2007
|
erstellt am: 24. Jun. 2013 15:17 <-- editieren / zitieren --> Unities abgeben: Nur für mftrombone
Eine vage Vermutung: Die meisten Routinen aus Standard gibt es in Explicit mit einem "V" davor. Bsp. UMAT ist dort VUMAT Vielleicht gibt es UVARM dort als VUVARM. Wie gesagt: Nur eine vage Vermutung. Habe selten mit Explicit zu tun. mfg NxxN ------------------ =============== == Dingsen == =============== Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |