I apologize in advance if the question has been posted before or if it sounds a bit naive.

I am writing my own code in MATLAB for a staggered finite element solver for fluid-structure interaction problems with small displacements. So far, I have benchmarked the fluid and solid solvers separately and both are working fine.

At this point I am stuck in how to couple the forces between the fluid and the solid domains. I know that the correct approach is to balance the stresses on the interface from both the solid and the fluid domains as follows:

\begin{equation} \boldsymbol{\sigma}_s \cdot \mathbf{n}_s = \boldsymbol{\sigma}_f \cdot \mathbf{n}_f \end{equation}

But so far I am unable to translate that condition into the discretized weak form and later into code.

To benchmark my force coupling, I am using two set of values from COMSOL Multiphysics (same problem setup): i. Compare the total reaction on the solid (in $x$ and $y$ directions). ii. Compare the maximum displacement after solving the solid system.

To find an easier solution for the coupling, I tried the following two approaches:

1. After solving the fluid system for the fluid state variables, I used the fluid finite element system of equations directly to calculate the forces (see below, Reddy and Gartling 2010 P166). I picked the negative of those forces that correspond to the solid interface nodes.

enter image description here

I understand that the fluid uses Eulerian description while the solid uses the Lagrangian. But since I am assuming infinitesimal deformations, the stress tensors should not be different.

This approach gives less than 2% error in total reactions but between 5%-10% in maximum displacement.

2. Using the traction boundary condition formulation on the fluid to calculate the forces on the fluid-structure interface (see below). I picked the negative of these values that correspond to the interface nodes, but I am still getting wrong total reactions and maximum displacement.

enter image description here

In formulating this condition, I followed Reddy and Gartling 2010 P184.

My questions are:

a. Are approaches 1 and 2 theoretically correct to achieve the dynamic coupling between the fluid and solid domains?

b. Are there any resources on how to translate the stress balance condition at the interface into the discretized weak form and/or into code?

  • $\begingroup$ It may help to see your attempts at translating these equations to code. $\endgroup$
    – Tyberius
    Nov 3 '21 at 19:29
  • $\begingroup$ Is your question about how to formulate the interface conditions, or how to translate these conditions into actual code? $\endgroup$ Nov 3 '21 at 19:51
  • $\begingroup$ Thank you @Tyberius, I edited the question to clarify the equations. The first approach I believe is straight forward in code. The second approach is shown in detail in the equation which is translated directly into code with numerical integration over the edge of interest. Is that helpful? $\endgroup$ Nov 3 '21 at 20:33
  • $\begingroup$ Thank you @WolfgangBangerth, I edited the question to clarify my questions. I am interested in figuring out if the two approaches are theoretically correct or not. Also if there are any resources on coding the stress balance condition, that would be great. $\endgroup$ Nov 3 '21 at 20:34
  • 1
    $\begingroup$ What does the literature say? For example, what do the papers (and book?) by Thomas Wick say one should use? Wick has also made one code that implements fluid-structure available with deal.II available at journals.ub.uni-heidelberg.de/index.php/ans/article/view/10305 $\endgroup$ Nov 3 '21 at 21:39

You could alternatively start off with a matching discretization at the fluid-solid interface and a monolithic scheme. While writing down the variational formulation of your coupled fluid-solid problem, the fluid and stress tractions can be then made to automatically cancel each other. This is possible by an appropriate choice of the test functions for the fluid and solid momentum balance equations. see the Chapter 5 of this detailed book or paper for more details.

  • $\begingroup$ Thank you for the resources. I am almost there, I am currently just doing the coding part and when validated, I will post a detailed answer here. $\endgroup$ Dec 14 '21 at 13:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.