1st Phase of Github FSI repository updating has begun!!

With my time as a garduate student coming to a close I am finally able to take a breath and reflect on my experience and the skills that I have acquired. In particular, I am left thinking about the process of learning itself and specifically about my indebtedness to that vast community of benevolent thinkers that willingly share their ideas/projects, resources, and wisdon via online forum/medium. As such, with the motivation to play my part (now having some time to do so :sweat_smile:), I am currently in the process of compiling, cleaning, organizing, and packaging various useful resources that I have collected, digest and reworked, and independently developed over the last few years. This really should have been happening in real time but alas grad school (- right!? :grin:)


High-Fidelity (2D & 3D) FSI Solvers

To begin this unassumingly gargantuan task; I will start with the computational fluid-structure interaction tools that I have collected and personally developed. These resources fall into one of the following 4 catagories that have each been given their own Github reposirtory;

  1. Monolithic Fluid Structure Interaction solvers
  2. Single Domain (CFD & CSM) solvers
  3. Partitioned (strongly coupled) Fluid Structure Interaction solvers
  4. Parallelized Partitioned FSI solvers

that operate as standalone toolkits for the interested user to independently download and freely use.

These codes were very recently uploaded (March 20th, 2024) from my system and have yet to be vetted for general distribution/use. I am currently working through commenting, cleaning and re-testing these solver which were put together approximately 1 year ago. So please allow me the next few weeks to clean up the codes so as to make them more instructive, easy to use, and bug-free. If the reader is still compelled to experiment, however, I encourgae them to do so BUT I strongly recommend that they carefully review the instructions and disclaimers provided in each of the repositories shared.


(redbKIT-based) Solvers Disclaimer and Rationale

Given that the majority of my solvers are largely derived from the monolithic FSI toolkit redbKIT it is only right that I acknowledge their incredible work without which my research could not have happened. The redbKIT-based CFD, CSM and monolithic FSI solvers found in the shared repositories above are bare-bones deconstructions (/simplifications) of the original toolkit. At face value they are exclusively the intellectual property of the original creators with a few original lines of functional code included for initialization, data output, and operational purposes.

redbKIT is a MATLAB library for finite element simulation and reduced-order modeling of Partial Differential Equations developed at EPFL - Chair of Modeling and Scientific Computing). In particular, it includes straightforward implementations of many of the algorithms presented in the companion book:

[QMN16] A. Quarteroni, A. Manzoni, F. Negri. Reduced Basis Methods for Partial Differential Equations. An Introduction, Springer, 2016.

redbKIT was developed and is currently maintained by Federico Negri who also gives credit in kind to the work of Paola Gervasio (Università degli Studi di Brescia) who he acknowledges for granting use of parts of the finite element code MLife.

For absolute clarity, the redbKIT toolkit by itself is an AMAZING resource for (young) academics seeking an education on the finite element method and reduced-order modelling. As such, I strongly recommend the reader fork that repository and work through redbKIT’s numerous well crafted example problems.

Having said that, however, as is true for (almost) all well developed / robust software packages used to tackle complex problems in computational physics; its sophistication tends to be its own undoing. Especially for those novice students beginning their journey in the simulation sciences or those young numerical methods researchers who are focusing on a niche element of the problem/framework/technique and just want the machinery around the issue to be (first) working and be (second) easily digestible for peace of mind, debugging and development etc. purposes. As such, the codes that I have provided seek to shallow the learning curve and expedite the toolkit’s adoption/integration.

To reiterate; while the redbKIT toolkit should be the primary reference point for the interested reader, it is my belief that the condensed solvers (as presented here in their simplified intermediary forms) hold their own unique value to the wider student/research community. In particular, for the purposes of streamlined learning, efficient tool adoption, and novel technique development. This was most certainly my case where the ability to quickly validate (/experiment with) the domain solvers themselves - when treated independently of each other - made integrating them into a partitioned fluid-structure interaction framework significantly easier.

Watch This Space

There is considerably more resources//tools that I have stored on my various devices that I plan to also share with the wider research community in the coming months. This will be a somewhat slow processs, unfortunately, given the diversity and complexity of the problems pursued thoughout my studies, and the necessity that each resource be complete, digestible, and immediately useful before being shared. I strongly encourage the reader, however, to return to this space peridoically for potential updates in the fields of;

  1. Reduced Order Physics Modelling (PINNs)
  2. Version Control and Collaborative Simulation Tool Use
  3. Digital Twins
  4. Naval Architecture and Marine Engineering Software