FSI weird data transfer and results using Quasi-Newton method

Ahmed_AissaAhmed_Aissa Member Posts: 3

Dear all,

I've been doing fluid-structure interaction simulations and I probably went through all the available documentation and tutorials offered by Ansys.

I am modeling the opening/closure of a pilot-valve. It contains three fluid domains: source (pressure inlet), drain (pressure outlet), and a pilot region which damps out the hyperelastic membrane deformation.

The fluid/solid density ratio is roughly =1, where the fluid is incompressible water and the membrane is made from a hyperelastic rubber material using the Ne-Hookean material model.

I modeled a small gap to mimic the close state of the valve. When I apply the contact detection method (contact marks with stabilization) the fluid solver diverges and crashes. So I chose a small gap size to be close to the physics.

When I tried to increase the solid density by two orders of magnitude, the solution goes smooth. However, when I switch back to the real solid density (=1100 kg/m3), I observe a force transfer increasing dramatically at each coupling iteration within a time-step and tends to infinity. I don't know where this issue comes from since I expect the IQN-LS to be able to handle the interface compatibility condition.

The figure I am attaching represents the pressure distribution within the fluid domain (See the maximum pressure).

I want to use the Quasi-newton method with an incompressible fluid.

A compressible flow with solution stabilization (coefficient-based) works fine but it is not within the scope of my research.

PS: Mesh does not have an influence on the behavior.

Thank you for your help!

Answers

  • RobRob UKPosts: 9,723Forum Coordinator
  • SteveSteve Posts: 170Forum Coordinator

    This type of problem (similar fluid/solid densities) is known to be difficult to solve. You're on the right track, but this will likely require some fine tuning. A few suggestions.

    • Set up your liquid as compressible where the density is a function of absolute pressure. Using an incompressible liquid will mean that any pressure changes will give too much of a shock to the system.
    • If you're not already doing so, set up your inlet boundary condition as a pressure inlet that increases from zero to the operating pressure over several timesteps. This will provide a more realistic representation of the real world case and will prevent from a high pressure being applied all of a sudden.
    • How many iterations per timestep are you using? You may need to increase this.
    • Try ramping the data transfers.

    Steve

  • Ahmed_AissaAhmed_Aissa Posts: 17Member

    Hi Steve,

    Thank you for your reply.

    Let me explain the model first :

    The valve is closed by a mean of a shape memory alloy spring. I did not model it to reduce complexity. However, the valve should be pressurized initially, which means that the membrane should receive the full load once before opening.

    The membrane receives two different sets of forces at each interface, one intends to deform it, the other should damp out the deformation. This is why it is called a proportional valve.

    Let us assume that the pressure difference is about 2 bars. I want to extract the relative mass-flow rate evolution through time. However, in this particular model, the eventual time-scale was not straightforward. So I simply took into account the mesh velocity and CFL number to choose the time-step size.

    What I found weird in this model, is the convergence of all participants! I think Fluent has solved the velocity correctly. However, for a pressure-based coupled solver, I did not understand why these pressure spikes.

    I don't think this problem stands for the incompressibility dilemma situation, even though the gap size is relatively small. In fact, I tried to apply an external force, FSI system coupling transfers only the incremental displacement. Same observation!

    I was thinking about the numerical time-integration scheme. What do you think about this? In fact, I went through the transient solver, added a stiffness damping coefficient (random value of 0.15), switched to the Newmark time-integration scheme, and set Gamma to be equal to 1. The simulation was running with the same time-step size and the fluent results looked reasonable. Obviously, the transferred displacements are not the same. However, this may be a good starting point.

    Going back to your suggestions:

    This type of problem (similar fluid/solid densities) is known to be difficult to solve. You're on the right track, but this will likely require some fine tuning. A few suggestions.

    • Set up your liquid as compressible where the density is a function of absolute pressure. Using an incompressible liquid will mean that any pressure changes will give too much of a shock to the system :

    What do you mean by : density as a function of absolute pressure?

    • If you're not already doing so, set up your inlet boundary condition as a pressure inlet that increases from zero to the operating pressure over several timesteps. This will provide a more realistic representation of the real world case and will prevent from a high pressure being applied all of a sudden.
    • How many iterations per timestep are you using? You may need to increase this : I set 500 coupling iteration as a conservative value. If QN-LS converges, it will take between 70-100 coupling iterations. However, the simulation often crashes because of highly distorted elements due to the high pressure spikes.
    • Try ramping the data transfers : Can I combine QN-LS with ramping? From the documentation, it is not recommended.

    One other question: An article has proposed the combination of artificial compressibility with Quasi-Newton to increase robustness. Can it be done within Ansys?

    Thank you very much!

  • SteveSteve Posts: 170Forum Coordinator

    Hi Ahmed,

    From your last message it sounds like there is maybe too much of a pressure differential applied all at once at the start of the simulation. I'm not clear on the details though, so I could be wrong. Can you add some more images showing details including: values for all fluid boundary conditions, locations of FSI interfaces, initial values for pressure, velocity and the regions where those values are set. Add enough detail that I would be able to set up the problem based on the images.

    I wouldn't worry about the time discretization scheme just yet.

    I'm not sure what you mean by artificial compressibility, do you mean a compressible liquid? Here is how to set up a compressible liquid. This needs to be done.


  • Ahmed_AissaAhmed_Aissa Posts: 17Member

    Dear Steve,

    That's correct, too much pressure is applied at the interface at the start of the simulation. But I encountered the same problem when I reduce the pressure inlet.

    Well, artificial compressibility is written in the form of :

    The term colored in red vanishes once the solution is converged, within the last coupling iteration we have :

    I believe it is very similar to the solution stabilization within the dynamic mesh toolbox. alpha and scale factors are closely related.

    I am working with 3D model, pressure inlet =2bars, supersonic/initial gauge pressure = 1atm, pressure outlet= 1 atm, operating pressure = 0, reference velocity=0 m/s. the gap width = 0.05mm

    I solve using System coupling GUI, for 10 time-steps transfer only displacement, to bring the fluid to its initial state. then activate Quasi-Newton, and let the transfer of forces.

    The material is nonlinear, SOLID285 (faster convergence compared to SOLID185) mixed-up formulation for a rubber-like almost incompressible material.

    I know.. It is a complicated model!

    I don't think I have to set the fluid as compressible (or do you think I should? ), I solved the model using solution stabilization with constant density, here is how the membrane deformation looks like :


    Thanks,

  • SteveSteve Posts: 170Forum Coordinator
    edited May 20

    @Ahmed_Aissa , as stated in my earlier messages, you need to use a compressible liquid.

  • Ahmed_AissaAhmed_Aissa Posts: 17Member

    Hi Steve,

    I appreciate your help and recommendations.

    Meanwhile, I was able to solve the problem using an incompressible fluid.

    flow2 - YouTube

  • Ahmed_AissaAhmed_Aissa Posts: 17Member

    Dear Steve,


    I used the compressible fluid as you suggested and went back to my default discretization scheme settings within fluent and this did not solve the problem.

    Note that I did not use use the IQN-LS here but solution stabilization within dynamic mesh with coefficient based = 1.

    Procedure :

    I noticed in my Fluent standalone run that there are regions with negative absolute pressure , I changed the mesh to n=mesh poly-hexcore, run a steady state simulation with good quality mesh and laminar flow in order to bring the system to a stable initial state. Then linked the steady state solver with an initial fluent transient solver to account with the unsteady solution with turbulence (RNG). After that I linked the solution with another fluent transient solution to give a good initial estimate of the coupled problem (changed the water material to compressible here). As shown in the figures below.


    Once I started the coupled simulation, the continuity residuals spike with coupling iterations. I followed the best practice of setting only 3-4 fluent iterations to reduce the pressure spikes and help bring the system to stability. This did not help too.

    I increased the fluent iterations to 200 : AMG solver failure, as illustrated in the figure below.

    Before iteration n 570, Fluent solvers steady + transient , coupled simulation starts after iteration 570.


    I am essentially concerned about the root of the problem. Why is it stable when I solve Fluent standalone simulation and it is not within coupled simulation.

    I am suspecting the fluid solver here, because I observe similar behavior when I only pass displacement from the mechanical solver and SUPRESS THE FORCES TRANSFER.

    Thank you very much for your cooperation!

  • SteveSteve Posts: 170Forum Coordinator

    It still looks to me that the initial state is unrealistic. Would there ever be a real-world scenario with the initial pressure you've shown and an undeformed valve?

    About your point: I am essentially concerned about the root of the problem. Why is it stable when I solve Fluent standalone simulation and it is not within coupled simulation. Fluid/Solid Coupled simulations for thin membranes or hyperelastic materials can be numerically unstable. There isn't an issue with the fluid solver, the issue is with the 2-way coupling. This is why running with only the displacement transfer will work fine.

    Try the following:

    • ramp the pressure inlet from zero at the start of the simulation.
    • compressible liquid
    • turn Solution Stabilization in Fluent off
    • Use Quasi-Newton and increase the maximum number of coupling iterations, say to 50
    • Increase the number of Fluent iterations such that Fluent converges at the end of every coupling iteration. This is something that wasn't mentioned before. This is a requirement for Quasi-Newton since it needs to see a converged solution in order for the stabilization to work properly. When Quasi-Newton isn't used the recommendation is different (as you noted: I followed the best practice of setting only 3-4 fluent iterations to reduce the pressure spikes and help bring the system to stability.)
  • Ahmed_AissaAhmed_Aissa Posts: 17Member
    edited June 10


    Dear Steve,


    I appreciate your help.

    So I just followed your recommendation. I lowered the residuals as shown in the figure below.


    I made a simple linear function to account for pressure ramping during the start-up of the simulation.

    Compressible fluid as you recommended.

    Quasi-Newton converges within a few iterations, where both transient structural and transient Fluent converges from the first coupling-iteration.


    By postprocessing the results, I took the time-step n 44 which corresponds to the flow-time 4.4e-5sec. Pressure inlet should be = 880Pa


    I monitor the pressure at the inlet and outlet and have this :

    Where in the inlet the average static pressure is = 94 Pa and the pressure distribution is like

    Plane section view of the fluid domain, flow-time = 4.4e-5sec, P inlet = 880 Pa.

    This is the convergence problem that I get. I don't have this kind of weird behavior when I increase the solid density, say by 2 orders of magnitude.

    Similar behavior observed when I use incompressible fluid.

    As I mentioned earlier, the problem is not convergence on itself, but the results I get after convergence. I could run successfully this case when I applied Explicit relaxation within the pressure-based coupled solver of momentum and pressure. However, the factors I used must be less or equal to 10^-4 which in my opinion is not convincing. What do you think?



  • Ahmed_AissaAhmed_Aissa Posts: 17Member

    In case you're interested to see the expected results (Incompressible water + P inlet = 2bars) (Illustration of a random flow-time for convenience )


  • SteveSteve Posts: 170Forum Coordinator

    Hi Ahmed,

    Yes, under relaxation factors of 1e-4 would give unrealistic results.

    From what I can see based on the data transfer convergence plot, the solution is converging well, however something doesn't seem to be right with the inlet pressure. Can you send a screenshot of the inlet boundary condition setup window?

    Steve

  • Ahmed_AissaAhmed_Aissa Posts: 17Member

    Hi steve,

    I attached a screenshot of the boundary conditions for your consideration.

    The velocity vectors and static pressure contours are also plotted in the figure below: Where the inlet pressure is 880Pa at time t=4.4e-5sec

    Results within the third time-step are as follow : P-inlet ~ 60Pa, flow-time = 3e-6sec


    Residuals within the 3rd time-step.

Sign In or Register to comment.