Hot News:

Unser Angebot:

  Foren auf CAD.de
  OpenFOAM
  Courant-Friedrichs-Lewy Bedingung

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
  
Online-Kurs: Grundlagen des 3D-Druck-Designs für Industrieingenieure , ein Kurs
Autor Thema:  Courant-Friedrichs-Lewy Bedingung (1791 mal gelesen)
TTB
Mitglied
CFD Engineer


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

Beiträge: 353
Registriert: 02.10.2008

BIM HVACTool für Windows OpenFOAM-2.2.x

erstellt am: 27. Nov. 2008 14:40    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,

bei manchen Solver in OpenFOAM funktioniert diese Funktion in der controlDict Datei nicht:

Zitat:

maxCo 0.5;
adjustTimeStep yes;

Diese Funktion erzwingt OpenFOAM dazu, dass die Courantzahl unter 0.5 bleiben soll, indem die Zeitschrittweite während einer Simulation verändert wird.

Daher müssen die Solver per Hand angepasst und neu compilert werden. Der Grund: es fehlen 2 Dateien, die in der C++ Datei verlinkt werden müssen.

Als Beispiel wir BouyantFoam.C gewählt:

Zitat:

#include "fvCFD.H"
#include "basicThermo.H"
#include "compressible/RASModel/RASModel.H"
#include "fixedGradientFvPatchFields.H"

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

int main(int argc, char *argv[])
{

#  include "setRootCase.H"
#  include "createTime.H"
#  include "createMesh.H"
#  include "readEnvironmentalProperties.H"
#  include "createFields.H"
#  include "initContinuityErrs.H"
#  include "readTimeControls.H"

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

    Info<< "\nStarting time loop\n" << endl;

    while (runTime.run())
    {
#      include "readPISOControls.H"
#      include "compressibleCourantNo.H"
#      include "setDeltaT.H"

        runTime++;
        Info<< "Time = " << runTime.timeName() << nl << endl;

#      include "rhoEqn.H"

#      include "UEqn.H"

        // --- PISO loop

        for (int corr=0; corr<nCorr; corr++)
        {
#          include "hEqn.H"
#          include "pEqn.H"
        }

        turbulence->correct();

        runTime.write();

        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
            << nl << endl;
    }

    Info<< "End\n" << endl;

    return 0;
}


Folgende Zeilen müssen an der richtigen Zeile ergänzt werden:

#      include "readTimeControls.H"
#      include "setDeltaT.H"

Andere Solver sind ähnlich aufgebaut und müssen ebenfalls wie vor erweitert werden.

Viel Spass
TTB

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