Complex Mesh Motion

2D meshing, pimpleFoam, arbitrary coupled mesh interface (ACMI), passive scalar, function objects, fvOptions


In engineering applications, it is common to have active parts which connect and disconnect during a movement. Using the arbitrary coupled mesh interface (ACMI) in OpenFOAM®, one can use dynamic elements that connect and disconnect during the time. The usage of such boundary conditions and the correct set-up is the principal focus of this training case.

The ACMI boundary conditions allows one to couple and decouple regions during the simulation

This 2D case was the first investigation into the ACMI boundary condition of Tobias. The tutorial does not focus on physical correctness nor describe a real phenomenon. It is just a demonstration case that allows one to get the relevant information to generate an ACMI boundary condition. The training case further uses the function object capability to build a passive scalar equation on the fly. Additionally, a source term is specified within the equation using the fvOptions methodology. The numerical algorithm is set-up as PIMPLE, and the Courant number was set to six. Tobias wants to apologize officially about the statement he made in February on LinkedIn against DHCAE regarding the fact that they used the inspiration of my tutorial to create an own one. Tobias feels honored to inspire people to make similar simulations. Furthermore, the content was always published under the GNU GPL v3. Thus, Tobias was incorrect and is happy to say sorry again, officially on his website.

Image: Rotating conus connected to outer region
Image: Numerical 2d mesh
Image: Rotating conus half connected to the outer region

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 04.01.2021 — Downloads:
Released on 04.01.2021 — Downloads:
Released on 13.09.2021 — Downloads:
Released on 11.02.2022 — Downloads: