Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  OpenFOAM
  Residuals mit foamMonitor für mehrere Regionen / multiregion

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
  
Leitfaden für die Materialauswahl im Spritzguss, ein Fachartikel
Autor Thema:  Residuals mit foamMonitor für mehrere Regionen / multiregion (1162 / mal gelesen)
nordex
Mitglied



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

Beiträge: 13
Registriert: 29.09.2021

Ubuntu 20.04 LTS
OpenFOAM 9
Salome
FreeCAD

erstellt am: 16. Nov. 2021 17:35    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 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





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

Beiträge: 2466
Registriert: 27.08.2010

erstellt am: 16. Nov. 2021 19:42    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 nordex 10 Unities + Antwort hilfreich

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



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

Beiträge: 13
Registriert: 29.09.2021

Ubuntu 20.04 LTS
OpenFOAM 9
Salome
FreeCAD

erstellt am: 17. Nov. 2021 12:12    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

Grüße Tobi,

OF macht Totalabbruch nach o.g. Fehlermeldung.

Dort ist ersichtlich, dass region0 fehlt. Ich habe versucht es z.B. in constant/regionProperties zu definieren - kommt gleiche Fehlermeldung.

In Anleitung steht nichts über einrichtung des Monitors für multiregion:
https://cfd.direct/openfoam/user-guide/v9-graphs-monitoring/

RegionModels hilft mir auch nicht weiter:
https://cpp.openfoam.org/dev/dir_1cee61ac5e24023b73c87e3e265bd2be.html

und sonst finde keine Anleitung.

Habe also typische Anfängerfrage: wo und wie definiert man region0 damit foamMonitor funktioniert für multiregion case? 

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

Shor-ty
Moderator





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

Beiträge: 2466
Registriert: 27.08.2010

erstellt am: 18. Nov. 2021 01: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 nordex 10 Unities + Antwort hilfreich

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





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

Beiträge: 2466
Registriert: 27.08.2010

ESI-OpenCFD OpenFOAM v2312

erstellt am: 18. Nov. 2021 08:12    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 nordex 10 Unities + Antwort hilfreich

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





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

Beiträge: 2466
Registriert: 27.08.2010

erstellt am: 18. Nov. 2021 09:12    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 nordex 10 Unities + Antwort hilfreich

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



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

Beiträge: 13
Registriert: 29.09.2021

Ubuntu 20.04 LTS
OpenFOAM 9
Salome
FreeCAD

erstellt am: 18. Nov. 2021 11:59    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

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





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

Beiträge: 2466
Registriert: 27.08.2010

erstellt am: 18. Nov. 2021 16:06    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 nordex 10 Unities + Antwort hilfreich

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



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

Beiträge: 13
Registriert: 29.09.2021

Ubuntu 20.04 LTS
OpenFOAM 9
Salome
FreeCAD

erstellt am: 19. Nov. 2021 13:57    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

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





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

Beiträge: 2466
Registriert: 27.08.2010

erstellt am: 20. Nov. 2021 01: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 Nur für nordex 10 Unities + Antwort hilfreich

Code:

#/bin/bash
function ShowPlots()
{
    sleep 10
    FoamMonitor ....
}

Befehl1
Befehl2

ShowPlots
Starte Solver


------------------
Glück Auf,
Tobi

OpenFOAM® Community - Knowledge Base

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

nordex
Mitglied



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

Beiträge: 13
Registriert: 29.09.2021

Ubuntu 20.04 LTS
OpenFOAM 9
Salome
FreeCAD

erstellt am: 22. Nov. 2021 15:29    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

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





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

Beiträge: 2466
Registriert: 27.08.2010

erstellt am: 23. Nov. 2021 08: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 nordex 10 Unities + Antwort hilfreich

Naja, due Funktion wurde ja zuvor erstellt. Siehe meinen Code bzw google mal nach bash functions. Das ist kein Thema von Foam sondern einfaches bash scripting.

------------------
Glück Auf,
Tobi

OpenFOAM® Community - Knowledge Base

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

nordex
Mitglied



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

Beiträge: 13
Registriert: 29.09.2021

Ubuntu 20.04 LTS
OpenFOAM 9
Salome
FreeCAD

erstellt am: 23. Nov. 2021 14: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

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





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

Beiträge: 2466
Registriert: 27.08.2010

erstellt am: 23. Nov. 2021 15:08    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 nordex 10 Unities + Antwort hilfreich

Wie gesagt is einfach nur Bash.

Versuch mal

Code:

ShowPlots &
runParallel $(..)

Ich hab das nicht getestet und soll Dir nur als Input dienen. Die Arbeit (wenns das überhaupt ist) musst Du dann schon selber machen. Außerdem lernst Du mehr dazu wenn Du es selbst machst, als wenn ich Dir alles vorgebe.

------------------
Glück Auf,
Tobi

OpenFOAM® Community - Knowledge Base

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

nordex
Mitglied



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

Beiträge: 13
Registriert: 29.09.2021

Ubuntu 20.04 LTS
OpenFOAM 9
Salome
FreeCAD

erstellt am: 23. Nov. 2021 17:09    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

es hat auf Anhieb funktioniert, mit guten richtungsweisenden Tipps geht das Lernen viel schneller voran.

Danke nochmals! werde mich nun weiter in OF einarbeiten.

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)2024 CAD.de | Impressum | Datenschutz