1
Chair of Scientific Computing Department of Informatics Technical University of Munich References: [1] Tukovic, Z., Cardiff, P., Karac, A., Jasak, H., Ivankovic, A. (2014) OpenFOAM Library for Fluid Structure Interaction. 9th OpenFOAM Workshop. [2] Hewitt, S., Margetts L., and Revell, A. (2017). Parallel Performance of an Open Source Fluid Structure Interaction Application. In 25th UKACM Conference on Computational Mechanics. [3] Galanin, M. P., Zhukov, V. T., Klyushnev, N. V., Kuzmina, K. S., Lukin, V. V., Marchevsky, I. K., and Rodin, A. S. (2018). Implementation of an iterative algorithm for the coupled heat transfer in case of high-speed flow around a body. In Computers & Fluids. [4] Wirth, N., Bayrasy, P., Landvogt, B., Wolf, K., Cecutti, F. and Lewandowski, T. (2017). Analysis and Optimizationof Flow Around Flexible Wings and Blades Using the Standard Co-simulation Interface MpCCI. In Recent Progress in Flow Control for Practical Flows, 283-321. Springer. [5] Sicklinger, S.A., Wang, T., Lerch, C., Wüchner, R. and Bletzinger, K.U. (2012). EMPIRE: A N-Code Coupling Tool for Multiphysic Co-Simulations with OpenFOAM. In 7th OpenFOAM Workshop. [6] Müller, M., Haupt, M., and Horst, P. (2018). Socket-Based Coupling of OpenFOAM and Abaqus to Simulate Vertical Water Entry of Rigid and Deformable Structures. In 6th ESI OpenFOAM User Conference. [7] Bungartz, H.-J., Lindner, F., Gatzhammer, B., Mehl, M., Scheufele, K., Shukaev, A., and Uekermann, B. (2016). preCICE – A fully parallel library for multi-physics surface coupling. In Comput. & Fluids, 141(Supplement C), 250–258. [8] Uekermann, B. (2016). Partitioned Fluid-Structure Interaction on Massively Parallel Systems. PhD Thesis. Technical University of Munich. [9] Uekermann, B., Bungartz, H.-J., Cheung Yau, L., Chourdakis, G. and Rusch, A. (2017). Official preCICE Adapters for Standard Open- Source Solvers. In 7th GACM Colloquium on Computational Mechanics for Young Scientists from Academia. [10] Chourdakis, G. (2017). A general OpenFOAM adapter for the coupling library preCICE. Master’s Thesis. Technical University of Munich. [11] Blom D. (2016). FOAM-FSI: Fluid-Structure Interaction solvers for foam-extend. [12] Cheung Yau, L. (2016). Conjugate Heat Transfer with the Multiphysics Coupling Library preCICE. Master’s Thesis. Techn. Univ. of Munich. [13] Rave, K. (2017). Kopplung von OpenFOAM und deal.II Gleichungslösern mit preCICE zur Simulation multiphysikalischer Probleme. Master’s thesis (unpublished), Lehrstuhl für Strömungsmechanik, Universität Siegen. [14] Schneider D. (2018). Simulation von Fluid-Struktur-Interaktion mit der Kopplungsbibliothek preCICE. Bachelor’s thesis (unpublished), Lehrstuhl für Strömungsmechanik, Universität Siegen. www.precice.org github.com/precice [email protected] Scalable coupled simulations with OpenFOAM R and other solvers Setting up Multi-Physics simulations like playing LEGO R , without stepping on the pieces Hans-Joachim Bungartz 1 , Gerasimos Chourdakis 1 , Derek Risseeuw 2 , Alexander Rusch 1 , Benjamin Uekermann 1 1 {bungartz, chourdak, uekerman}@in.tum.de and [email protected], Scientific Computing, Technical University of Munich 2 [email protected], Faculty of Aerospace Engineering, Delft University of Technology Approaches and problems Framework approach: Two different regions in an OpenFOAM solver, solved sequentially. Examples: chtMultiRegionFoam (intrinsic), fsiFoam (only in foam-extend) [1]. + Everything inside OpenFOAM - Limited to specific, OpenFOAM-only solvers - Limited coupling numerics - Limited scalability - Partitioned numerics, but monolithic software OpenFOAM solver Fluid region Solid region Master - Slave approach: The OpenFOAM solver calls an external solver library. Example: OpenFPCI [2]. + Not limited to OpenFOAM solvers - Invasive (convert solver to library) - Difficult extension to > 2 solvers - Limited scalability - Tight setup, difficult to maintain OpenFOAM solver Fluid region Coupling code External solid solver library Files-based approach: Every solver works independently, solving every coupling timestep as a complete simulation. An external script (often in-house) processes their results files and adjusts their configuration files, restarting them. Example: Galanin et. al. [3]. + Non-invasive + Intuitive and easy to debug - Very slow OpenFOAM solver File-based coupling script External solid solver t i+1 t i+1 t i t i Server library approach: Every solver calls an external library, which couples them. The solvers do not communicate directly. Examples: MpCCI (commercial) [4], EMPIRE [5], ifls [6]. + Flexible + Advanced coupling numerics - Limited scalability - Additional executable to handle OpenFOAM solver Coupling server External solid solver Solution: preCICE coupling library preCICE (www.precice.org) [7] follows a completely parallel, peer-to- peer approach [8]. preCICE treats each solver as a “black-box” and handles all the functionality required for the coupling. Each partici- pating solver loads the preCICE library through an “adapter” [9]. OpenFOAM CalculiX adapter libprecice CHT FSI OpenFOAM coupling data mapping ... ... communication time interpolation preCICE supports (parallel) implicit coupling with Quasi-Newton ac- celeration, RBF mapping, and communication via MPI or TCP/IP sockets. Time interpolation schemes are under development. Multi-Physics in OpenFOAM One adapter, no changes in the solver Previous approach: Modify the solver to add calls to preCICE solver-specific. Examples: FOAM-FSI [11], L. Cheung [12], K. Rave [13], D. Schneider [14]. OpenFOAM function objects: Inject code at specific, pre-defined points, without mo- difying the solver’s code or re-compiling. Compatible: Designed for current versions of openfoam.com and openfoam.org. Challenges: Access everything through the objects’ registry and keep the code general. while ( runTime.loop() ) #include "setDeltaT.H" mesh.update(); OpenFOAM Solver dynamic mesh solvers: solvers with adjustable timestep: while ( runTime.run() ) or mesh.movePoints(); Foam::Time Foam::polyMesh loop() run() adjustDeltaT() updateMesh() movePoints() Foam::functionObjectList read() start() execute() end() adjustTimeStep() updateMesh() movePoints() Foam::functionObject read() execute() write() end() adjustTimeStep() updateMesh() movePoints() Results & Tutorials Flow over a heat plate: CHT tutorial, validated. Shell-and-tubes heat exchanger: Multi-coupling CHT tutorial with OpenFOAM and CalculiX (calculix.de). Compared to chtMultiRegionFoam, a performance benefit has been observed for this scenario. A rigorous performance study is future work. More CHT scenarios: Turbine blade cooling and pin-fin cooling (simulations by L. Cheung [12]) Initial FSI results: Flap perpendicular to the flow with OpenFOAM (left, center) and CalculiX (right) Easy to use + Load at runtime: Add 3 lines in your system/controlDict + Easy to configure: Small (approx. 7 lines) YAML file (plan to replace it with an OpenFOAM dictionary) + No matter which partner: The adapter only knows about preCICE. CalculiX Adapter preCICE library preCICE library Adapter OpenFOAM preCICE library Adapter OpenFOAM Next steps The adapter can be extended to support other problem types, such as Fluid-Fluid multi-model coupling. Adapter Interface CouplingDataUser CHT module FSI module preciceAdapterFunctionObject Fluid-Fluid module OpenFOAM adapter for preCICE [10] Acknowledgments: preCICE is currently being developed at the Technical University of Munich by Hans-Joachim Bungartz, Gerasimos Chour- dakis, Benjamin Rüth, Alexander Rusch, Frédéric Simonis, and Benjamin Uekermann and at the University of Stuttgart by Florian Lindner, Mi- riam Mehl, and Amin Totounferoush. preCICE is funded by SPPEXA, the DFG Priority Programme 1648 – Software for Exascale Computing (www.sppexa.de) and DFG’s initiative to support sustainable research software. The work of Gerasimos Chourdakis was supported by a DAAD scholarship (www.daad.de). Note: OPENFOAM R is a registered trade mark of OpenCFD Limited, producer and distributor of the OpenFOAM software via www.openfoam.com. LEGO R is a registered trade mark of of the LEGO Group of companies which does not sponsor, authorize or endorse this work.

Scalable coupled simulations with OpenFOAM · -Tight setup, difficult to maintain 2SHQ)2$0VROYHU)OXLGUHJLRQ &RXSOLQJFRGH([WHUQDOVROLG VROYHUOLEUDU\ Files-based approach: Every solver

  • Upload
    others

  • View
    7

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Scalable coupled simulations with OpenFOAM · -Tight setup, difficult to maintain 2SHQ)2$0VROYHU)OXLGUHJLRQ &RXSOLQJFRGH([WHUQDOVROLG VROYHUOLEUDU\ Files-based approach: Every solver

Chair of Scientific ComputingDepartment of InformaticsTechnical University of Munich

References:[1] Tukovic, Z., Cardiff, P., Karac, A., Jasak, H., Ivankovic, A. (2014) OpenFOAM Library for Fluid Structure Interaction. 9th OpenFOAM Workshop.[2] Hewitt, S., Margetts L., and Revell, A. (2017). Parallel Performance of an Open Source Fluid Structure Interaction Application. In 25th UKACMConference on Computational Mechanics.[3] Galanin, M. P., Zhukov, V. T., Klyushnev, N. V., Kuzmina, K. S., Lukin, V. V., Marchevsky, I. K., and Rodin, A. S. (2018). Implementation of aniterative algorithm for the coupled heat transfer in case of high-speed flow around a body. In Computers & Fluids.[4] Wirth, N., Bayrasy, P., Landvogt, B., Wolf, K., Cecutti, F. and Lewandowski, T. (2017). Analysis and Optimization of Flow Around Flexible Wingsand Blades Using the Standard Co-simulation Interface MpCCI. In Recent Progress in Flow Control for Practical Flows, 283-321. Springer.[5] Sicklinger, S.A., Wang, T., Lerch, C., Wüchner, R. and Bletzinger, K.U. (2012). EMPIRE: A N-Code Coupling Tool for Multiphysic Co-Simulationswith OpenFOAM. In 7th OpenFOAM Workshop.[6] Müller, M., Haupt, M., and Horst, P. (2018). Socket-Based Coupling of OpenFOAM and Abaqus to Simulate Vertical Water Entry of Rigid andDeformable Structures. In 6th ESI OpenFOAM User Conference.

[7] Bungartz, H.-J., Lindner, F., Gatzhammer, B., Mehl, M., Scheufele, K., Shukaev, A., and Uekermann, B. (2016). preCICE – A fully parallellibrary for multi-physics surface coupling. In Comput. & Fluids, 141(Supplement C), 250–258.[8] Uekermann, B. (2016). Partitioned Fluid-Structure Interaction on Massively Parallel Systems. PhD Thesis. Technical University of Munich.[9] Uekermann, B., Bungartz, H.-J., Cheung Yau, L., Chourdakis, G. and Rusch, A. (2017). Official preCICE Adapters for Standard Open-Source Solvers. In 7th GACM Colloquium on Computational Mechanics for Young Scientists from Academia.[10] Chourdakis, G. (2017). A general OpenFOAM adapter for the coupling library preCICE. Master’s Thesis. Technical University of Munich.[11] Blom D. (2016). FOAM-FSI: Fluid-Structure Interaction solvers for foam-extend.[12] Cheung Yau, L. (2016). Conjugate Heat Transfer with the Multiphysics Coupling Library preCICE. Master’s Thesis. Techn. Univ. of Munich.[13] Rave, K. (2017). Kopplung von OpenFOAM und deal.II Gleichungslösern mit preCICE zur Simulation multiphysikalischer Probleme.Master’s thesis (unpublished), Lehrstuhl für Strömungsmechanik, Universität Siegen.[14] Schneider D. (2018). Simulation von Fluid-Struktur-Interaktion mit der Kopplungsbibliothek preCICE. Bachelor’s thesis (unpublished),Lehrstuhl für Strömungsmechanik, Universität Siegen. www.precice.org github.com/precice [email protected]

Scalable coupled simulations with OpenFOAMR©

andother solvers

Setting up Multi-Physics simulations like playing LEGO R©, without stepping on the piecesHans-Joachim Bungartz1, Gerasimos Chourdakis1, Derek Risseeuw2, Alexander Rusch1, Benjamin Uekermann1

1bungartz, chourdak, [email protected] and [email protected], Scientific Computing, Technical University of [email protected], Faculty of Aerospace Engineering, Delft University of Technology

Approaches and problemsFramework approach: Two different regions inan OpenFOAM solver, solved sequentially.Examples: chtMultiRegionFoam (intrinsic),fsiFoam (only in foam-extend) [1].

+ Everything inside OpenFOAM- Limited to specific, OpenFOAM-only solvers- Limited coupling numerics- Limited scalability- Partitioned numerics, but monolithic software

OpenFOAM solver

Fluid region

Solid region

Master - Slave approach: TheOpenFOAM solver calls an externalsolver library. Example: OpenFPCI [2].

+ Not limited to OpenFOAM solvers- Invasive (convert solver to library)- Difficult extension to > 2 solvers- Limited scalability- Tight setup, difficult to maintain

OpenFOAM solver

Fluid region

Coupling code External solidsolver library

Files-based approach: Every solver works independently, solvingevery coupling timestep as a complete simulation. An externalscript (often in-house) processes their results files and adjusts theirconfiguration files, restarting them. Example: Galanin et. al. [3].+ Non-invasive+ Intuitive and easy to debug- Very slow

OpenFOAM solver File-based

coupling script

External solid solver

ti+1 ti+1

ti ti

Server library approach: Every solver calls an external library, whichcouples them. The solvers do not communicate directly.Examples: MpCCI (commercial) [4], EMPIRE [5], ifls [6].+ Flexible+ Advanced coupling numerics- Limited scalability- Additional executable to handle

OpenFOAM solver Coupling server External solid solver

Solution: preCICE coupling librarypreCICE (www.precice.org) [7] follows a completely parallel, peer-to-peer approach [8]. preCICE treats each solver as a “black-box” andhandles all the functionality required for the coupling. Each partici-pating solver loads the preCICE library through an “adapter” [9].

OpenFOAM

CalculiXadapter

libpreciceCHT

FSIOpenFOAM

coupling data mapping

. . .

. . .

communication time interpolation

preCICE supports (parallel) implicit coupling with Quasi-Newton ac-celeration, RBF mapping, and communication via MPI or TCP/IPsockets. Time interpolation schemes are under development.

Multi-Physics in OpenFOAMOne adapter, no changes in the solver

Previous approach: Modify the solver toadd calls to preCICE→ solver-specific.Examples: FOAM-FSI [11], L. Cheung [12],K. Rave [13], D. Schneider [14].

OpenFOAM function objects: Inject codeat specific, pre-defined points, without mo-difying the solver’s code or re-compiling.

Compatible: Designed for current versionsof openfoam.com and openfoam.org.

Challenges: Access everything through theobjects’ registry and keep the code general.

while ( runTime.loop() )

#include "setDeltaT.H"

mesh.update();

OpenFOAM Solver

dynamic mesh solvers:

solvers with adjustable timestep:

while ( runTime.run() )

or

mesh.movePoints();

Foam::Time

Foam::polyMesh

loop()

run()

adjustDeltaT()

updateMesh()

movePoints()

Foam::functionObjectList

read()

start()

execute()

end()

adjustTimeStep()

updateMesh()

movePoints()

Foam::functionObject

read()

execute()

write()

end()

adjustTimeStep()

updateMesh()

movePoints()

Results & Tutorials

Flow over a heat plate: CHT tutorial, validated.

Shell-and-tubes heat exchanger: Multi-couplingCHT tutorial with OpenFOAM and CalculiX(calculix.de). Compared to chtMultiRegionFoam, aperformance benefit has been observed for thisscenario. A rigorous performance study is futurework.

More CHT scenarios: Turbine blade cooling andpin-fin cooling (simulations by L. Cheung [12])

Initial FSI results: Flap perpendicular to the flowwith OpenFOAM (left, center) and CalculiX (right)

Easy to use

+ Load at runtime: Add 3 lines in yoursystem/controlDict+ Easy to configure: Small (approx. 7 lines)YAML file (plan to replace it with an OpenFOAMdictionary)+ No matter which partner: The adapter onlyknows about preCICE.

CalculiX

Adapter

preCICE library

preCICE library

Adapter

OpenFOAM

preCICE library

Adapter

OpenFOAM

Next stepsThe adapter can be extended to support otherproblem types, such as Fluid-Fluid multi-modelcoupling.

Adapter Interface

CouplingDataUser

CHT module FSI module

preciceAdapterFunctionObject

Fluid-Fluid module

OpenFOAM adapter for preCICE [10]

Acknowledgments: preCICE is currently being developed at the Technical University of Munich by Hans-Joachim Bungartz, Gerasimos Chour-dakis, Benjamin Rüth, Alexander Rusch, Frédéric Simonis, and Benjamin Uekermann and at the University of Stuttgart by Florian Lindner, Mi-riam Mehl, and Amin Totounferoush. preCICE is funded by SPPEXA, the DFG Priority Programme 1648 – Software for Exascale Computing(www.sppexa.de) and DFG’s initiative to support sustainable research software. The work of Gerasimos Chourdakis was supported by a DAADscholarship (www.daad.de).Note: OPENFOAM R© is a registered trade mark of OpenCFD Limited, producer and distributor of the OpenFOAM software via www.openfoam.com.LEGO R© is a registered trade mark of of the LEGO Group of companies which does not sponsor, authorize or endorse this work.