CFD Online Discussion Forums

CFD Online Discussion Forums (
-   FLUENT (
-   -   6dof model - floating body (

flinde November 18, 2013 14:41

6dof model - floating body
I would like to use Fluent to simulate the movement of a floating body. I am currently experimenting with dynamic mesh and a "simple" model (2D): I use a rigid rectangular body of 1.54*0.08m in a box of 7.7*0.34m. For the boundary conditions I use the same parameters as Fluent tutorial "Solving a 2D Box Falling into Water". The only difference are the dimensions and the fact that my body is already immerse (by 0.04m) in the water (water height is 0.18m). I meshed the whole domain with trias and used the following UDF to parameter the 6dof model:

#include "udf.h"

DEFINE_SDOF_PROPERTIES(sdof_properties, prop, dt, time, dtime)
prop[SDOF_MASS] = 61.49;

prop[SDOF_IXX] = 129.6296;
prop[SDOF_IYY] = 111.1111;
prop[SDOF_IZZ] = 129.6296;


printf ("\n updated 6DOF properties");

Before using dynamic mesh I started the calculation with the body fixed in order to get hydrostatic pressure. Then I allowed the body to move but after roughly 5 time steps, I get the error:

"Warning: non-positive volumes exist.

Error: Update-Dynamic-Mesh failed. Negative cell volume detected.
Error Object: #f"

And when i display the mesh, I can see that the body has moved out of the box... If I stop the calculation after 2 or 3 time steps and display the pressure, I can see that I get huge values. If I calculate the lift force on the body, the force is also bigger than what it should be. If i look at the lift force history, when the body is fixed, I get 610.13984 N but after I allow the body to move it is oscillating with amplitude such as -2468606 N, 1.2394356e+08 N, ... until I get the error message.

From what could this instability come from? I really don't understand why it does something like that... Could someone help me solve this problem?


flinde December 9, 2013 05:40

Could someone help me?

Albino December 9, 2013 05:54


I'm kind of new to fluent and deal with the same issue myself at times. Here are a few things you can try (have given me some success):

1. Lower your timestep. Try 0.001 or 0.0001 if you haven't already.

2. Enable remeshing under dynamic mesh. Then press on "use defaults" (make sure local cell is enabled). This is under the remeshing tab.

3. Use relaxation factors. In the tutorial you mentioned, they used relaxation for the body forces (if i'm not misstaking). Try to lower the values for, say, pressure etc and see if that helps. Dont go overboard with lowering these as the calculations will/can take alot longer.

Again, I'm new to this and hope someone more experienced can help you.

flinde December 11, 2013 15:33

First, thanks for your answer.
I actually already tried all the things you suggested me and it did not work. I also tried to use the udf allowing to take water compressibility into account (given in the "Solving a 2D Box Falling into Water" tutorial) and I obtained the stability. However, this is stable only for small time steps (1e-5 s) and if I try to increase the time step, it is unstable again.

I also tried to understand from what this instability could come from. I took the fluent tutorial case but instead of letting the box fall, I put water up to the middle height of the box and then I run the 6dof model without water compressibility UDF for a 1e-3s time step. In this case the calculations worked. However, I modified the case by taking a box twice larger (did not change any other geometrical parameters) and kept the same numerical parameters, but this time the calculation was not stable. It would seem that decreasing the distance between the moving body and the box wall causes this instability. What I don't understand is how increasing the moving body size can create an instability on the pressure calculation.

Another thing that I also tried with this case is using a CGmotion udf and giving the moving body a constant speed. And with a constant speed, there no pressure instability. Well actually you can see that after the first time step the pressure field is wrong but after a few more time steps, the pressure field is corrected. However, if I use the same udf with a varying speed, each time the velocity changes, the pressure field becomes wrong... What could possibly cause that?

Thanks again for your help.

youiithe March 26, 2015 22:49

Hi,I got exactly the same problem of instability of pressure
In my simulation case, I set a solid sphere (lighter) immersed in liquid, which is supposed to float. The pressure is true when the mesh motion is turned down while the opposite is a mess. I think I got the same question as you. Have you got an solution to this?

hamidcfd May 4, 2016 12:19

2d-falling-box udf
Hi everyone

I confused about falling-box tutorial udf.

DEFINE_SDOF_PROPERTIES(test_box, prop, dt, time, dtime)
prop[SDOF_MASS] = 666.66;
prop[SDOF_IXX] = 129.6296;
prop[SDOF_IYY] = 111.1111;
prop[SDOF_IZZ] = 129.6296;

printf ("\n2d_test_box: Updated 6DOF properties");

as i know moments of inertia of cubic is ((m.d^2)/6) about all axis. since d=1 in this case then moments of inertia is equal 111.111.
then why IZZ= IXX = 129.6296.:confused:

is there anyone can help me..........
thanks a lot

All times are GMT -4. The time now is 05:23.