Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  OpenFOAM
  Druckprofil als Einlassrandbedingung

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:  Druckprofil als Einlassrandbedingung (1024 mal gelesen)
Simultant
Mitglied


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

Beiträge: 9
Registriert: 26.05.2014

erstellt am: 06. Jun. 2014 12: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

Hallo

ich möchte am Inlet meiner Strömungsberandung einen Druck vorgeben, der über die Breite des Inlets nicht konstant ist. Bisher hab ich das Inlet in mehrere patches aufgeteilt und ihnen unterschiedliche Drücke vorgegeben. Leider bricht die Rechnung immer ab, da sich an den Zellen wo die Inletpatches aufeinander treffen unglaublich hohe Geschwindigkeitsgradienten einstellen.

Nun war meine Idee den Inlet als ein Patch zu definieren, und ihm einen Druckprofil zuzuordnen. Bisher konnte ich keine passende BC finden. Habt ihr mit ähnlichen Fragestellungen zu tun gehabt? Gibt es Ideen wie ich dieses Problem lösen könnte?

Gruß

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: 2463
Registriert: 27.08.2010

OpenFOAM-dev (Foundation)
OpenFOAM-xxxx (ESI)

erstellt am: 06. Jun. 2014 12:38    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 Simultant 10 Unities + Antwort hilfreich

Hallo,

sowas kannst du ganz simple mit der BC groovyBC durchführen.
Google einfach mal danach.

------------------
Best regards,
Tobias Holzmann

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

Simultant
Mitglied


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

Beiträge: 9
Registriert: 26.05.2014

erstellt am: 06. Jun. 2014 13:11    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

danke für die schnelle antwort. Ich schaue es mir mal an.

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

Simultant
Mitglied


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

Beiträge: 9
Registriert: 26.05.2014

erstellt am: 06. Jun. 2014 14:46    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

Hallo
habe nun die groovyBC installiert. Im Netz fand ich dazu auch unglaublich viele Beispiele umd eine Geschwindigkeitsverteilung als BC zu definieren (Grenzschicht etc.). Jedoch fand ich nix für mein Problem mit dem Druckprofil auf der Inlet BC.

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: 2463
Registriert: 27.08.2010

OpenFOAM-dev (Foundation)
OpenFOAM-xxxx (ESI)

erstellt am: 10. Jun. 2014 09:38    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 Simultant 10 Unities + Antwort hilfreich

Hallo,

wo liegt denn genau das Problem?

------------------
Best regards,
Tobias Holzmann

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

Simultant
Mitglied


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

Beiträge: 9
Registriert: 26.05.2014

erstellt am: 10. Jun. 2014 10: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

Hallo

das Druckprofil am inlet kann durch folgende Funktion beschrieben werden:

w = 0,001x^2 + 0,029 x - 0,068

somit gilt für p Inlet

Code:

type            groovyBC;
variables      w = 0,001x^2 + 0,029 x - 0,068;
valueExpression w;
value 0;


wenn ich die Rechnung starten möchte bricht er ab mit folgender Fehlermedlung:

unknown patchField type groovyBC for patch type patch;

im ControlDicht wurde "libgroovyBC.so" eingetragen

Frage:
- kann der Druckverlauf in "p" so beschrieben werden?
- Warum kennt OF die BC groovyBC nicht?


Admin: Code-Tags eingefügt

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: 2463
Registriert: 27.08.2010

OpenFOAM-dev (Foundation)
OpenFOAM-xxxx (ESI)

erstellt am: 10. Jun. 2014 13:01    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 Simultant 10 Unities + Antwort hilfreich

Hallo,

groovyBC
Link zum OpenFOAM WIKI
Scheint so als würde bei dir das nicht funktioniert haben.

Randbedingung


  • Syntax beachten!
  • deine Variable w kann nicht funktionieren weil es in Groovy die Variable "x" nicht gibt
  • In deinem Fall müsste es dann wie folgt aussehen:

Code:

variables "w=0.001*pow(pos().x,2)+0.029*pos().x-0.068";



  • es dürfte auch möglich sein es mit der allgemeinen Gleichung durchzuführen aber dann musst du eben deine Variable "x" vorher definieren
  • je nach Koordinatensystem halt x, y oder z 

------------------
Best regards,
Tobias Holzmann

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

Simultant
Mitglied


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

Beiträge: 9
Registriert: 26.05.2014

erstellt am: 11. Jun. 2014 11:16    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

Hallo

herzlichen Dank für Ihre schnelle Hilfe. Das Problem lag wie Sie richtig vermutet haben, an der fehlerhaften Installation bzw. Version von grovvyBC.

Wenn ich jetzt eine Simulation mit folgender Einlass Druckrandbedinung starte:

Code:

type            groovyBC;
variables "w=0.001*pow(pos().y,2)+0.029*pos().y-0.068";
value uniform 0;
valueExpression w;

kommt folgende Fehlermeldung:

Code:

-->FOAM FATAL IO ERROR
wrong token type -expected string, found on line 28 the word "w"


handelt es sich hierbei um einen syntaxfehler?
muss value uniform 0 überhaupt defineirt werden?

Gruß

Tobias

NACHTRAG: in line 28 befindet sich der Ausdruck "valueExpression w;"

Admin: Code-Tags eingefügt

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

Simultant
Mitglied


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

Beiträge: 9
Registriert: 26.05.2014

erstellt am: 11. Jun. 2014 11:25    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

war ein syntaxfehler! habe die "" vergessen.

so sollte es aussehen

Code:

type            groovyBC;
variables       "w=0.001*pow(pos().y,2)+0.029*pos().y-0.068";
value           uniform 0;
valueExpression "w";


Admin: Code-Tags eingefügt

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

Simultant
Mitglied


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

Beiträge: 9
Registriert: 26.05.2014

erstellt am: 11. Jun. 2014 13:11    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

zur Vollständigkeit:

eine weiterer Syntakfehler wurde endeckt    

Code:

variables       "w=0.001*pow(pos().y,2)+0.029*pos().y-0.068";      // Zuvor
variables      "w=0.001*pow(pos().y,2)+0.029*pos().y-0.068;";     // Korrigiert



Admin: Code-Tags eingefügt und Verdeutlichung der Korrektur

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: 2463
Registriert: 27.08.2010

OpenFOAM-dev (Foundation)
OpenFOAM-xxxx (ESI)

erstellt am: 11. Jun. 2014 16: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 Simultant 10 Unities + Antwort hilfreich

Hallo Simultant,

es ist nicht nötig mich zu siezen.
Ich habe mir die Freiheit genommen und deine Posts mit den CODE-Tags angepast.


------------------
Best regards,
Tobias Holzmann

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

Simultant
Mitglied


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

Beiträge: 9
Registriert: 26.05.2014

erstellt am: 12. Jun. 2014 08:02    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

Hallo

ich habe noch eine weitere Frage bzgl. des Druckprofils als Randbedingung mit groovyBC.

nun möchte ich nicht wie oben eine Funktion über das ganze Inlet hinterlegen, sondern Bereiche auf der Inlet verschiedene Funktionen zuordnen.

Beispiel: von x=0 bis x=5 -> x^2+1; von x=5 bis x=10 -> ...... usw.
Meine bisherigen Versuche scheiterten an der Syntax.

Danke

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: 2463
Registriert: 27.08.2010

OpenFOAM-dev (Foundation)
OpenFOAM-xxxx (ESI)

erstellt am: 12. Jun. 2014 08:14    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 Simultant 10 Unities + Antwort hilfreich

Hallo,

ist möglich:

Code:

pos().y < 3 ? "funktion-1" : "funktion2"



PS: Steht auch alles hier: OpenFOAMWIKI

------------------
Best regards,
Tobias Holzmann

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