| |
| Leitfaden für die Materialauswahl im Spritzguss, ein Fachartikel
|
Autor
|
Thema: Residuals mit foamMonitor für mehrere Regionen / multiregion (1162 / mal gelesen)
|
nordex Mitglied
Beiträge: 13 Registriert: 29.09.2021 Ubuntu 20.04 LTS OpenFOAM 9 Salome FreeCAD
|
erstellt am: 16. Nov. 2021 17:35 <-- editieren / zitieren --> Unities abgeben:
Hi, ich habe foamMonitor für Laufzeit-residuals wie folgt installiert: 1. mit "foamGet residuals" einen Ordner "system/residuals" erstellt und dort fields (<fieldNames> ) auf (p T) ersetzt. 2. am Ende von ControlDict gesetzt: functions { #includeFunc residuals } 3. während Simulation residuen angeschaut mit: foamMonitor -l ./postProcessing/residuals/0/residuals.dat Das hat gut funktioniert für case mit nur 1 Region. Für case mit mehreren Regionen, z.B. für
tutorials/chtMultiRegionFoam/heatedDuct kommt Fehlermeldung: request for objectRegistry region0 from objectRegistry heatedDuct processor1 failed available objects of type objectRegistry are 3 ( metal fluid heater ) Wie programmiert man foamMonitor für multiregion case ? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2466 Registriert: 27.08.2010
|
erstellt am: 16. Nov. 2021 19:42 <-- editieren / zitieren --> Unities abgeben: Nur für nordex
Hey, Also erstmal zur Nomenklatur. Installiert hast Du nichts. Du hast lediglich eine bereits kompilierte FunctionObject eingebunden. Foam Monitor musst Du nicht abändern, das läuft alles schon. Funktioniert denn residuals für cht? Es sollte hier das Keyword region geben. Ggf kannst das auch beim Foam Monitor angeben. Wird ja quasi schon in der Fehlermeldung ausgegeben. ------------------ Glück Auf, Tobi OpenFOAM® Community - Knowledge Base Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
nordex Mitglied
Beiträge: 13 Registriert: 29.09.2021 Ubuntu 20.04 LTS OpenFOAM 9 Salome FreeCAD
|
erstellt am: 17. Nov. 2021 12:12 <-- editieren / zitieren --> Unities abgeben:
|
Shor-ty Moderator
Beiträge: 2466 Registriert: 27.08.2010
|
erstellt am: 18. Nov. 2021 01:17 <-- editieren / zitieren --> Unities abgeben: Nur für nordex
Muss ich später mal nachschauen. Allgemein, region ist das Netz unter constant/polyMesh. Da du aber cht verwendest, ist diese Region nicht im Solver vorhanden, da nur die Regionen unter constant/DeineRegion/polyMesh verwendet werden Die definierst Du ja in den region Properties und werden Dir beim Abbruch auch ausgegeben. ------------------ Glück Auf, Tobi OpenFOAM® Community - Knowledge Base Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2466 Registriert: 27.08.2010 ESI-OpenCFD OpenFOAM v2312
|
erstellt am: 18. Nov. 2021 08:12 <-- editieren / zitieren --> Unities abgeben: Nur für nordex
Muss ich später mal nachschauen. Allgemein, region ist das Netz unter constant/polyMesh. Da du aber cht verwendest, ist diese Region nicht im Solver vorhanden, da nur die Regionen unter constant/DeineRegion/polyMesh verwendet werden Die definierst Du ja in den region Properties und werden Dir beim Abbruch auch ausgegeben. ------------------ Glück Auf, Tobi OpenFOAM® Community - Knowledge Base Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2466 Registriert: 27.08.2010
|
erstellt am: 18. Nov. 2021 09:12 <-- editieren / zitieren --> Unities abgeben: Nur für nordex
Setup: Code:
functions { #includeFunc residuals(region = shell, p_rgh, U, h) #includeFunc residuals(region = tube, p_rgh, U, h) #includeFunc residuals(region = solid, h) }
Dann erhältst Du für jede Region eigene Einträge im postProcessing Ordner. Anschließend kannst Du foamMonitor verwenden: Code:
foamMonitor -l /postProcessing/DEINEREGION/residuals\(region\=shell\,p_rgh\,U\,h\)/0/residuals.dat
------------------ Glück Auf, Tobi OpenFOAM® Community - Knowledge Base Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
nordex Mitglied
Beiträge: 13 Registriert: 29.09.2021 Ubuntu 20.04 LTS OpenFOAM 9 Salome FreeCAD
|
erstellt am: 18. Nov. 2021 11:59 <-- editieren / zitieren --> Unities abgeben:
Läuft perfekt! Danke Tobi ) Hab nur / vor dem postProcessing... entfernt. Wollte zusätzlich noch T, k, p mit Monitor anschauen, aber der hat sich merkwürdig benommen: in residuals.dat wurden Spalten für T k p zwar erzeugt. Die Zahlenwerte wurden dann für k geschrieben und für T und p - nicht. Für T und p steht N/A für alle Zeitschritte, obwohl ich Felder T und p nach der Simulation mit paraFoam gut anschauen kann - die werden berechnet. Zum angenehmen starten habe ich Monitor-Startzeile in Allrun eingetragen, nach runParallel: Monitor wird dann aufgerufen erst wenn die Simulation schon fertig ist. Gibt es Trick für Allrun, damit Monitor bei Simulationsbeginn automatisch startet? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2466 Registriert: 27.08.2010
|
erstellt am: 18. Nov. 2021 16:06 <-- editieren / zitieren --> Unities abgeben: Nur für nordex
Du löst eine Energiegleichung, also entweder hast Du "e" oder "h" (energy|enthalpy) und kein T; T gibts nicht. Genauso gibt es kein "p"; wir lösen p_rgh. Skriptfrage Natürlich, das Skript arbeitet alles einzeln ab. Entweder rufst du vor dem Parallel-Execution eine Funktion auf, die bspw. noch 10s wartet und dann die Monitore startet oder Du setzt die Parallel-Execution mit eineem "&" in den Hintegrund, dann wird automatisch der nächste Schritt ausgeführt. Du musst aber dann Deinen Solver killen oder eben manuell stoppen; das ist aber ein Bash/Linux Thema. ------------------ Glück Auf, Tobi OpenFOAM® Community - Knowledge Base Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
nordex Mitglied
Beiträge: 13 Registriert: 29.09.2021 Ubuntu 20.04 LTS OpenFOAM 9 Salome FreeCAD
|
erstellt am: 19. Nov. 2021 13:57 <-- editieren / zitieren --> Unities abgeben:
Optionen mit Linux-Thema würde Rahmen dieses treads evtl. bei weitem übersteigen. Verzögerung 10s für foamMonitor-Start wäre "für Alltag" vollkommen ausreichend, falls sich ein Beispiel findet wie man solchen Timer für Startverzögerung aufsetzt. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2466 Registriert: 27.08.2010
|
erstellt am: 20. Nov. 2021 01:33 <-- editieren / zitieren --> Unities abgeben: Nur für nordex
|
nordex Mitglied
Beiträge: 13 Registriert: 29.09.2021 Ubuntu 20.04 LTS OpenFOAM 9 Salome FreeCAD
|
erstellt am: 22. Nov. 2021 15:29 <-- editieren / zitieren --> Unities abgeben:
function ShowPlots() {....} habe ich in .bashrc gesetzt. Auch als separate Datei system/ShowPlots versucht. Und in beiden Fällen Allrun meldet - kann nicht finden ShowPlots. In controlDict auch gesetzt #/bin/bash functions {#includeFunc ShowPlots()} Wo sollte function ShowPlots() {....} stehen damit Allrun die auch findet? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2466 Registriert: 27.08.2010
|
erstellt am: 23. Nov. 2021 08:53 <-- editieren / zitieren --> Unities abgeben: Nur für nordex
|
nordex Mitglied
Beiträge: 13 Registriert: 29.09.2021 Ubuntu 20.04 LTS OpenFOAM 9 Salome FreeCAD
|
erstellt am: 23. Nov. 2021 14:23 <-- editieren / zitieren --> Unities abgeben:
Jetzt habe ich o.g. Code für function ShowPlots richtig gesetzt und konnte feststellen: sleep verzögert um 10s ganzes Programm, sollte jedoch nur foamMonitor verzögern. D.h. nach Aufruf in Allrun: ShowPlots runParallel $(getApplication) kommt Pause 10s und dann die Meldung: "File postProcessing/fluid/residuals(region=fluid,p_rgh,U,h)/0/residuals.dat does not exist" und erst dann wird runParallel ausgeführt. Auch das ausprobiert: runParallel $(getApplication;ShowPlots) - kommt das Gleiche. Mit sleep - nur eine Funktion in Allrun verzögern und sonstige Zeit weiter laufen lassen - wäre es eine größere Aktion oder nur eine Anweisung? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2466 Registriert: 27.08.2010
|
erstellt am: 23. Nov. 2021 15:08 <-- editieren / zitieren --> Unities abgeben: Nur für nordex
|
nordex Mitglied
Beiträge: 13 Registriert: 29.09.2021 Ubuntu 20.04 LTS OpenFOAM 9 Salome FreeCAD
|
erstellt am: 23. Nov. 2021 17:09 <-- editieren / zitieren --> Unities abgeben:
|