CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (https://www.cfd-online.com/Forums/openfoam-solving/)
-   -   Pivoting around a fixed point : 1-DOF free body (https://www.cfd-online.com/Forums/openfoam-solving/132984-pivoting-around-fixed-point-1-dof-free-body.html)

Mojtaba.a April 8, 2014 17:39

Pivoting around a fixed point : 1-DOF free body
 
1 Attachment(s)
Hello all,

I am trying to simulate flow around a simple hinged splitter in 2D.
Problem specifications are easy. please have a look at the below picture:

http://www.cfd-online.com/Forums/att...1&d=1396993121

The shown splitter is fixed in the point shown in the above picture. It can freely rotate around it. The flow is entering the domain uniformly. And I want to simulate the fluid flow and its impact on the movement of the splitter.

I am using wingMotion tutorial as my base case. My dynamicMeshDict file looks like this:

Quote:

/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.3.0 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object dynamicMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dynamicFvMesh dynamicMotionSolverFvMesh;

motionSolverLibs ("libsixDoFRigidBodyMotion.so");

solver sixDoFRigidBodyMotion;

sixDoFRigidBodyMotionCoeffs
{
patches (split);
innerDistance 1e-5;
outerDistance 2;

mass 1;
centreOfMass (1.02 0 0.125);
momentOfInertia (2.55 6.46 3.91);

orientation
(
1 0 0
0 1 0
0 0 1
);

velocity (0 0 0);
acceleration (0 0 0);
angularMomentum (0 0 0);
torque (0 0 0);
rhoName rhoInf;
rhoInf 1;
// g (0 -9.81 0);
report on;

constraints
{
fixedPoint
{
sixDoFRigidBodyMotionConstraint point;
point (1.02 0 0.125);
}

fixedAxis
{
sixDoFRigidBodyMotionConstraint axis;
axis ( 0 0 1 );
}
}
}
But here is the problem. I don't know why splitter would not rotate around the fixed point but around the center of mass ! This is strange, because when I suppress the fixed point constraint, splitter starts to move in the direction of the flow.

When I (wrongly) change the location of the center of mass to the point I want the splitter to rotate around, everything is fine.

Is there anything I am missing ?!

I would be really grateful if you can help me on this.
Thank you,
Mojtaba.

minger April 10, 2014 16:41

How do you know that things are not working? It seems that this flow is stable -- I presume the steady-state solution would have the splitter in the initial position?

Mojtaba.a April 11, 2014 08:30

Quote:

Originally Posted by minger (Post 485320)
How do you know that things are not working? It seems that this flow is stable -- I presume the steady-state solution would have the splitter in the initial position?

Well yes, In steady state solution, splitter is in the initial position. But the in the second run when I use pimpleDyMFoam, It starts rotating around the center of mass as it can be seen through post processing.

As I mentioned I have intentionally set the point I want the splitter to rotate around, to be the center of mass, and it starts rotating just fine; but I have some serious problems in convergence. Angular velocity blows up suddenly.

I don't know if changing the center of mass to the point of rotation causes this bad behavior, thus I am just willing to solve this problem first.

minger April 11, 2014 18:32

I'm not sure I fully understand the problem. You can run the simulation steady just fine. However, you run unsteady with the dynamic mesh and it blows up.

In the dictionary you posted above, the center of mass is the same as the center of rotation. This I'm guessing blows up.

What happens when the center of rotation is "correct"? Does it blow up? Does it just not do what you expect?

For your case that's working but blowing up, try enabling maxCo -- because that particular situation is very unstable, as soon as it starts to rotate it should accelerate quickly.

Nik_984 May 2, 2014 13:00

Hi Mojtaba,

Have you maybe solved the problem, I am dealing with the similar case where my object is not rotating around point that I have defined.
BTW I just NOTICED that your fixedPoint is SAME as the centre of mass(in the example you are showing in your post), maybe that's your problem.

Mojtaba.a May 2, 2014 13:41

Quote:

Originally Posted by minger (Post 485573)
I'm not sure I fully understand the problem. You can run the simulation steady just fine. However, you run unsteady with the dynamic mesh and it blows up.

In the dictionary you posted above, the center of mass is the same as the center of rotation. This I'm guessing blows up.

What happens when the center of rotation is "correct"? Does it blow up? Does it just not do what you expect?

For your case that's working but blowing up, try enabling maxCo -- because that particular situation is very unstable, as soon as it starts to rotate it should accelerate quickly.

Quote:

Originally Posted by Nik_984 (Post 489518)
Hi Mojtaba,

Have you maybe solved the problem, I am dealing with the similar case where my object is not rotating around point that I have defined.
BTW I just NOTICED that your fixedPoint is SAME as the centre of mass(in the example you are showing in your post), maybe that's your problem.

Dear Nikola and minger,
Unfortunately I haven't been able to solve the problem yet.
Yes I am aware of that. well even by changing the location of the fixed point or center of mass, solid just rotates around the center of mass and not the fixed point.

Nik_984 May 3, 2014 04:05

I have tried with the same aproach(center of mass coordinates = point of rotation), and I got rotation around that point, I will take a look at source code and try to find what's going on with it, if I have any progress, I will let you know.

maHein June 25, 2014 09:11

It looks like this issue has been addressed in the commit 3207f8d0c7d83396cebf1958fb38de732c8b0307 :-)

ste_ge July 10, 2014 10:54

Hi!

I had the same problem. A few days ago I noticed (in the latest version of OF 2.3.x, so you could have to update the sources) the existence of the keyword "centreOfRotation".

You can try to use something like:

Code:

constraints
{

  fixedPoint
  {
      sixDoFRigidBodyMotionConstraint point;
      centreOfRotation (0 0 0);
  }

}

I still have not played deeply with this feature but I think it can solve the problem.

Cheers


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