Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  OpenFOAM
  pisofoam code

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:  pisofoam code (390 mal gelesen)
Duall777
Mitglied


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

Beiträge: 1
Registriert: 25.04.2017

erstellt am: 25. Apr. 2017 15:44    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

Guten Tag zusammen
Ich versuche mich in den code von pisofoam einzuarbeiten da ich auf basis dieses codes einen neuen löser programmieren muss.
Da ich mit OpenFOAM noch wenig gearbeitet habe, habe ich schwierigkeiten mit einigen codezeilen.
Es geht um den abschnitt am Anfang

Code:

    while (runTime.loop())
    {
        Info<< "Time = " << runTime.timeName() << nl << endl;

        #include "readPISOControls.H"
        #include "CourantNo.H"

        // Pressure-velocity PISO corrector
        {
            // Momentum predictor

            fvVectorMatrix UEqn
            (
                fvm::Dnobiggrin:t(U)
              + fvm::Div(phi, U)
              + turbulence->divDevReff(U)
            );

            UEqn.relax();

            if (momentumPredictor)
            {
                solve(UEqn == -fvc::grad(p));
            }



so nun zu meinen Fragen
1) fvm::ddt(U) bedeutet einfach nur das intern der ausdruck dU/dt erstellt wird, also dass das Ergebnis von fvm::ddt(U) = dU/dt ist, richtig?

2)was bedeutet turbulence->divDevReff(U)? Ist turbulence ein Zeiger, also wegen dem Pfeil -> ?

3)woher kommt momentumPredictor und wann wird es true?

4)was genau tut der solve befehl? erledigt er wirklich das komplete lösen des systems, also diskretisieren, matrix aufstellen und lösen der Matrix? Also was kriege ich dort als ergebniss?

5)Später wird noch folgt noch folgender aufruf
UEqn.A()
UEqn haben wir ja oben definiert aber worauf wird hier zugegriffen?

Ich bin aus der Doku nicht wirklich schlau geworden und hoffe Ihr könnt mir hier weiterhelfen.
Falls was unklat ist einfach bescheid sagen

Viele Grüße
Duall777

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: 25. Apr. 2017 22: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 Duall777 10 Unities + Antwort hilfreich

Hallo,

da du keine Angaben deiner FOAM Version machst, halt ich mich entsprechend kurz (zu FOAM-4.x passt es jedenfalls nicht):

1) Korrekt.

2) turbulence ist ein Pointer auf ein Objekt der Klasse turbulenceModel. Und die DivDevRho ... Funktion kannst du in meinem Buch ausführlich nachlesen.

3) Ich nehme mal schwer an das wird in der readPISOControls.H in fvSolutions unter dem Dict PISO nachgeschaut.

4) Richtig. Da passiert aber noch einiges mehr, wie bspw. implizite und explizite Teile anzuordnen etc. - Kurzum, bau die Matrix und löse die Matrix. Wird aber nicht getan wenn der momPred nicht aktiviert ist.

5) Wir holen uns die entsprechenden Teile der Geschwindigkeitsmatrix (UEqn). Stichwort Pressure-Velo Coupling. Der A und H Operator ist in den Sourcen nachsehbar (Doxygen) oder du liest einfach die Doktorarbeit vom Jasak oder Rusche.

6) Welche Doku den? Es gibt nur Doxygen und den ProgrammersGuide.

Gutes gelingen.

------------------
Viele Grüße,
Tobias Holzmann

OpenFOAM Tutorials | Publikationen | Für Anfänger wiki.openfoam.com

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