Skip to content

Coupling solidBodyMotionFunction with sixDOF solver in OpenFOAM-v2206

License

Notifications You must be signed in to change notification settings

zonexo/sixDoFDynamicMotion_2206

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Coupling solidBodyMotionFunction with sixDOF solver in OpenFOAM-v1812

This repository is the source code for a new OpenFOAM's solidBodyMotionFunction which automatically integrates shear forces and returns the next position of the body patch. Here are two examples.

Simple-pendulum simulation in OpenFoam

simple pendulum openfoam simple pendulum openfoam

A projectile motion simulation in OpenFoam

projectile simulation in openfoam projectile simulation in openfoam

OpenFOAM provides asolidBodyMotionFunction class which is very convenient for solving flow around moving bodies. However, all the option under this class like, linearMotion, rotatingMotion, etc all seem to solve flow around presribed motion. I needed to solve for floating body whose motion is coupled with flow around it. OpenFoam also has this sixDoFRigidBodyMotion class, which allows intgration for pressure and shear force around a patch, and solve for the resulting motion of the rigid body associated with this patch.

I created this sixDoFDynamicMotion class which is a child of solidBodyMotionFunction, and as private member motion_ of the type sixDoFRigidBodyMotion. This member, motion_, is responsible for integrating pressure and shear force around the given patch, and solve for the resulting translation and rotations. The resulting motion is returned as a septernion, through the transform() function. This is tested on two examples. Trajectory of a projectile motion, and a simple pendulum. Results look alright to me.

Compilation

Switch to the src directory and run

wmake libso

Examples

Switch to tutorial/pendulam or tutorial/projectile and run

overPimpleDyMFoam

Enjoy.

About

Coupling solidBodyMotionFunction with sixDOF solver in OpenFOAM-v2206

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 97.7%
  • C 1.4%
  • GLSL 0.9%