OpenFOAM Foundation repository for OpenFOAM version 9

Overview

README for OpenFOAM-9

#

About OpenFOAM

OpenFOAM is a free, open source computational fluid dynamics (CFD) software package released by the OpenFOAM Foundation. It has a large user base across most areas of engineering and science, from both commercial and academic organisations. OpenFOAM has an extensive range of features to solve anything from complex fluid flows involving chemical reactions, turbulence and heat transfer, to solid dynamics and electromagnetics.

Copyright

OpenFOAM is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. See the file COPYING in this directory or http://www.gnu.org/licenses/, for a description of the GNU General Public License terms under which you can copy the files.

Download and installation instructions

Documentation

Source code documentation

OpenFOAM C++ Style Guide

Reporting bugs in OpenFOAM

Contacting the OpenFOAM Foundation

Issues
  • Error in IOstream

    Error in IOstream "OSHA1stream.sinkFile_"... in debug mode when using functionObjects

    Hello friends,

    Systems: Pop_OS! 22.04 G++ version: 11.2.0

    I've encountered an IO error, when using interFoam in conjunction with the functionObject phaseScalarTransport in the debug-version of OpenFOAM 9.

    I've modified the dambreak case found in tutorials/multiphase/interfoam/laminar/dambreak to contain an extra field C.water representing a small spot of a tracer concentration in the initial block of water. controlDict, fvSchemes, fvSolution and setFields have been modified accordingly.

    damBreak.zip

    Running the case in the release-version works fine, but running it in the debug-version crashes with the following error message:

    /---------------------------------------------------------------------------
    ========= | \ / F ield | OpenFOAM: The Open Source CFD Toolbox \ / O peration | Website: https://openfoam.org \ / A nd | Version: 9 \/ M anipulation | *---------------------------------------------------------------------------*/ Build : 9-2dfbc15bc6f1 Exec : interFoam Date : Jul 01 2022 Time : 09:25:18 Host : "pop-os" PID : 12418 I/O : uncollated Case : /home/user1/openfoam-stuff/tutorials/multiphase/interFoam/laminar/damBreak/damBreak nProcs : 1 sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE). fileModificationChecking : Monitoring run-time modified files using timeStampMaster (fileModificationSkew 10) allowSystemOperations : Allowing user-supplied system call operations

    // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Create time

    Create mesh for time = 0

    PIMPLE: No convergence criteria found

    PIMPLE: Operating solver in transient mode with 1 outer corrector PIMPLE: Operating solver in PISO mode

    Reading field p_rgh

    Reading field U

    Reading/calculating face flux field phi

    Reading transportProperties

    Selecting incompressible transport model Newtonian Selecting incompressible transport model Newtonian No phase change: phaseChangeProperties not found Selecting phaseChange model none Selecting turbulence model type laminar Selecting laminar stress model Stokes

    Reading g

    Reading hRef Calculating field g.h

    No MRF models present

    No fvModels present No fvConstraints present DICPCG: Solving for pcorr, Initial residual = 0, Final residual = 0, No Iterations 0 time step continuity errors : sum local = 0, global = 0, cumulative = 0 Courant Number mean: 0 max: 0

    Starting time loop

    --> FOAM FATAL IO ERROR: error in IOstream "OSHA1stream.sinkFile_" for operation Ostream& operator<<(Ostream&, const word&)

    file: OSHA1stream.sinkFile_ at line 0.

    From function virtual bool Foam::IOstream::check(const char*) const in file db/IOstreams/IOstreams/IOstream.C at line 96.

    FOAM exiting

    When the functionObject is not included (i.e. functions are commented out in the controlDict), the simulation runs fine.

    I've already tried fully recompiling openfoam, including the latest updates via git pull.

    On my work machine, on which OpenFOAM 9 is compiled using G++ 9.4.0, the error doesn't occur. Neither in the debug-version nor in the release-version. I think it might be compiler-related, as there is a post regarding the same error on the archlinux repo forum (https://aur.archlinux.org/pkgbase/openfoam?O=230&PP=10 ), however, I'm not really satisfied with the solution.

    To reproduce: download the dambreak.zip and run the case with OpenFOAM 9, debug-version, compiled with G++ 11.2.0.

    opened by youngfinn 3
  • add CofG to sixDoFAccelerationSource

    add CofG to sixDoFAccelerationSource

    Description

    sixDoFAccelerationSource uses angular velocity and acceleration to calculate "Centrifugal force" and "Angular acceleration force" but it also needs a centre of gravity (or rotation) which was not provided.

    Changes

    A vector "CofG" is added to read a location for centre of gravity. Centrifugal and Angular acceleration forces updated to consider CofG.

    How Has This Been Tested?

    the sloshingTank3D tutorial is used to compare following two cases. (The amplitude, frequency and CofG of two cases are the same and motion type is roll)

    1. Tank has a angular motion (using solidBody/SDA).
    2. Mesh is static but the source term (new sixDoFAccelerationSource) is added to case.

    Comp

    It can be concluded that new source term is physical and valid.

    opened by Rezi47 0
  • How to Use OpenMPI-4 instead of OpenMPI-2.1.1 ?

    How to Use OpenMPI-4 instead of OpenMPI-2.1.1 ?

    Hi all,

    I install OpenMPI-4.1.4, and I want to delete the OpenMPI-2.1.1 from OpenFOAM-9 but when I type: mpicc --showme it still look for configuration file from OpenMPI-2.1.1 / mpicc --showme still pointing to OpenMPI 2

    even if I have two OpenMPI (version 4 and 2) installation.

    The most problematic is when trying "Hello World" for MPI:

    1. Works when using OpenMPI-2.1.1
    2. Not working with any OpenMPI version 4

    OpenMPI-4 is superseeded by OpenMPI-2.1.1 from OpenFOAM-9 ThirdParty libraries.

    How to make sure the command for mpicc mpiCC mpirun to look only at the installed path of OpenMPI-4.1.4 ?

    Can OpenFOAM-9 use OpenMPI-4 instead of OpenMPI-2.1.1?

    Thank You

    opened by glanzkaiser 0
  • checkMesh -region XYZ -parallel shows negative internal points

    checkMesh -region XYZ -parallel shows negative internal points

    When the tutorial "heatTransfer/chtMultiRegionFoam/shellAndTubeHeatExchanger" is executed and you use the checkMesh function to check the mesh (in parallel): mpirun -np 8 checkMesh -parallel -region shell The shown interal points are negative and a warning is thrown:

    Mesh stats
        points:           667415
        internal points:  -4
    --> FOAM Warning : 
        From function void Foam::printMeshStats(const Foam::polyMesh&, bool)
        in file checkTools.C at line 65
        Some processors have their points sorted into internal and external and some do not.
    This can cause problems later on.
    

    Log files (but you can easily run the tutorial by your own): checkMesh_whole_output.txt log.snappyHexMesh.txt log.splitMeshRegions.txt

    Expected behavior: The internal points are positive and no warning is thrown. Similar to what happens when you execute mpirun -np 8 checkMesh -parallel, but only the region specified should be considered of the mesh created with snappyHexMesh (not the sourounding mesh from blockMesh).

    What I found out:

    • In this case it doesn't matter which region you check. Only the number of (negative) points changes.
    • In an own multi region case I have two fluid and one solid region and the solid region works as expected, but the others don't.
    • I didn't checked it in detail, but there are indications that if you run the case / snappyHexMesh reconstructed (not in parallel) the problem doesn't show up.
    • It doesn't matter if you only run the meshing part or the whole case :D

    Used OS and Version:

    • Ubuntu 20.04.4 LTS
    • mpirun (Open MPI) 4.0.3
    • OpenFOAM-9
      • Build: 9-b456138dc4bc

    PS: This is my first GitHub entry so please be patient with me :D

    opened by ProfPhoenix 0
  • MacOS / M1 (Ultra?) build

    MacOS / M1 (Ultra?) build

    I realize and understand why, historically, projects such as this did not target MacOS builds. But the specs of the new M1 chips are so attractive that I have to think ARM based builds would be incredibly performant. The spes on the new Mac Studio are crazy:

    Screen Shot 2022-03-09 at 8 32 55 AM

    In any event, has there been discussion on M1 builds?

    opened by bcardarella 1
  • could not open some source file while ‘wmake’

    could not open some source file while ‘wmake’

    I was learning Openfoam9 by Ubuntu-20.04 in WSL. I created a new folder named ‘solver’ in $WM_PROJECT_USER_DIR and I copyed the folder 'icoFoam' to it. When I used the command 'wmake', the system told me:

    Making dependency list for source file icoFoam.C could not open file fvmSup.C for source file icoFoam.C due to No such file or directory could not open file gaussGrad.H for source file icoFoam.C due to No such file or directory g++ -std=c++14 -m64 -Dlinux64 -DWM_ARCH_OPTION=64 -DWM_DP -DWM_LABEL_SIZE=32 -Wall -Wextra -Wold-style-cast -Wnon-virtual-dtor -Wno-unused-parameter -Wno-invalid-offsetof -Wno-attributes -O3 -DNoRepository -ftemplate-depth-100 -g -I/home/zhanggh/OpenFOAM/OpenFOAM-9/src/finiteVolume/lnInclude -I/home/zhanggh/OpenFOAM/OpenFOAM-9/src/meshTools/lnInclude -IlnInclude -I. -I/home/zhanggh/OpenFOAM/OpenFOAM-9/src/OpenFOAM/lnInclude -I/home/zhanggh/OpenFOAM/OpenFOAM-9/src/OSspecific/POSIX/lnInclude -fPIC -c icoFoam.C -o Make/linux64GccDPInt32Opt/icoFoam.o In file included from /home/zhanggh/OpenFOAM/OpenFOAM-9/src/finiteVolume/lnInclude/fvcGrad.H:124, from /home/zhanggh/OpenFOAM/OpenFOAM-9/src/finiteVolume/lnInclude/fvc.H:49, from /home/zhanggh/OpenFOAM/OpenFOAM-9/src/finiteVolume/lnInclude/fvCFD.H:8, from icoFoam.C:32: /home/zhanggh/OpenFOAM/OpenFOAM-9/src/finiteVolume/lnInclude/fvcGrad.C:29:10: fatal error: /home/zhanggh/OpenFOAM/OpenFOAM-9/src/finiteVolume/lnInclude/gaussGrad.H: Permission denied 29 | #include "gaussGrad.H" | ^~~~~~~~~~~~~ compilation terminated. make: *** [/home/zhanggh/OpenFOAM/OpenFOAM-9/wmake/rules/General/transform:26: Make/linux64GccDPInt32Opt/icoFoam.o] Error 1

    I checked the permission of 'gaussGrad.H' and 'fvmSup.C', and both of them are 777. Does anyone know this problem and how to fix it?

    opened by zhanggh97 4
  • Unknown solidBodyMotionFunction type tabulated6DoFMotion

    Unknown solidBodyMotionFunction type tabulated6DoFMotion

    tabulated6DoFMotion not available in dynamicMotionSolverFvMesh

    /*---------------------------------------------------------------------------*\
      =========                 |
      \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
       \\    /   O peration     | Website:  https://openfoam.org
        \\  /    A nd           | Version:  9
         \\/     M anipulation  |
    \*---------------------------------------------------------------------------*/
    Build  : 9-b456138dc4bc
    Exec   : pimpleFoam
    Date   : Feb 21 2022
    Time   : 17:38:36
    Host   : *****
    PID    : 24845
    I/O    : uncollated
    Case   : *****
    nProcs : 1
    sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).
    fileModificationChecking : Monitoring run-time modified files using timeStampMaster (fileModificationSkew 10)
    allowSystemOperations : Allowing user-supplied system call operations
    
    // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
    Create time
    
    Create mesh for time = 0
    
    Selecting dynamicFvMesh dynamicMotionSolverFvMesh
    Selecting motion solver: solidBody
    Selecting solid-body motion function tabulated6DoFMotion
    
    
    --> FOAM FATAL ERROR: 
    Unknown solidBodyMotionFunction type tabulated6DoFMotion
    
    Valid solidBodyMotionFunctions are : 
    
    8
    (
    SDA
    axisRotationMotion
    linearMotion
    multiMotion
    oscillatingLinearMotion
    oscillatingRotatingMotion
    rotatingMotion
    sixDoFMotion
    )
    
    
        From function static Foam::autoPtr<Foam::solidBodyMotionFunction> Foam::solidBodyMotionFunction::New(const Foam::dictionary&, const Foam::Time&)
        in file motionSolvers/displacement/solidBody/solidBodyMotionFunctions/solidBodyMotionFunction/solidBodyMotionFunctionNew.C at line 45.
    
    FOAM exiting
    
    
    
    opened by phgelado 0
Owner
Official OpenFOAM Repository
Official OpenFOAM Repository
We implemented our own sequential version of GA, PSO, SA and ACA using C++ and the parallelized version with CUDA support

We implemented our own sequential version of GA, PSO, SA and ACA using C++ (some using Eigen3 as matrix operation backend) and the parallelized version with CUDA support. All of them are much faster than the popular lib scikit-opt.

Aron751 4 May 7, 2022
The PULP Ara is a 64-bit Vector Unit, compatible with the RISC-V Vector Extension Version 0.9, working as a coprocessor to CORE-V's CVA6 core

Ara Ara is a vector unit working as a coprocessor for the CVA6 core. It supports the RISC-V Vector Extension, version 0.9. Dependencies Check DEPENDEN

null 143 Aug 2, 2022
the C++ version of solov2 with ncnn

the C++ version of SOLOV2 with ncnn

DayBreak 67 Aug 16, 2022
Final version of Plan 9 4th Edition from Bell Labs

This is a re-release of the final version of the 4th Edition of Plan 9 from Bell Labs distributed directly by Bell Labs. 4th Edition was originally r

Serge Vakulenko 8 Jun 21, 2022
the C++ version of Seq2Seq with ncnn

the C++ version of Seq2Seq with ncnn

DayBreak 19 Aug 7, 2022
This work is an expend version of livox_camera_calib(hku-mars/livox_camera_calib), which is suitable for spinning LiDAR。

expend_lidar_camera_calib This work is an expend version of livox_camera_calib, which is suitable for spinning LiDAR。 In order to apply this algorithm

afei 44 Aug 13, 2022
C Language version for yolo in risc-v

RISC-V C-Embedding Yolo 基于Yolo v2的蜂鸟e203 RISC-V部署代码,其中的加速器由队伍中负责硬件的人使用Verilog编写(暂不提供),并在硬件提供的C API上搭建了yolo的部署代码。其中,加速器硬件模块暂由c编写的神经网络加速器模拟器来代替。 网络实现了人脸

Ling Zhang 2 Jul 19, 2022
A lightweight version of OrcVIO that uses monocular images, inertial data, as well as bounding box measurements

OrcVIO-Lite About Object residual constrained Visual-Inertial Odometry (OrcVIO) is a visual-inertial odometry pipeline, which is tightly coupled with

Sean 22 Jun 30, 2022
Simple inference deep head pose ncnn version

ncnn-deep-head-pose Simple implement inference deep head pose ncnn version with high performance and optimized resource. This project based on deep-he

Đỗ Công Minh 11 Jun 13, 2022
Ncnn version demo of [CVPR21] LightTrack: Finding Lightweight Neural Network for Object Tracking via One-Shot Architecture Search

LightTrack: Finding Lightweight Neural Networks for Object Tracking via One-Shot Architecture Search (ncnn) The official implementation by pytorch: ht

null 21 Aug 11, 2022
ORB-SLAM3-Monodepth is an extended version of ORB-SLAM3 that utilizes a deep monocular depth estimation network

ORB_SLAM3_Monodepth Introduction This repository was forked from [ORB-SLAM3] (https://github.com/UZ-SLAMLab/ORB_SLAM3). ORB-SLAM3-Monodepth is an exte

null 17 Jul 7, 2022
Zenotech 7 Nov 13, 2020
EOgmaNeo is Ogma Corp's embedded and event based version of OgmaNeo

EOgmaNeo is Ogma Corp's embedded and event based version of OgmaNeo

Ogma 116 Jul 21, 2022
waifu2x converter ncnn version, runs fast on intel / amd / nvidia GPU with vulkan

waifu2x ncnn Vulkan ncnn implementation of waifu2x converter. Runs fast on Intel / AMD / Nvidia with Vulkan API. waifu2x-ncnn-vulkan uses ncnn project

null 2.2k Aug 7, 2022
This is a code repository for pytorch c++ (or libtorch) tutorial.

LibtorchTutorials English version 环境 win10 visual sutdio 2017 或者Qt4.11.0 Libtorch 1.7 Opencv4.5 配置 libtorch+Visual Studio和libtorch+QT分别记录libtorch在VS和Q

null 358 Aug 3, 2022
Repository for material related to the Programming Languages Virtual Meetup coverage of the Category Theory for Programmers book.

CTfP-2021 This is the material (code and presentation slide decks) that correspond to the Programming Languages Virtual Meetup course that is covering

Conor Hoekstra 108 Aug 3, 2022
OpenVINO™ Toolkit repository

This toolkit allows developers to deploy pre-trained deep learning models through a high-level C++ Inference Engine API integrated with application logic.

OpenVINO Toolkit 3.5k Aug 5, 2022
Simplified distributed block storage with strong consistency, like in Ceph (repository mirror)

Vitastor Читать на русском The Idea Make Software-Defined Block Storage Great Again. Vitastor is a small, simple and fast clustered block storage (sto

Vitaliy Filippov 53 Aug 2, 2022
APFS module for linux, with experimental write support (out-of-tree repository)

Apple File System ================= The Apple File System (APFS) is the copy-on-write filesystem currently used on all Apple devices. This module pro

APFS for Linux 201 Aug 4, 2022