CFD Online Logo CFD Online URL
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Pre-Processing

dynamicFvMesh - tabulated motion of a solid body + mesh morphing

Register Blogs Members List Search Today's Posts Mark Forums Read

Like Tree4Likes
  • 1 Post By HendrikW
  • 2 Post By HendrikW
  • 1 Post By dduque

LinkBack Thread Tools Search this Thread Display Modes
Old   August 9, 2017, 11:27
Default dynamicFvMesh - tabulated motion of a solid body + mesh morphing
New Member
Join Date: Aug 2017
Posts: 2
Rep Power: 0
HendrikW is on a distinguished road
Dear all,

This is my first post - actually in a technical forum ever - so please be a bit forgiving in terms of format.

In OpenFoam 3.0, using interDyMFoam I am trying to apply a tabulated motion (heave and pitch in a 2D simulation) to observe the wave radiation by a solid body. FYI: The motion of the body is known prior to the CFD simulation and for this simplified analysis assumed to be independent of the fluid phase. I assume that the problem can be handled without changing the mesh topology as motions are small and have a mean of 0 (the body stays close to a fix point in the domain and doesn't pitch more than say +- 20deg). Hence I am trying to make use of dynamicFvMesh.

What I've tried so far:
As a starting point I have transformed the floatingObject tutorial into a 2D case with no constrains in x and z direction. As expected, the result looks like image 1 in the attachment. So far, so good.

Now, instead of generating fluid motion and solving the 6 DoF rigid body motion, I would like to prescribe the motion, ideally in tabulated form. The closest I have come to tabulated motion is when using the solidBodyMotionFvMesh with the solidBodyMotionFunction tabulated6DoFMotion. The result is rather useless for what I try to achieve as solidBodyMotionFvMesh doesn't perform any mesh morphing, see image 2 in the attachment. I guess I somehow need a combination of those two.

I also looked at the movingCone tutorial. But the velocityComponentLaplacianCoeffs seems to be restricted to a unidirectional motion, so also not quite what I am after.

In fact, I looked at most tutorials I could find containing a dynamicMeshDict, without having a breakthrough.

Googling, I came across the displacementInterpolation motion solver and was wondering whether this could do the trick for me, but couldn't find any documentation on the required displacementInterpolationCoeffs

So bottom line: I am stuck


  1. Am I on the right track with dynamicMotionSolverFvMesh or should I further consider solidBodyMotionFvMesh?
  2. Which motion solver do you advise to use?
  3. How can I tabulate the known motion of the solid body?
  4. Is displacementInterpolationCoeffs something to look into?

Please don't hesitate to ask if the problem is not explained sufficiently.

Thanks a lot in advance for your help!

Best, Hendrik
chliu likes this.
HendrikW is offline   Reply With Quote

Old   August 27, 2017, 02:40
Senior Member
Nima Samkhaniani
Join Date: Sep 2009
Location: Tehran, Iran
Posts: 1,266
Blog Entries: 1
Rep Power: 24
nimasam is on a distinguished road
As your motion is prescribed, i guess you can use laplacianVelocity or laplacianDisplacement motion, then add your velocity or displacement motion profile at boundary using groovyBC.
My Personal Website (
Telegram channel (
nimasam is offline   Reply With Quote

Old   October 30, 2017, 05:32
New Member
Join Date: Aug 2017
Posts: 2
Rep Power: 0
HendrikW is on a distinguished road
Originally Posted by nimasam View Post
As your motion is prescribed, i guess you can use laplacianVelocity or laplacianDisplacement motion, then add your velocity or displacement motion profile at boundary using groovyBC.
Thanks for your reply. Unfortunately it took me a while to see it (need to have a look at my notification settings)..

The laplacianDisplacement worked well for me and I could just define the tabulated displacement in boundaryField in pointDisplacement:

        type solidBodyMotionDisplacement;
        solidBodyMotionFunction tabulated6DoFMotion;
              CofG            (0 0 0);
             timeDataFileName "$FOAM_CASE/constant/tables/motionData.dat";
So no groovyBC needed.

Now I was wondering if I could define say a circle around the floatingObject and prescribe 0 as pointDisplacement BC, so that the mesh does only deform inside this circle but not in the rest of the domain. This leaves me with the problem of how to define a patch where I prescribe a BC for only one of the fields, while the others (U, alpha.water, etc.) are calculated. Is this possible?

I guess I will also try to dive into the sixDoFRigidBodyMotion code to get a better understanding of how they handle the mesh deformation.

Thanks again for your help! It allowed me to produce some initial results!

amgh and Roozbeh_Sa like this.
HendrikW is offline   Reply With Quote

Old   December 3, 2019, 02:05
New Member
Daniel Duque
Join Date: Jan 2011
Location: ETSIN, Madrid
Posts: 28
Rep Power: 15
dduque is on a distinguished road

I am currently working in something similar. I have also tried to modify the floatingObject tutorial in order to set a prescribed motion.

However, even if the mesh does distort in a way that seems satisfying, the resulting fluid motion is not convincing at all. I am attaching the case, but the main issue is that the fluid velocity does not seem to "stick" to the moving box. As if there were no viscosity. Very noticeable in the free surface, which hardly moves at all, when one would expect some wave generation.

This was tested in OF 7.0. I am currently also trying the overset method included in the OpenFoam-v18 and -v19 series.
Attached Files
File Type: gz floatingObject.tar.gz (93.1 KB, 97 views)
amgh likes this.

Last edited by dduque; December 3, 2019 at 02:06. Reason: attachment
dduque is offline   Reply With Quote


dynamic mesh, solid body, tabulated motion

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

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
decomposePar problem: Cell 0contains face labels out of range vaina74 OpenFOAM Pre-Processing 37 July 20, 2020 05:38
[Workbench] how to define fluid volume even if mesh is produced on solid body? viralnagar5692 ANSYS Meshing & Geometry 1 January 12, 2015 06:08
Waterwheel shaped turbine inside a pipe simulation problem mshahed91 CFX 3 January 10, 2015 11:19
Update of the variables after dynamic mesh motion. gtg258f OpenFOAM Programming & Development 9 January 18, 2014 10:08
Fixed mesh method for rigid body motion philippose OpenFOAM 1 January 12, 2009 04:57

All times are GMT -4. The time now is 04:06.