scalable coupled simulations with openfoammediatum.ub.tum.de/doc/1454433/1454433.pdf · 2018. 9....

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.

Upload: others

Post on 27-Jan-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

  • 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

    1{bungartz, chourdak, uekerman}@in.tum.de 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.

    CalculiXAdapter

    preCICE librarypreCICE library

    Adapter

    OpenFOAMpreCICE 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.