Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  OpenFOAM
  laplacian((1|A(U)),p) ?

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:  laplacian((1|A(U)),p) ? (1558 mal gelesen)
Ay
Mitglied



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

Beiträge: 36
Registriert: 20.02.2013

erstellt am: 20. Feb. 2013 14: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 Zusammen,

ich bin neu hier und versuche mich seit paar Tagen in openFoam einzuarbeiten und bleibe bei einer Zeile des "Lid-driven cavity flow"-Tutorials hängen. Ich habe mich auch schon durchgegoogelt, aber das scheint wohl so simple zu sein, dass diese Frage noch nie gestellt wurde. Also hier meine Frage:

Was genau bedeutet "laplacian((1|A(U)),p)"?

Natürlich weiß ich, was z.B. laplacian(nu,U) in mathematischer Formulierung auszusehen hat, aber was hat das obige "1|A(U)" zu bedeuten?

Ich würde mich freuen, wenn mir antworten könnte! 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: 20. Feb. 2013 14:50    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 Ay 10 Unities + Antwort hilfreich

Hallo und willkommen im Forum,

das hat was mit der Programmierung in C++ zutun. Stichwort Polymorphie.

Du kannst bspw. eine Funktion mit mehreren Funktionstypen definieren. Bspw.

Code:

#1 a = sum(b,c);
#2 a = sum((b,c),d);

Man kann sicher vermuten was dahinter steckt. Es handelt sich immer um die Summe von Zahlen jedoch sind beide Funktionen komplett verschieden.
Das gleiche ist mit laplacian((),); der Fall. Eine Funktion laplacian() mit mehreren Funktionalitäten überschrieben.

Zum obigen Beispiel:

Code:

#1 Die Funktion "KANN" wie wie folgt aussehen:

int sum (int k, int l)
{
      return (k+l);
}



Du erhältst die Summe aus a+b. Die Variablen in der Funktion selber können wieder anders heißen.
Zu #2 und deinem Laplacian:
Code:

#2 Der Prototyp der Funktion "KANN" wie folgt aussehen:

int sum (int mutliplicate(int k, int l), int m)
{
  return multiplicate() + m;
}



Ich bin mir jetzt nicht 100% sicher ob letztere Funktion so korrekt geschrieben ist, weil meine Programmierkünste etwas eingerostet sind (deswegen hab ich mir am Sonntag auch gleich Bücher gekauft :D )


Aber ich denke es erkärt was du willst.
In deinem Beispiel wird eben folgendes gemacht:

Code:

laplacian((1|A(U)),p)

-> laplacian( funktionsaufruf(1|A(U)), p)
-> laplacian( funktionsaufruf(1|Funktionsaufruf(U)), p


A(U) ist eine Funktion für sich, die mit dem Vektorfeld U irgendwas macht. Es kann auch sein dass (1|A(U)) für sich geschlossen eine Funktion darstellt, die eben das Vektorfeld irgendwie manipuliert, um dann den Laplacian auf das alles anzuwenden.

Hoff es hat dir geholfen.
Wenn du es genau wissen willst, musst du in die Funktionen rein.

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

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

Ay
Mitglied



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

Beiträge: 36
Registriert: 20.02.2013

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

Hallo Shor-ty,

danke für deine Antwort!

Dass es wohl eine Funktion ist, habe ich mir schon gedacht, wobei mir die Schreibweise mit dem "|" komisch vorkam. Ich muss auch dazu erwähnen, dass ich kein absoluter C++-Kenner bin. Aber man soll ja openFoam auch ohne außerordentliche C++-Kenntnisse nutzen können. Aber Back to Topic:

In dem Tutorial weist noch eine Zeile eine Funktion A unter "interpolationSchemes":

    interpolate(HbyA) linear;

Steht das irgendwie im Zusammenhang?
Und generell: Wie finde ich denn die genaue Formulierung der Funktion "(1|A(U)" oder "HbyA"? Gibt es dazu eine gesonderte Datenbank im Netz?

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: 21. Feb. 2013 00:27    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 Ay 10 Unities + Antwort hilfreich

Hi,

HbyA und A(U) sind für mich zwei verschiedene Sachen.

Einmal ist es eine Variable und einmal ein Funktionsaufruf, was die Klammern verdeutlichen.

Nutzen kann man OF ohne C++ Kenntnisse. Normalerweise stellen die meisten User auch keine Fragen wie du   

Ohne böse oder abtrünnig zu wirken: Jemand der ANSYS CFX verwendet hat auch keine Ahnung was die Blackbox für Gleichungen und Dämpfungsfunktionen verwendet. Der User kann nur hoffen das das was im USER GUIDE steht richtig ist.


------------------
Grüße Tobias Holzmann

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

Ay
Mitglied



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

Beiträge: 36
Registriert: 20.02.2013

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

Hi,

das ist richtig. Jedoch ist es doch die große Stärke von oF, dass man an den Funktionen und Gleichungen etwas rumschrauben kann. Und dafür muss man ja wissen, was man für Möglichkeiten hat. Wenn ich irgendwo nachsehen könnte, was die Funktion mit dem Geschwindigkeitsfeld macht, wäre das doch sehr interessant zu wissen. Vor allem für zukünftige Vorhaben.

An der Datei "fvSchemes" hänge ich immernoch. Die wohl wichtigen Absätze sind die unter "ddtSchemes", "gradSchemes", "divSchemes" und "laplacianSchemes". Da werden jetzt also dem Solver gesagt, wie er die Zeit und die Vektoren und Tensoren diskretisieren soll. Aber es tauchen plötzlich Variablen auf, die nirgends vom User definiert werden. Hier nehme ich mal an, dass die Variablen im Solver direkt definiert sind. Aber ich frage mich, wie das herausfinde. Kann ich mir den Code selbst anschauen?

Als Beispiel das Tutorial "interFoam" (multiphase). Da taucht im fvSchemes ein "phirb" und ein "pcorr" auf. Wie finde ich denn heraus, was diese Größen denn bedeuten?

Alles noch  für mich.

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

Ay
Mitglied



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

Beiträge: 36
Registriert: 20.02.2013

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

Mich läßt das fvSchemes-Blatt nicht los.

Was passiert denn eigentlich, wenn in den "gradSchemes", "divSchemes" und "laplacianSchemes" als default "Gauss linear" o.ä. einstelle? Und mir somit keine Gedanken über die einzelnen Diskretisierungsverfahren mache.

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: 21. Feb. 2013 12: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 Nur für Ay 10 Unities + Antwort hilfreich

wenn du das bei default reinschreibst, dann werden alle Gleichungen mit diesem Verfahren berechnet.

OpenFOAM bietet deswegen die Möglichkeit jede Gleichung separat einzustellen. Wenn man bspw. Probleme mit k und epsilon hat, dann nimmt man eben kein Verfahren 2.Ordnung sondern testet mal mit dem Upwind.

------------------
Grüße Tobias Holzmann

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

Ay
Mitglied



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

Beiträge: 36
Registriert: 20.02.2013

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

Ja gut, damit komme ich dem Ganzen ja schon deutlich näher. Vorteil von oF ist wohl, dass man wirklich sehr viele Freiheiten und Möglichkeiten hat. Jedoch muss man auch sein System und seine Gleichungen sehr gut kennen.

Danke sehr für die Antworten! Für euch wahrscheinlich doofe Fragen, aber die hat man eben am Anfang. Es kommen bestimmt noch weitere... 

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