CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Running, Solving & CFD

Why there are two differents libraries for rigid body motions in OpenFOAM?

Register Blogs Community New Posts Updated Threads Search

Like Tree1Likes
  • 1 Post By Fauster

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   March 10, 2019, 16:35
Default Why there are two differents libraries for rigid body motions in OpenFOAM?
  #1
Member
 
Paul Palladium
Join Date: Jan 2016
Posts: 93
Rep Power: 10
Fauster is on a distinguished road
Dear Foamer,

I have two questions about the dynamic motions libraries of OpenFOAM. As far I understand there is two different libraries for calculating the movement of a rigid body.

Quote:
src/rigidBodyDynamic
and
Quote:
src/sixDoFRigidBodyMotion
For example in the DTChull tutorial we have two different kind of dictionary for one or the other.
What are the reason for having this two libraries ? What are the strengths and weaknesses for each one ? In which cases it's advisable to use one or the other ?

Another interesting point about restraints implementation :
In rigidBodyDynamic if you use a linearSpring it's seems that the spring generate a force and a torque on the body according to the source code :

Quote:
// Force and moment on the master body including optional damping
vector force
(
(-stiffness_*(magR - restLength_) - damping_*(r & v))*r
);
Quote:
vector moment(attachmentPt ^ force);


But in sixDoFRigidBodyMotion the restraintMoment is null.

Quote:
restraintForce = -stiffness_*(magR - restLength_)*r - damping_*(r & v)*r;
restraintMoment = Zero;


Is this difference due to the way the six dof motion is solved ? I guess I need to carried out a test case to be sure that the results are equivalent between both libraries but If someone has alrady done the verification it would be amazing !


Thanks for your thought.
Paul
Fauster is offline   Reply With Quote

Old   March 17, 2019, 05:54
Default
  #2
Senior Member
 
Join Date: Oct 2017
Posts: 131
Rep Power: 9
Krapf is on a distinguished road
Hi Fauster,

the difference between the two libraries is explained here: Flow induced 3D motion OpenFoam

Kind regards,
Krapf
Krapf is offline   Reply With Quote

Old   March 18, 2019, 06:03
Default
  #3
Member
 
Paul Palladium
Join Date: Jan 2016
Posts: 93
Rep Power: 10
Fauster is on a distinguished road
Quote:
Originally Posted by Krapf View Post
Hi Fauster,

the difference between the two libraries is explained here: Flow induced 3D motion OpenFoam

Kind regards,
Krapf
Thanks for you answer.

For me there are also important differences. The way you define the constraints is very different between both libraries. From my point of view the restraints definition of rigidBodyDynamic.so is closer to commercial CFD packages.

The sixDoFRigidBodyMotion.so is based on this paper : http://link.aip.org/link/?JCP/107/5840/1

For the rigidBodyDynamic.so I didn't find the reference.

Since my last post I find out why there is no moment returned by the restraints in the sixDoFRigidBodyMotion.so library.

The explanation can be found in the sixDoFRigidBodyMotion.C file (inside function applyRestraints)

Quote:
// Restraint position
point rP = vector::zero;

// Restraint force
vector rF = vector::zero;

// Restraint moment
vector rM = vector::zero;

// Accumulate the restraints
restraints_[rI].restrain(*this, rP, rF, rM);

// Update the acceleration
a() += rF/mass_;

// Moments are returned in global axes, transforming to
// body local to add to torque.
tau() += Q().T() & (rM + ((rP - centreOfRotation()) ^ rF)); <-- the moment generated by the force is calculated here
Paul
Krapf likes this.
Fauster is offline   Reply With Quote

Old   March 18, 2019, 12:31
Default
  #4
Senior Member
 
Join Date: Oct 2017
Posts: 131
Rep Power: 9
Krapf is on a distinguished road
"Rigid body dynamics algorithms" from Roy Featherstone is the source for rigidBodyDynamic: https://github.com/OpenFOAM/OpenFOAM...873570d1e7c8dc

Kind regards,
Krapf
Krapf is offline   Reply With Quote

Old   January 21, 2020, 11:24
Default
  #5
New Member
 
David
Join Date: Mar 2012
Posts: 17
Rep Power: 14
kiski is on a distinguished road
Quote:
Originally Posted by Fauster View Post
Thanks for you answer.

The sixDoFRigidBodyMotion.so is based on this paper : http://link.aip.org/link/?JCP/107/5840/1

Paul

Could you give the full citation please? the link is broken
kiski is offline   Reply With Quote

Old   September 7, 2020, 17:52
Default
  #6
Member
 
Johan Roenby
Join Date: May 2011
Location: Denmark
Posts: 93
Rep Power: 21
roenby will become famous soon enough
Regarding the dead link to the reference above (I know, but better late than never):
I believe the paper referred to is this one: https://doi.org/10.1063/1.474310
As far as I can see, it does not document how the sixDoFRigidBodyMotion library works - only how the symplectic body motion integrator works.
roenby is offline   Reply With Quote

Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Compiling new liquids libraries in OpenFOAM 6.0 version ruamojica OpenFOAM Programming & Development 1 September 26, 2018 21:06
Body fitted coordinates in OpenFOAM hfsf OpenFOAM Programming & Development 0 September 12, 2013 11:57
New OpenFOAM Forum Structure jola OpenFOAM 2 October 19, 2011 07:55
[ANSYS Meshing] Surface Body Named Selections for OpenFoam slowtype ANSYS Meshing & Geometry 2 April 20, 2011 11:35
Modified OpenFOAM Forum Structure and New Mailing-List pete Site News & Announcements 0 June 29, 2009 06:56


All times are GMT -4. The time now is 10:38.