Download presentation
Presentation is loading. Please wait.
1
Department of Computer Science, TU München
A Modular and Efficient Simulation Environment for Fluid-Structure Interactions Miriam Mehl Bernhard Gatzhammer Department of Computer Science, TU München
2
Outline no fluid solver details FSIce motivation
application programming interface modules data transfer coupling strategies numerical results
3
Plug-and-Play for FSI MpCCI Data Mapping Coupling Strategy Fluid
Solver Structure Solver
4
Plug-and-Play for FSI MpCCI Fluid Solver Structure Solver
5
Plug-and-Play for FSI Coupling Strategy Central Surface Mesh FSIce
Fluid Solver Structure Solver
6
FSIce – Application Programming Interface
FSI_Init () FSI_Data_exchange () FSI_Finalize () FSI_Is_running () FSI_Is_new_interface_values () FSI_Is_implicit_converged () Fluid Solver API of FSIce 3 central communication functions 3 helper functions for querying coupled simulation state
7
FSIce – Application Programming Interface
while (more time steps) Set time step length Compute values of next time step Store values of next time step end while Fluid Solver How to prepare a solver for coupled simulations with FSIce Basic solver
8
FSIce – Application Programing Interface
while (more time steps) Read coupling data from com.mesh Set time step length Compute values of next time step Write coupling data to com.mesh Store values of next time step end while Fluid Solver Necessary for all partitioned approaches is the mapping of data to some data structure communicated
9
FSIce – Application Programing Interface
FSI_Init () while (more time steps) Read coupling data from com.mesh Set time step length Compute values of next time step Write coupling data to com.mesh FSI_Data_exchange () Store values of next time step end while FSI_Finalize () Fluid Solver FSIce communication functions FSI init to initialize communication and exchange communication mesh and other initial information FSI Data exchange to send and receive coupling data and the state of the coupled simulation FSI Finalize to finish the coupled simulation, remove communication data structures
10
FSIce – Application Programing Interface
FSI_Init () while (FSI_Is_running()) if (FSI_Is_new_interface_values()) Read coupling data from com.mesh Set time step length Compute values of next time step Write coupling data to com. mesh FSI_Data_exchange () if (FSI_Is_implicit_converged()) Store values of next time step end while FSI_Finalize () Fluid Solver Functions to query state of the coupled simulation Not all are necessary FSI_Is_running to give the control about the length of the coupled simulation to the supervisor FSI_Is_new_interface_values to avoid unnecessary mapping from the coupling mesh to the solver mesh, e.g. in a subcycle FSI_Is_implicit_converged for implicit coupling scheme, when in interface iteration process
11
FSIce – Modules - Modular structure of FSIce source code
- FSIce is composed out of two main modules: Libraries and Supervisor - module libraries contains functionalities used by simulation programs to be coupled and functionalities for the coupling supervisor in module Supervisor - module Supervisor implements the coupling supervisor acting as client in the couple simulation - Libraries consists of the packages: FSImesh, FSIcom and FSItools - FSImesh provides the implementation of the coupling mesh and the FSIce internal communication interface (MPI or sockets) - FSIcom defines and implements the API for solvers to be coupled - FSItools contains optional additional functionalites for solvers such as octree based neighbor search or geometry creation for Cartesian grids - Supervisor contains the packages CouplingUnit, GUI, Batch and TestDummies - CouplingUnit encapsulate the coupling schemes and logic of a coupled simulation - GUI and Batch are specific implementations of a coupling supervisor, using CouplingUnit - TestDummies contains solver dummy executables to enable a test of the coupling supervisor and the ability of a solver to perform coupled simulations with FSIce
12
FSIce – Data Transfer How to map data from solver mesh to coupling mesh ? Octree for efficient neighbour search Some projection / interpolation included Custom interpolations possible Provided to user in package FSItools A question appearing in every partitioned FSI simulation is how to map data from the native solver mesh to the communication data structure FSIce provides the functionality of an octree for this purpose, which allows to search for neighbouring points onthe two meshes Also some interpolation mehtods are included Users with specific requirements for interpolation schemes can write their own functions and plug them into FSIce This functionality is bundled in the package FSItools library
13
FSIce – Coupling Strategies
Explicit (weak) Implicit (strong) Subcycling Pre-computations Many others possible: just extend supervisor A typical situation in partitioned FSI simulations is, that the fluid solver requires shorter time step lengths than the structure solver To save computation effort on the structure side, subcycling is employed, which allows different time step lengths on both sides of the coupled simulation Short explanation
14
Numerical Results – Implicit vs. Explicit
15
Numerical Results
16
Numerical Results – Data Mapping
17.4 sec 128,000 512 14.3 sec 32,000 10.1 sec 8,000 2.6 sec 256 runtime # triang. Cart.res. neighbourhood search measured on a Pentium M 1.6 GHz processor with 2048 kB cache
17
Conclusion enhancements of FSI*ce
modular structure extendability, flexibility integration of various components first examples computed future: more solvers, more coupling strategies
18
Thank you for your attention!
19
FSIce – Application Programing Interface
Future goal: Multigrid Multilevel coupling mesh Multigrid scheme controlled from coupling supervisor Allows V, W, ... schemes without modifying solvers Fluid Solver A future goal will be to support partitioned coupled multigrid solution procedures This can be optimally supported by a coupling mesh with several grid resolutions The multigrid algorithm will be controlled from the coupling supervisor again When a solver has the necessary multigrid functionality integrated (restriction, perlongation) arbitrary multigrid schemes can be realized through the coupling supervisor, without the necessatiy to further modify the solver codes
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.