Artificial compressibliity

Dear All members,
My research is about filling a balloon with an in compressible fluid and I am going to use preCICE for FSI simulation. Some researchers have used the artificial compressible method. In this method, a source term is added to the continuity equation. Is there any other method to simulate filling a balloon without adding any term to the Fluid solver like the artificial compressibliity? which coupling method should I use?

Hi @nikrouz

I guess with artificial compressibility you refer to methods such as this one, correct?
Typically, the interface quasi-Newton methods in preCICE do an equally good job. You also find a comparison of IAC and IBQN-LS in this paper. The variants implemented in preCICE (e.g. IQN-ILS with QR filters) are an enhancement of IBQN-LS taking into account the experiences made by various people in the last 10 years.

The bigger challenge for your application will be the treatment of the moving boundary. But you already mentioned that your fluid solver has an Immersed Boundary Method implemented. So, sounds doable for me, but it remains a very challenging application depending on the original state of the balloon.


Hello again,
Thank you for your response,
You are right. For the first part, I want to use the conforming mesh and after that I will use the immersed boundary code.
At this level, I am going to model the balloon inflation problem with a conforming-mesh method. As you said, by using IQN-ILS with QR filter, it is not necessary to change continuity equation of flow solver to model a fully encapsulated domain with solid. Am I right?
Thank you for the point, I will try to consider it in my simulation.

Yes, but of course an artificial compressibility term could make the coupling even more efficient. And this needs testing. I have never used IQN-ILS on such large deformations, I don’t want to promise too much :smile:

Hello again!
I did it!
and It was not necessary to use artificial compressibility as you said!
The results are preliminary and I should conduct mesh dependency and other essential steps.
Thank you!

Great! :tada:
Thanks for reporting back.

In case your mesh dependency study is successful, please consider sharing a picture and a few words in form of a testimonial. :grin:

Hello again, I faced a problem again :))

The problem is that, there is no outflow boundary condition in the Fluid Domain.
As far as I understood, in the balloon inflation problem, the reference pressure values are estimated by structure stress distribution. The structure considers pressure loads as absolute values while the pimpleFoam works with pressure evolution in its Domain. For the balloon inflation problem with in-compressible Fluid, I need to change something in pressure boundary condition at the interface.
The problem is that what I get from Solid Domain is displacement and velocity of the interface while here I also need to use the pressure values from the Solid Domain at the interface which is not defined for standard pressure boundary conditions.Am I Right?
Is there any way to call or refer to pressure values calculated by Solid solver as pressure boundaries for the Fluid Domain in each time step?
Thank you!

The error I faced from the Fluid.log is:
Continuity error cannot be removed by adjusting the outflow.
Please check the velocity boundary conditions and/or run potentialFoam to initialise the outflow.
Total flux : 3.9729196912315e-08
Specified mass inflow : 3.28601e-07
Specified mass outflow : 0
Adjustable mass outflow : 0

I set one of the cells on the interface as Pref Cell in FvSolution to solve it but I do not know what to do now :))
Thank you!

For incompressible fluids and moving boundaries you always need an outflow condition somewhere. Otherwise, you get problems with the mass conservation – the fluid needs to go somewhere.

What you are asking is: instead of a Dirichlet-Neumann coupling (fluid solver uses a Dirichlet BC, solid solver uses a Neumann BC), can you also use a Neumann-Dirichlet coupling (fluid solvers uses a Neumann BC, solid solver uses a Dirichlet BC)? Correct?

Yes, from preCICE perspective you can. But the question is whether the adapters can handle this. In theory I would say “yes”, but this is sth that the OpenFOAM adapter, for example, does not yet support, AFAIK. So should be possible, but needs to be done.

Easier solution would probably be to introduce an outflow somewhere else in your fluid domain.