Introduction

Background & Motivation

Multi-physics coupling has become one of the popular topics. People try to put different models together and simulate the behaviors in a coupled fashion. With the popularity of partitioned approach, i.e. solve different domains with different solvers and couple the interface conditions as those solvers boundary conditions, a robust and accurate interface solution remapping operator is needed. The solution transfer problem on its own is not an easy task, since it involves the following research aspects:

  1. numerical method, i.e. consistent, conservative, high-order convergence.
  2. geometry and data structure, i.e. efficient and robust treatments of mesh association of two (potentially more) general surfaces that come from different discretization methods (FEM, FVM, FDM, etc.) thus having different resolutions.
  3. parallel rendezvous & HPC, i.e. handling migrating meshes that have different parallel partitions.

Data Transfer Kit-2.0 (DTK2) is a package that is developed at the Oak Ridge National Laboratory. DTK2 provides parallel solution transfer services with meshless (a.k.a. mesh-free) methods, which are relatively easy to implement and computational efficient. Particularly, we are interested in its modified moving least square [1] method that is an improvement of traditional MLS fitting in terms of robustness on featured geometries.

[1]Slattery, S. Hamilton, T. Evans, “A Modified Moving Least Square Algorithm for Solution Transfer on a Spacer Grid Surface”, ANS MC2015 - Joint International Conference on Mathematics and Computation (M&C), Supercomputing in Nuclear Applications (SNA) and the Monte Carlo (MC) Method, Nashville, Tennessee · April 19–23, 2015, on CD-ROM, American Nuclear Society, LaGrange Park, IL (2015).

Mesh-Oriented datABase (MOAB) is an array-based general purpose mesh library with MPI support. Array-based mesh data structure is more efficient in both computational cost and memory usage compared to traditional pointer-based data structures. MOAB has been adapted in DTK2, so we choose to use it as our mesh database for this work.

In multi-physics coupling, a flexible software framework is must. The fact is: the physics solvers may be implemented in different programming languages or shipped as executable binaries (typically commercial codes), this makes using static languages difficult. Python, on the other hand, can easily glue different languages together and drive executable binaries smoothly. Its built-in reference counting, garbage collection, and pass-by-reference make it as one of the best choices for developing multi-physics coupling frameworks. In addition, MPI is well supported through the mpi4py package. This motivates us to develop a Python interface for DTK2!

License

This package is distributed under MIT License. For detailed information, please take a look at the LICENSE file.

About Me

I am a Ph.D. candidate who work with Dr. Jim Jiao on high-order numerical methods. This work is for testing our software framework of multi-physics coupling in general, conjugate heat transfer (CHT) in particular.

Note

Please be aware that I may not have time to maintain this package.