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

6DoF with the Laplacian method to realize the deformation in overset

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

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   December 14, 2025, 13:53
Default 6DoF with the Laplacian method to realize the deformation in overset
  #1
New Member
 
houzhexing
Join Date: Apr 2022
Posts: 1
Rep Power: 0
houzhexing is on a distinguished road
When combining sixDoF with the Laplacian method to realize the deformation of a wing within an overset mesh according to a specified equation and moving out of water, only the first layer of mesh has deformation. And the wing in the overset does not move with overset. The deformation is set in the 0/pointDisplacement. The codes are following:

FoamFile
{
version 2.0;
format ascii;
class pointVectorField;
object pointDisplacement;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions [0 1 0 0 0 0 0];

internalField uniform (0 0 0);

boundaryField
{

LEFT
{
type uniformFixedValue;
uniformValue (0 0 0);
}

RIGHT
{
type uniformFixedValue;
uniformValue (0 0 0);
}

TOP
{
type uniformFixedValue;
uniformValue (0 0 0);
}

BOTTOM
{
type uniformFixedValue;
uniformValue (0 0 0);
}

FRONT
{
type empty;
}

BACK
{
type empty;
}

WING
{
type codedFixedValue;
value uniform (0 0 0);
name wingFlexibleDisp;

code
#{
const scalar t = this->db().time().value();

const pointField& pts = this->patch().localPoints();

vectorField& disp = *this;

scalar f = 1.0; // frequency(Hz)
scalar a = 0.4; // flexibleA(m)
scalar c = 1.0; // chord(m)
scalar h = 0.4; // height(m)
scalar phi = 1.570795; // rad

scalar T = 1.0/f;
scalar t_sw = 0.25*T;

forAll(disp, i)
{
scalar y = pts[i].y();

scalar x0 = h/c;

scalar x;

if (t < t_sw)
{
x = (t / t_sw) * x0;
}
else
{
scalar tp = t-t_sw;

x = h*c*cos(2.0*M_PI*f*tp)-(a/c)*y*y*cos(2.0*M_PI*f*tp+phi);
}

disp[i].x() = x;
disp[i].y() = 0.0;
disp[i].z() = 0.0;
}
#};
}

FRONTANDBACKOVERSET
{
type empty;
}

OVERSET
{
patchType overset;
type zeroGradient;
}

}

// *********//
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object dynamicMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

motionSolverLibs (sixDoFRigidBodyMotion);

dynamicFvMesh dynamicOversetFvMesh;

solver sixDoFRigidBodyMotion;

sixDoFRigidBodyMotionCoeffs
{
patches (WING);
innerDistance 0.0;
outerDistance 10.0;

centreOfMass (0 -0.3 0.05);
velocity (0 3.0 0);

rhoSolid 998.2;
mass 9.562;
g (0 -9.81 0);
momentOfInertia (2.26 0.04 2.24);

report on;
reportToFile on;

accelerationRelaxation 1.0;
accelerationDamping 0.0;

solver
{
type Newmark;
}

constraints
{
XOYPlane
{
type sixDoFRigidBodyMotionConstraint;
sixDoFRigidBodyMotionConstraint plane;
normal (0 0 1);
point (0 0 0);
}

ZAxisRotation
{
type sixDoFRigidBodyMotionConstraint;
sixDoFRigidBodyMotionConstraint axis;
axis (0 0 1);
point (0 0 0);
}

YTranslation
{
type sixDoFRigidBodyMotionConstraint;
sixDoFRigidBodyMotionConstraint line;
direction (0 1 0);
point (0 0 0);
}
}

forces
{

gravityCompensation
{
type constantForce;
origin (0 -0.3 0.05);
force (0 93.80322 0);
}
}

displacementLaplacianCoeffs
{
diffusivity inverseDistance (WING);
relaxationFactor 0.5;
}
}

// ************************************************** ********************** //
houzhexing is offline   Reply With Quote

Reply

Tags
deformation, openfoam2406, overset mesh, pointdisplacement, sixdof

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
On the alpha Eqn of VOF method when using Immersed boundary method in OpenFOAM keepfit OpenFOAM 4 January 31, 2014 15:32
[Gmsh] discretizer - gmshToFoam Andyjoe OpenFOAM Meshing & Mesh Conversion 13 March 14, 2012 05:35
Code for most powerfull FDV Method D.S.Nasan Main CFD Forum 6 September 4, 2008 03:08
Runge-Kutta 4rd Order method help for 6DoF in CFD siw Main CFD Forum 0 August 29, 2008 07:08
Boundary Conditions for LU-SGS Method Based on Overset Grids Aiming Yang Main CFD Forum 1 April 25, 2000 05:35


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