Transcript Hallo
A Modular and Efficient
Simulation Environment
for Fluid-Structure Interactions
Miriam Mehl
Bernhard Gatzhammer
Department of Computer Science, TU München
ECT2008, Athens, 9/4/2008, Miriam Mehl, Bernhard Gatzhammer
Outline
no fluid solver details
FSIce
motivation
application programming interface
modules
data transfer
coupling strategies
numerical results
ECT2008, Athens, 9/4/2008, Miriam Mehl, Bernhard Gatzhammer
Plug-and-Play for FSI
MpCCI
Data Mapping
Coupling Strategy
Fluid
Solver
ECT2008, Athens, 9/4/2008, Miriam Mehl, Bernhard Gatzhammer
Structure
Solver
Plug-and-Play for FSI
MpCCI
Fluid
Solver
ECT2008, Athens, 9/4/2008, Miriam Mehl, Bernhard Gatzhammer
Structure
Solver
Plug-and-Play for FSI
Coupling Strategy
Central Surface Mesh
FSIce
Fluid
Solver
ECT2008, Athens, 9/4/2008, Miriam Mehl, Bernhard Gatzhammer
Structure
Solver
FSIce – Application Programming
Interface
FSI_Init ()
FSI_Data_exchange ()
FSI_Finalize ()
FSI_Is_running ()
Fluid
Solver
FSI_Is_new_interface_values ()
FSI_Is_implicit_converged ()
ECT2008, Athens, 9/4/2008, Miriam Mehl, Bernhard Gatzhammer
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
ECT2008, Athens, 9/4/2008, Miriam Mehl, Bernhard Gatzhammer
FSIce – Application Programing
Interface
Fluid
Solver
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
ECT2008, Athens, 9/4/2008, Miriam Mehl, Bernhard Gatzhammer
FSIce – Application Programing
Interface
Fluid
Solver
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 ()
ECT2008, Athens, 9/4/2008, Miriam Mehl, Bernhard Gatzhammer
FSIce – Application Programing
Interface
Fluid
Solver
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 ()
ECT2008, Athens, 9/4/2008, Miriam Mehl, Bernhard Gatzhammer
FSIce – Modules
ECT2008, Athens, 9/4/2008, Miriam Mehl, Bernhard Gatzhammer
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
ECT2008, Athens, 9/4/2008, Miriam Mehl, Bernhard Gatzhammer
FSIce – Coupling Strategies
Explicit (weak)
Implicit (strong)
Subcycling
Pre-computations
Many others possible:
just extend supervisor
ECT2008, Athens, 9/4/2008, Miriam Mehl, Bernhard Gatzhammer
Numerical Results – Implicit vs. Explicit
ECT2008, Athens, 9/4/2008, Miriam Mehl, Bernhard Gatzhammer
Numerical Results
ECT2008, Athens, 9/4/2008, Miriam Mehl, Bernhard Gatzhammer
Numerical Results – Data Mapping
Cart.res.
# triang.
runtime
256
8,000
2.6 sec
512
8,000 10.1 sec
512
32,000 14.3 sec
512
128,000 17.4 sec
neighbourhood search measured on a Pentium
M 1.6 GHz processor with 2048 kB cache
ECT2008, Athens, 9/4/2008, Miriam Mehl, Bernhard Gatzhammer
Conclusion
enhancements of FSI*ce
modular structure extendability, flexibility
integration of various components
first examples computed
future: more solvers, more coupling strategies
ECT2008, Athens, 9/4/2008, Miriam Mehl, Bernhard Gatzhammer
Thank you for your attention!
ECT2008, Athens, 9/4/2008, Miriam Mehl, Bernhard Gatzhammer
FSIce – Application Programing
Interface
Future goal:
Multigrid
Multilevel coupling mesh
Multigrid scheme controlled from
coupling supervisor
Fluid
Solver
Allows V, W, ... schemes without
modifying solvers
ECT2008, Athens, 9/4/2008, Miriam Mehl, Bernhard Gatzhammer