Fan Rotation & AMI

pimpleFoam, snappyHexMesh, arbitrary mesh interface, dynamic mesh, function objects


The »Fan Rotation & AMI« OpenFOAM case was created first during the year 2013 and 2014 (see the playlist from 2014 on YouTube) but never published to the community. However, as an OpenFOAM user was looking for that training case in June 2020, Tobias decided to re-invent the case for the OpenFOAM community. The changes that were done are really interesting for everybody who wants to deal with more functionalities of OpenFOAM. The case therefore handles dynamic meshes in combination with the arbitrary mesh interface (AMI) condition and uses different features of OpenFOAM such as the on-the-fly construction of a passive scalar equation and the »Function1« possibility in the dynamic mesh set-up.

The Function1 class in OpenFOAM is extremly useful and powerful

The training case handles a rotating fan that is placed inside a straight pipe. The fan speed is linearly increased within the first three seconds up to a frequency of 10 Hz which is equal to 600 rpm's. For this purpose, the »Function1« feature of OpenFOAM was used within the »dynamicDict« file. The simulation is based on an incompressible assumption and thus, no energy equation is solved. However, in order to »visualize« the temperature, a passive scalar transport is added to the solver on-the-fly. This field (named T in the case) could be further used in a source/sink term of the momentum to, e.g., model a gravitational force. The boundary conditions were set in a way that a real scenario is modeled. Hence, the created pressure drop of the fan sucks in the air from the inlet and pushes it to the outlet.

Image: Fan analysis at start
Image: Fan analysis during the rotation
Image: Fan analysis close to the end

Published under the GNU General Public License 3

Over the last ten years, Tobias tried to publish a wide range of different materials related to OpenFOAM® and CFD. You know it much better than he does if the content is worth to be supported. If you want to thank Tobias for the work he did, feel free to tell the community your opinion about the work Tobias Holzmann is doing or you can email your thoughts directly to »«. Keep in mind that the work that was done here took much time, and it is not self-evident that Tobias Holzmann shares all his work, knowledge, and attitude for free and keep the data up to date. Hosting the material, updating the data, and keeping up interesting work for the community does take much time and also money. Supporting Tobias is greatly welcomed and can be done easily by donating any amount you would like to give to support his projects shared on his website.

Support the work of Tobias Holzmann

The available OpenFOAM® training cases are tested and built for different OpenFOAM® versions (not distributions) on a Linux machine. During the tests, only the OpenFOAM Foundation version of OpenFOAM® was used. Furthermore, the following software packages are required for most of the training cases: Salome®, ParaView®, and for optimization tasks, one also needs the open-source software DAKOTA®. The OpenFOAM® cases might work with the ESI version of OpenFOAM® but it is not supported. For the OpenFOAM® extend project, the training cases will probably not work as the code diverged too much. Additionally, there is no support for Windows-based and MAC-based OpenFOAM® versions.


This offering is not approved or endorsed by OpenCFD Limited, producer and distributor of the OpenFOAM software via, and owner of the OPENFOAM® and OpenCFD® trade marks

Share the work on Your social network

Tobias would be grateful if you share his work on your social network in order to keep the OpenFOAM® community up to date. Furthermore, sharing the work will avoid that people investigate into topics, that are already prepared for your study such as the examples provided by Tobias Holzmann.

Released on 04.01.2021 — Downloads:
Released on 04.01.2021 — Downloads:
Released on 13.09.2021 — Downloads:
Released on 16.02.2022 — Downloads: