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

2DOF Planning hull resistance study with overset

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

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   March 9, 2020, 05:37
Exclamation 2DOF Planning hull resistance study with overset
  #1
New Member
 
Jim
Join Date: Dec 2019
Posts: 2
Rep Power: 0
CFD_fan is on a distinguished road
Hi all,

I'm simulating a planning hull (model length ~ 2.4 m, weight 44 kg (half hull)) with heave and pitch DOFs using overset and interdymfoam (OpenFOAM V1906). The flow speed at inlet is 12 m/s. The simulation time is set to around in total 10s. The setup of the boundary conditions and numerical setups were referred to the 'DTCHull' tutorial and the 'sphereSplashSend' tutorial on Wiki, respectively.

The mesh can be seen in the attachment. A very coarse mesh (152205 cells for background, and 55972 cells for overset, all generated using snappyhexmesh) due to the simulation runs on a 6 cores i7 laptop. The boundary layers are NOT added, which is definitely wrong so far. I tried to generate 3 boundary layers and ran the simulation. It was too slow on laptop, especially for the mesh update (~ 40s per time step), so that it was abandoned. However, in the current simulation, the k-omega-SST turbulence model is still used.

I'm expecting the hull will eventually stabilize itself with a constant pitch angle and sinkage with respect to the water. However, simulation results show that the hull keeps pitching and heaving periodically, so as the vertical and drag forces. The forces can be seen in the attachment.

My questions are:

1. Are the boundary conditions and numerical setups correct? If not, what other boundary conditions should be used instead?

2. Do the lack of boundary layers and the low mesh resolution cause the hull's periodical pitch and heave motion? How many added boundary layers are recommended when wall function is used?

3. Can force ramp function be used in Openfoam V1906? Maybe the simulation can be improved by scaling down the very large initial forces?

4. What would be the values for accelerationRelaxation and accelerationDamping? Currently both are set to 1.

Thank you guys!



Boundary conditions:

U:

Umean 12;
mUmean -12;
dimensions [0 1 -1 0 0 0 0];
internalField uniform ($mUmean 0 0);

boundaryField
{
#includeEtc "caseDicts/setConstraintTypes"
overset
{
type overset;
}
hull
{
type movingWallVelocity;
value uniform (0 0 0);
}
inlet
{
type fixedValue;
value $internalField;
}
outlet
{
type zeroGradient;
}
atmosphere
{
type pressureInletOutletVelocity;
value uniform (0 0 0);
}

bottom
{
type symmetryPlane;
}
side
{
type symmetryPlane;
}
midPlane
{
type symmetryPlane;
}
midPlaneSM
{
type symmetryPlane;
}
}

p_rgh:

dimensions [1 -1 -2 0 0 0 0];
internalField uniform 0;
boundaryField
{
#includeEtc "caseDicts/setConstraintTypes"
overset
{
type overset;
}
hull
{
type fixedFluxPressure;
value $internalField;
}
inlet
{
type fixedFluxPressure;
value $internalField;
}
outlet
{
type zeroGradient;
}
atmosphere
{
type totalPressure;
p0 uniform 0;
U U;
phi phi;
rho rho;
psi none;
gamma 1;
value uniform 0;
}
bottom
{
type symmetryPlane;
}
side
{
type symmetryPlane;
}
midPlane
{
type symmetryPlane;
}
midPlaneSM
{
type symmetryPlane;
}
}

alpha_water:

dimensions [0 0 0 0 0 0 0];
internalField uniform 0;
boundaryField
{
#includeEtc "caseDicts/setConstraintTypes"

overset
{
type overset;
}
hull
{
type zeroGradient;
}
inlet
{
type fixedValue;
value $internalField;
}
outlet
{
type variableHeightFlowRate;
lowerBound 0;
upperBound 1;
value $internalField;
}
atmosphere
{
type inletOutlet;
inletValue $internalField;
value $internalField;
}
bottom
{
type symmetryPlane;
}
side
{
type symmetryPlane;
}
midPlane
{
type symmetryPlane;
}
midPlaneSM
{
type symmetryPlane;
}

}

pointDisplacement:

dimensions [0 1 0 0 0 0 0];
internalField uniform (0 0 0);
boundaryField
{
overset
{
patchType overset;
type zeroGradient;
}
hull
{
type calculated;
value uniform (0 0 0);
}
".*"
{
type fixedValue;
value uniform (0 0 0);
}
}

k:

dimensions [0 2 -2 0 0 0 0];
internalField uniform 0.0081;
boundaryField
{
#includeEtc "caseDicts/setConstraintTypes"
overset
{
type overset;
}
hull
{
type kqRWallFunction;
value $internalField;
}
inlet
{
type fixedValue;
value $internalField;
}
outlet
{
type zeroGradient;
}
atmosphere
{
type inletOutlet;
inletValue $internalField;
value $internalField;
}
bottom
{
type symmetryPlane;
}
side
{
type symmetryPlane;
}
midPlane
{
type symmetryPlane;
}

midPlaneSM
{
type symmetryPlane;
}
}

nut:

dimensions [0 2 -1 0 0 0 0];
internalField uniform 5e-07;
boundaryField
{
#includeEtc "caseDicts/setConstraintTypes"
overset
{
type overset;
}
hull
{
type nutkWallFunction;
value $internalField;
}
inlet
{
type fixedValue;
value $internalField;
}
outlet
{
type zeroGradient;
}
atmosphere
{
type zeroGradient;
}
bottom
{
type symmetryPlane;
}
side
{
type symmetryPlane;
}
midPlane
{
type symmetryPlane;
}
midPlaneSM
{
type symmetryPlane;
}
}

omega:

dimensions [0 0 -1 0 0 0 0];
internalField uniform 1.8672;
boundaryField
{
#includeEtc "caseDicts/setConstraintTypes"

overset
{
type overset;
}
hull
{
type omegaWallFunction;
value $internalField;
}
inlet
{
type fixedValue;
value $internalField;
}
outlet
{
type zeroGradient;
}
atmosphere
{
type inletOutlet;
inletValue $internalField;
value $internalField;
}
bottom
{
type symmetryPlane;
}
side
{
type symmetryPlane;
}
midPlane
{
type symmetryPlane;
}
midPlaneSM
{
type symmetryPlane;
}
}

The dynamicMeshDict, fvSchemes and fvSolution are:

dynamicMeshDict:

motionSolverLibs ( "libsixDoFRigidBodyMotion.so" );
dynamicFvMesh dynamicOversetFvMesh;
dynamicOversetFvMeshCoeffs
{
}
solver sixDoFRigidBodyMotion;
sixDoFRigidBodyMotionCoeffs
{
patches (hull);
innerDistance 200;
outerDistance 201;

velocity ( 0 0 0 );
accelerationRelaxation 1;
accelerationDamping 1;

mass 44;
centreOfMass (0.8791 0 0.0522);
momentOfInertia (7.5 40 40);

report on;
reportToFile on;

solver
{
type Newmark;
}
constraints
{
zAxis
{
sixDoFRigidBodyMotionConstraint line;
direction (0 0 1);
}

yPlane
{
sixDoFRigidBodyMotionConstraint axis;
axis (0 1 0);
}

}

fvSchemes:

ddtSchemes
{
default Euler;
}
gradSchemes
{
default cellMDLimited Gauss linear 0;
grad(U) cellMDLimited Gauss linear 0.333;
}
divSchemes
{
div(rhoPhi,U) Gauss linearUpwind grad(U);
div(U) Gauss linear;
div(phi,alpha) Gauss vanLeer;
div(phirb,alpha) Gauss linear;
div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
div(phi,k) Gauss upwind;
div(phi,omega) Gauss upwind;
}
laplacianSchemes
{
default Gauss linear limited 1.0;
}
interpolationSchemes
{
default linear;
}
snGradSchemes
{
default limited 1.0;
}
oversetInterpolation
{
method inverseDistance;
}
oversetInterpolationSuppressed
{
grad(p_rgh);
surfaceIntegrate(phiHbyA);
}
fluxRequired
{
default no;
p_rgh;
pcorr;
alpha.water;
}
wallDist
{
method meshWave;
}

fvSolution:

solvers
{
"alpha.water.*"
{
nAlphaCorr 3;
nAlphaSubCycles 2;
cAlpha 1;
icAlpha 0;
MULESCorr yes;
nLimiterIter 5;
alphaApplyPrevCorr no;
solver smoothSolver;
smoother symGaussSeidel;
tolerance 1e-8;
relTol 0;
}
cellDisplacement
{
solver PCG;
preconditioner DIC;
tolerance 1e-06;
relTol 0;
}
p_rgh
{
solver PBiCGStab;
preconditioner DILU;
tolerance 1e-5;
relTol 0.01;
}
p_rghFinal
{
solver PBiCGStab;
preconditioner DILU;
tolerance 1e-7;
relTol 0;
}
pcorr
{
$pFinal;
solver PCG;
preconditioner DIC;
tolerance 1e-7;
relTol 0.01;
}
pcorrFinal
{
$pcorr;
tolerance 1e-7;
relTol 0;
}
"(U|k|omega)"
{
solver smoothSolver;
smoother symGaussSeidel;
tolerance 1e-6;
relTol 0.01;
}
"(U|k|omega)Final"
{
$U;
tolerance 1e-6;
relTol 0;
}
}
PIMPLE
{
momentumPredictor true;
correctPhi false;
nOuterCorrectors 10;
nCorrectors 3;
nNonOrthogonalCorrectors 2;
massFluxInterpolation false;
ddtCorr true;
turbOnFinalIterOnly false;
moveMeshOuterCorrectors false;
checkMeshCourantNo true;

residualControl
{
p_rgh
{
tolerance 1e-5;
relTol 0;
}
}
}
relaxationFactors
{
fields
{
p 1;
}
equations
{
"(U|k|omega)" 1;
".*Final" 1.0;
}
}
Attached Images
File Type: jpg Mesh 45 deg 1.jpg (124.1 KB, 85 views)
File Type: jpg Mesh side zoom in 1.jpg (170.5 KB, 87 views)
File Type: jpg Forces first 300 iterations.jpg (41.4 KB, 70 views)
File Type: jpg Forces from the 100th iteration onwards.jpg (59.0 KB, 65 views)
File Type: jpg Residual p_rgh_0.jpg (43.5 KB, 56 views)

Last edited by CFD_fan; March 9, 2020 at 07:02. Reason: Make the text nicer
CFD_fan is offline   Reply With Quote

Old   September 30, 2020, 16:02
Default
  #2
Kil
New Member
 
Kil's Avatar
 
Serge
Join Date: Nov 2019
Posts: 16
Rep Power: 4
Kil is on a distinguished road
Hi, Jim!


Have your got any answers on your questions? It's very interesting to know for me...




With best regards,
Serge
Kil is offline   Reply With Quote

Old   February 2, 2021, 08:29
Default Example Files
  #3
New Member
 
Join Date: Oct 2014
Location: Lafayette, LA
Posts: 14
Rep Power: 9
gigliagarf is on a distinguished road
Hi would you happen to be able to post the files associated with this? I've been trying to get overset meshing to work with ship hulls for a few months with no success. I think a working example would help me a ton if you can share.
gigliagarf is offline   Reply With Quote

Old   February 9, 2021, 09:13
Default
  #4
New Member
 
Massimiliano Tarrini
Join Date: Jul 2009
Location: PISA Italy
Posts: 19
Rep Power: 14
massimiliano.tarrini is on a distinguished road
Send a message via Skype™ to massimiliano.tarrini
Hi CFD FAN could you please help me in solving planning hull with this technique?
please send me an email to info@numitalia.com
regards
max
massimiliano.tarrini is offline   Reply With Quote

Old   February 13, 2021, 03:08
Default
  #5
New Member
 
Sasan Tavakoli
Join Date: Sep 2018
Posts: 12
Rep Power: 5
ttsasan is on a distinguished road
Hi CFD Fan.

When you're solving a planing problem you should be very careful about the longitudinal center of gravity. What I see over here is much more similar to porpoising problem, which is quite often in planing motion. Are you reproducing steady performance of a specific design?
ttsasan is offline   Reply With Quote

Old   February 15, 2021, 11:14
Thumbs up
  #6
New Member
 
Kayhan
Join Date: Jun 2014
Posts: 8
Rep Power: 9
ulgenk is on a distinguished road
Hello,

I have been working on a similar case. Since you have been using the PIMPLE algorithm, you can add residual controls with good under-relaxation factors and a high Courant number. This will accelerate your solution, and you will avoid an oscillatory force graph. And be sure the mesh has a good quality. And avoid overestimating the turbulence kinetic energy by using a new feature of OpenFOAM.
ulgenk is offline   Reply With Quote

Old   March 6, 2021, 15:29
Default half geometry
  #7
Member
 
Deutschland
Join Date: Sep 2020
Posts: 69
Rep Power: 3
vava10 is on a distinguished road
Hey,

I am simulating a ship. Due to symmetry I am only working with half of the geometry. for Dynamic mesh I have following doubts

1. centre of mass - the centre of half or full geometry
2. moment of inertia -moment of inertia of half geometry or (moment of inertia of full geometry)/2


Thanks in advance
vava10
vava10 is offline   Reply With Quote

Old   July 13, 2021, 06:03
Default
  #8
New Member
 
Shamjad
Join Date: Aug 2020
Location: India
Posts: 1
Rep Power: 0
9034 is on a distinguished road
Hii...vava10

you can refer the DTCHullMoving and can identify the center of mass and MOI are as follows:

1. Center of mass of full geometry
2. Moment of inertia of full geometry
9034 is offline   Reply With Quote

Reply

Tags
interdymfoam, mesh, openfoam, overset, planning hull

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
Multiphase Simulation of 26ft planning hull lucasiervolino FLUENT 0 September 27, 2015 18:54
How to output the water resistance on a Ship hull Sachin m OpenFOAM Post-Processing 1 January 26, 2015 13:24
Total Resistance of Hull in Calm Water PeiSan NUMECA 0 July 17, 2014 05:52
Help needed to calculate the resistance of a ship's hull vmak CFX 3 May 12, 2013 20:15
hull resistance Mirco CFX 0 April 6, 2007 12:05


All times are GMT -4. The time now is 19:20.