Dieser Abschnitt erklärt die Installation von OpenCFD OpenFOAM v2406 mit einem plattformübergreifenden Auto-Installer-Skript, das das Programm neben sediment-transport und ausgangsgebundenen Komponenten sowie ParaView und VisIt-DAV für die Nachbearbeitung zusammenstellt.
- | Komponente | Funktion |
- :
|
sediDriftFoam| Olsen et al. (2023) fest-mesh suspendiert-sedimentlöser. | |sediDriftFoam2| Olsen (2025) Sedimentlöser mit Betthöhe und freier Oberflächeneinstellung. | |sediDriftFoam2Rating| Neue experimentelle Erweiterung vonsediDriftFoam2für eine Phase-Discharge-Beziehung. | | BAWHydBCsForOF| Boundary-Bedingungs-Bibliothek, einschließlich einer Bühnen-Entladung für Wasser-Luft-Simulationen mitinterFoam. |
Die Original-Löser werden von Nils Reidar Olsen dokumentiert; die native Ausgangsgrenzbedingung wird in BAW’s repository] dokumentiert.
Anforderungen und Installationsdateien¶
Der Installer unterstützt x86-64 Systeme mit Debian 12, Ubuntu 22.04 oder Ubuntu 24.04. Derivate müssen eine entsprechende unterstützte Basisverteilung verwenden. Windows baut im Windows Subsystem für Linux 2 (WSL2), nicht als native Windows-Executables.
Die Installation erfordert eine gute und stabile Internetverbindung, Python 3.10 oder später, und ein Benutzerkonto mit sudozugriff für Systempakete. Erlauben Sie etwa 20 GiB freien Speicherplatz und mindestens 8 GiB RAM; die Source-Build-Check erfordert mindestens 15 GiB frei. Der Abschluss kann mehrere Stunden dauern. Die grafische Nachbearbeitung erfordert einen Linux-Desktop oder WSLg.
Der Installateur wird im OpenFOAM-installersubfolder des Ecohydraulics/numerical-software-installers Repository aufrechterhalten. Mit Git installiert, Klonen Sie das Repository und geben Sie diesen Unterordner ein:
git clone --depth 1 https://github.com/Ecohydraulics/numerical-software-installers.git
cd numerical-software-installers/OpenFOAM-installerDiese Befehle funktionieren auch in PowerShell. Geben Sie für einen vorhandenen Checkout das OpenFOAM-installer-Verzeichnis ein, anstatt erneut zu klonen. Alternativ verwenden Sie Code → Download ZIP auf der Repository-Seite, extrahieren Sie das Archiv und geben Sie numerical-software-installers-main/OpenFOAM-installer ein.
Erhalten Sie den kompletten Installer-Unterordner; install.py allein ist unzureichend. Das Repository enthält Installer-Dateien, nicht die Software-Distributionen; diese werden während der Installation heruntergeladen. Führen Sie die folgenden Befehle von OpenFOAM-installer aus, die install.py und install.ps1 enthält.
Debian und Ubuntu¶
Kompilieren und installieren¶
Wenn Python abwesend ist, installieren Sie es zuerst:
sudo apt update
sudo apt install python3Vorschau der Installation, dann kompilieren und installieren:
python3 install.py --dry-run
python3 install.py --install-system-packages --examples --smoke-testFühren Sie den Installer als normaler Benutzer aus, ohne ihn mit sudo vorzufixieren. Die --install-system-packages-Option erlaubt die Installation von Build-Abhängigkeiten, grafischen Laufzeitabhängigkeiten und ParaView über sudo apt-get. VisIt-DAV 3.5.0 wird als Prüfsummenverifizierter Binär auf das Betriebssystem abgestimmt heruntergeladen. ParaView folgt der von den konfigurierten Distributions-Repositories verfügbaren Version.
Die --examples-Option lädt Nils Reidar Olsens grober Fall A herunter. Die --smoke-test-Option läuft eine kurze serielle interFoam-Fall, um die BAW-Bibliothek zu überprüfen. Ein Trockenlauf druckt den Plan ohne Prüfungsvoraussetzungen oder Erstellungscode.
Wiederverwenden einer bestehenden OpenCFD v2406 Installation¶
Anstatt den OpenFOAM-Kern zu kompilieren, geben Sie die bestehende v2406 Aktivierungsdatei an. Verwenden Sie für die Debian-Paketinstallation unter /usr/lib/openfoam/openfoam2406:
python3 install.py --install-system-packages \
--reuse-openfoam /usr/lib/openfoam/openfoam2406/etc/bashrc \
--examples --smoke-testDies ist eine Alternative zum vorhergehenden Quell-build-Befehl. Die Sedimentlöser und die BAW-Bibliothek werden noch in das neue Benutzerverzeichnis zusammengestellt. Die bestehende Installation muss Entwicklungs-Header, wmake, und einen Arbeitskompilator umfassen. Seine API muss 2406 sein; ihre Patch-Ebene kann von der Standard-Source-Version abweichen.
Windows durch WSL2¶
In einem Administrator PowerShell installieren Sie Ubuntu 24.04 für WSL:
wsl --install -d Ubuntu-24.04Starten Sie Windows, wenn gewünscht. Starten Sie Ubuntu einmal und erstellen Sie ein normales Linux-Benutzerkonto. Bestätigen Sie, dass die Distribution WSL2 verwendet:
wsl --list --verboseWenn seine Version 1 ist, führen Sie wsl --set-version Ubuntu-24.04 2. WSLg unterstützt grafische Anwendungen unter Windows 11 und Windows 10 bauen 19044 oder später; siehe die Microsoft Installation Requirements.
Wählen Sie aus dem OpenFOAM-installer-Verzeichnis des Projektarchivs ein normales PowerShell:
powershell -NoProfile -ExecutionPolicy Bypass -File .\install.ps1 -DryRun
powershell -NoProfile -ExecutionPolicy Bypass -File .\install.ps1 -InstallSystemPackages -Examples -SmokeTestDer Launcher ruft den gleichen Python-Installer in WSL2 an. Die Installer-Dateien können auf dem Windows-Dateisystem bleiben, aber Kompilieren und Fälle sollten auf dem Linux-Dateisystem, nicht unter /mnt/c. ParaView und VisIt laufen als Linux-Anwendungen durch WSLg angezeigt.
Für eine initialisierte WSL-Distribution namens Debian, die Debian 12, add -Distro Debian. Überprüfen Sie seine Veröffentlichung vor der Installation; eine neu heruntergeladene Debian-Distribution muss nicht Debian 12 sein. Um OpenCFD v2406 wiederzuverwenden, fügen Sie -ReuseOpenfoam, gefolgt von seinem Linuxetc/bashrcpfad.
Installationsverzeichnis und Überprüfung¶
Das Standard-Installationsverzeichnis ist ~/.local/openfoam-sediment-v2406 im Heimverzeichnis des Linux-Benutzers. Geben Sie einen anderen dedizierten Linux-Pfad mit --prefix /home/USER/path oder Windows -Prefix /home/USER/path an; der Pfad darf keinen Whitespace enthalten. Beschränken Sie die Compilation Concurrency mit --jobs 4 oder -Jobs 4, falls erforderlich. Die Standardeinstellung ist nicht mehr als acht Compilation-Prozesse, reduziert nach System RAM.
Geben Sie in einem Linux- oder WSL-Terminal die installierte Umgebung ein:
source ~/.local/openfoam-sediment-v2406/activate.shDieser Befehl öffnet eine neue, isolierte interaktive Shell. Es ändert nicht .bashrc oder fusioniert eine frühere OpenFOAM-Umgebung. Es werden nur die OpenFOAM-Präferenzen auf Projektebene geladen; bestehende Benutzer/Gruppeneinstellungen sind ausgeschlossen. Geben Sie exit ein, um zur vorherigen Shell zurückzukehren. Für ein benutzerdefiniertes Installationsverzeichnis verwenden Sie stattdessen die activate.sh.
Überprüfen Sie die Installation in dieser neuen Shell:
foamEtcFile -show-api
foamEtcFile -show-patch
printf '%s\n' "$WM_PROJECT_DIR" "$WM_OPTIONS"
command -v sediDriftFoam sediDriftFoam2 sediDriftFoam2Rating
sediDriftFoam -help
sediDriftFoam2 -help
sediDriftFoam2Rating -helpThe API output must be 2406. Solver help must load without missing-library errors. The installation directory contains compilation logs and environment-probe.log in logs/, build details in build-environment.txt, and source and installation records in receipt.json. The BAW runtime-test output is stored in runs/baw-smoke/.
Wenn die Installation ausfällt, inspizieren Sie logs/ vor dem Neulauf. Interrupted Builds speichern Downloads und Protokolle. Entfernen Sie keine bestehende OpenFOAM-Installation, um einen Versionskonflikt zu lösen. Wählen Sie beim Ändern von Quellpins, Installer-Code oder der Compiler-Umgebung ein neues Installationsverzeichnis statt alte und neue Binaries zu mischen.
Wenn das Installationsverzeichnis oder sein Protokoll unerwartet fehlt, finden Sie das Verzeichnis vor dem Wiederaufbau. Ein Baum, der im Desktop-Trash gefunden wird, muss auf seinen aufgezeichneten ursprünglichen Pfad wiederhergestellt werden, ohne aktiv zu bauen und kein bestehendes Ziel überschrieben. Das Finden des Baumes in Müll stellt nicht fest, wann oder warum es bewegt. Die mitgelieferten Rückgewinnungsanweisungen beschreiben die Log-Inspektion und Restaurierung; nicht innerhalb von Müll kompilieren.
Sediment-Fälle und -ableitungen¶
Mit --examples werden die Olsen-Eingangsdateien unter dem Installationsverzeichnis unter cases/olsen-upstream/cylinder9_case_A/ gespeichert. Arbeiten Sie an einer schreibbaren Kopie. Inspizieren Sie das Mesh, bevor Sie den ausgewählten Sole ausführen:
cd /path/to/case-copy
checkMesh -constant -allTopology -allGeometryLösen Sie Netzfehler vor der Simulation auf. Für den mitgelieferten Fall A, rufen Sie sediDriftFoam2 explizit aus dem Fallverzeichnis an; die veröffentlichte controlDict darf noch simpleFoam heißen. Der Festmasch sediDriftFoam erfordert einen separat vorbereiteten kompatiblen Fall, da seine Sedimentdiktionseinträge unterschiedlich sind. Führen Sie die Olsen-Löser seriell aus. Die Gleitbettnetz- und Ausgangsalgorithmen sind für die MPI-Zersetzung nicht geeignet. Sowohl sediDriftFoam2 als auch sediDriftFoam2Rating overwrite scour.txt beim Start; archivieren Sie es vor dem Neustart.
BAW-Ausgang für interFoam¶
Der Installer bereitet cases/baw-interFoam/ vor und kompiliert die freigegebene Bibliothek lib_BAW_public_BCs_v2412_20260813.so gegen die ausgewählte v2406 Installation. Der Text v2412 ist Teil des vorgeschalteten Dateinamens, nicht der OpenFOAM-Version von build. Diese Bibliothek wird vom Fall über den libs-Eintrag in system/controlDict geladen; sie erfordert keine Recompiling interFoam.
Für eine ortsspezifische Bewertungskurve konfigurieren Sie die gepaarten waterLevel_alpha_prgh Auslasseinträge in p_rgh und alpha.water unter Verwendung des in BAW’s document] beschriebenen ratingCurveTable-Modus. Verwenden Sie den vorbereiteten Fall als Konfigurationsbeispiel, nicht als kalibrierte hydraulische Daten.
Experimentalauslass für Olsens Wanderbettlöser¶
Geben Sie in einer Einweg-Fallkopie die mitgelieferte examples/ratingCurveProperties-Datei in constant/ratingCurveProperties. Ersetzen Sie den illustrativen Tisch mit ortsspezifischem Austritt in m3/s und Wasser-Oberflächen-Höhe in m, ausgedrückt im vertikalen Datum des Netzes. Entladewerte müssen streng ansteigen, und Erhebungen dürfen nicht abnehmen. Setzen Sie outletPatch an den eigentlichen Ausgang, überprüfen Sie die Tiefen- und Höhengrenzen und ändern Sie enabled false an enabled true. Führen Sie sediDriftFoam2Rating explizit aus. Ohne diese Konfiguration ist die Erweiterung inaktiv.
Ergänzen Sie die Tests in der gelieferten Rating-Curve Validierungsanweisungen, bevor Sie die Erweiterung für Forschung oder Design verwenden.
Utilities (Vor- und Nachprozessoren)¶
In den Warenkorb¶
Aktivieren Sie die installierte Umgebung, öffnen Sie dann den Simulationsfall mit dem integrierten OpenFOAM-Reader von ParaView:
cd /path/to/case-copy
touch case.foam
paraview case.foamWählen Sie internalMesh und die entsprechenden Grenzfelder aus, einschließlich bedWall und freeSurface, wo vorhanden. Aktivieren Sie Conc, U und p, dann wählen Sie Apply. Wählen Sie das angezeigte Feld und verwenden Sie die Animationssteuerungen, um die Zeitreihe zu überprüfen. Bei BAW-Wasser-Luftfällen inspizieren Sie alpha.water und p_rgh. Es ist kein OpenFOAM-verknüpftes ParaView-Reader-Plugin erforderlich; siehe das OpenFOAM
VisIt-DAV¶
Exportieren Sie den Fall in das Vermächtnis VTK und erzeugen Sie Zeitreihen manifestiert sich in der aktivierten Shell:
python3 ~/.local/openfoam-sediment-v2406/postprocess.py /path/to/case-copy
visitFür ein benutzerdefiniertes Installationsverzeichnis, justieren Sie den Skriptpfad. In VisIt öffnen Sie eine der gedruckten .visit-Dateien, fügen Sie ein Pseudocolor*-Plot von Conc oder einem anderen verfügbaren Skalar hinzu, wählen Sie Draw* und verwenden Sie die Animationssteuerungen. Offenes Volumen, Bett und freier Oberfläche manifestiert sich separat. Der Exporteur behält zeitabhängige Mesh-Koordinaten und nimmt OpenFOAM-Zeitwerte aus Metadaten auf, anstatt die Zeit von Dateinamen zu vernachlässigen; siehe die VisIt
Halten Sie alle exportierten Zeitschritt-Dateien. OpenFOAM-Zeitwerte müssen nicht gleich der beschleunigten morphodynamischen Zeit sein, die von Olsens Solvater aufgezeichnet wurde. Konstruieren Sie parallel interFoam Felder und Maschen vor dem seriellen Export. Um Manifeste nach zusätzlichen Zeitschritten zu regenerieren, bewegen Sie früher .visit Dateien beiseite; unterschiedliche bestehende Manifeste werden nicht überschrieben.
SALOME¶
SALOME wird von diesem Skript nicht installiert. Die Installation ist in den TELEMAC-Anweisungen beschrieben: SALOME.
FreeCAD¶
FreeCAD wird nicht von diesem Skript installiert. Windows-, Linux- und macOS-Pakete und Installationsanweisungen sind von der FreeCAD project.