Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  OpenFOAM
  IF-Else in die BC?

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:  IF-Else in die BC? (1854 mal gelesen)
alex3262
Mitglied
Student


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

Beiträge: 12
Registriert: 15.01.2013

erstellt am: 31. Jan. 2013 15:36    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,

kann man in den Randbedingungen eine IF-Else Funktion einbauen?

Also z.B. bei U als Randbedingung:
if (a<b) {
…}
else { …}

Kann mir jemand eine Quelle empfehlen oder hat Erfahrungen damit?

Lieben Gruß,

Alex

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: 31. Jan. 2013 16:26    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 alex3262 10 Unities + Antwort hilfreich

Hi,

ja das geht!

Code:

fractionExpression "(U > 0) ? 0 : 1";

Die Randbedingung nennt sich groovyBC und muss zusätzlich zur Toolbox kompiliert werden!

Such einfach nach groovyBC

Grüße Tobi

------------------
Grüße Tobias H.

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

alex3262
Mitglied
Student


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

Beiträge: 12
Registriert: 15.01.2013

erstellt am: 01. Feb. 2013 10:05    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,

vielen Dank für die schnelle Antwort.

Ich hab mich nun durch OpenFoam Wiki und CFD-Online.com gearbeitet.

Leider verstehe ich noch nicht die Funktionsweise.
Kann mir jemand das Beispiel von OpenFoam Wiki erklären?

  outlet         
  {
    type            groovyBC;
    valueExpression "vector(0,0,0)";
    gradientExpression "vector(0,0,0)";
    fractionExpression "(phi > 0) ? 0 : 1";
    value          uniform (0 0 0);
  }


Ich habe bereits Erfahrungen mit GroovyBC  gesammelt.

Lieben Gruß,

Alex

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: 01. Feb. 2013 10:20    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 alex3262 10 Unities + Antwort hilfreich

Beispiel:

du hast nen Inlet - nehmen wir an 10 cm hoch. Davon willst du aber nur von der Mittellinie ein cm oben und unten irgendwas machen --> sieht so aus:

{code]
-----
|
|
|
|   
|
|
|
|
|
-----

inlet
[/code]

-----
|
|
|
|----> value = 1
|----> value = 1
|
|
|
-----

inlet
[/code]

Code:

    inlet
    {
        type            groovyBC;
        value          $internalField;
valueExpression "pos().y>0.099 ? (pos().y < 0.101 ? 1 : 0) : 0";
valiables "";
    }

Das heißt von der y-position  0.099 - 0.101 setzte den Wert auf 1 ansonsten auf 0.

------------------
Grüße Tobias H.

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

alex3262
Mitglied
Student


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

Beiträge: 12
Registriert: 15.01.2013

erstellt am: 01. Feb. 2013 10:48    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


Wirbel_mit_Radius.png

 
He!

Danke! Es funktioniert

Hier mein Beispeil:

valueExpression "r<0.3 ? (vector ( U_ax,- U_ty, U_tz )) : (vector ( U_ax,0, 0 ))";

und ein Bild dazu:


Lieben Gruß,

Alex

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: 01. Feb. 2013 10:54    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 alex3262 10 Unities + Antwort hilfreich

U_ax,- U_ty, U_tz

sind die in OF bereits deklariert?

------------------
Grüße Tobias H.

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

alex3262
Mitglied
Student


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

Beiträge: 12
Registriert: 15.01.2013

erstellt am: 01. Feb. 2013 11: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

Ich versuche gerade für meine Bachelorarbeit einen Wirbel zu erstellen.

   

Code:
INLET
    {
type            groovyBC;
variables (

"c=vector(0,0,0.5);"
"zp=pos().z-c.z;" 
"yp=pos().y-c.y;"
"r=sqrt(pow(zp,2)+pow(yp,2));"
   "n=838;"
    "U_ax=1.222;"
"theta=asin(yp/r);"
"thetaa=acos(zp/r);"
"omeg=2*pi*n;"
    "U_tz=omeg*r*sin(theta);"
    "U_ty=omeg*r*cos(thetaa);"
);
valueExpression "r<0.3 ? (vector ( U_ax,- U_ty, U_tz )) : (vector ( U_ax,0, 0 ))";



Der Wirbel im Inlet ist nun fertig.

Mein Problem zurzeit ist es, wie bleibt der Wirbel bestehen? Leider löst der Wirbel sich zu schnell auf.

[Diese Nachricht wurde von alex3262 am 01. Feb. 2013 editiert.]

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: 01. Feb. 2013 11: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 Nur für alex3262 10 Unities + Antwort hilfreich

Versteh dich nicht ganz.
Du möchtest ein swirl Inlet oder wie?

Da wäre es vllt für dich interessant die BC zu nehmen 

------------------
Grüße Tobias H.

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

alex3262
Mitglied
Student


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

Beiträge: 12
Registriert: 15.01.2013

erstellt am: 01. Feb. 2013 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

Ich hatte einen Denkfehler.

Danke für deine Hilfe 

[Diese Nachricht wurde von alex3262 am 01. Feb. 2013 editiert.]

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