|
[Sponsors] |
DTCHull Ship Resistance Tutorial - Morphing vs Overset Dynamic Mesh |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
December 23, 2022, 13:45 |
Setting the air/water interface z value
|
#21 |
New Member
Join Date: Oct 2022
Posts: 11
Rep Power: 4 |
I'd like to run a set of hulls using the DTCHull as a starting basis.
The approach I'm considering uses 1) a script to convert the points to a case*.stl file 2) where the script resets the waterline to z=0 based on the design displacement prior to outputing the .stl file. This way, different hulls can be run without changing the blockMeshDict file. I have two questions on the blockMeshDict file: I ___believe the 12:15 vertices (-26 -19 0.244) (16 -19 0.244) (16 0 0.244) (-26 0 0.244) define the vertices that air and water share at the interface. I thought I'd set z_waterline from 0.244 to 0.0 and things would work out, but the mesh creation is complaining. also I don't quite get how blockmeshdict maps the vertices to the blocks. I've attached a .pdf with the vertices labeled that I"m using to sort things out. Where are these blocks (each hex line ) assigned to atmo/inlet, outlet,bottom,side, midplane . blocks ( hex (0 1 2 3 4 5 6 7) (42 19 50) simpleGrading (1 1 0.05) hex (4 5 6 7 8 9 10 11) (42 19 50) simpleGrading (1 1 1) hex (8 9 10 11 12 13 14 15) (42 19 4) simpleGrading (1 1 1) hex (12 13 14 15 16 17 18 19) (42 19 4) simpleGrading (1 1 1) hex (16 17 18 19 20 21 22 23) (42 19 40) simpleGrading (1 1 1) hex (20 21 22 23 24 25 26 27) (42 19 20) simpleGrading (1 1 5) ); |
|
December 23, 2022, 19:17 |
|
#22 |
New Member
Nick
Join Date: Dec 2021
Posts: 15
Rep Power: 5 |
Quick answer:
When you fully understand how blcokMeshDict works, your problems will be solved. Those hex blocks are the blocks stacked on top of each other. e.g. first hex --> 0 1 2 3 are lower corners of rectangular block, 4 5 6 7 are the upper corners. Second hex block lies on top of first block. That is why they share the corners 4 5 6 and 7. Those hex blocks define the mesh refinement in the z-direction of the whole domain including the free surface region. You will see third and fourth hex blocks are just below and above the water surface. So, if you change the draft of the ship, you should also move z coordinate of vertices 12:15. At the same time you should also adjust the other z coordiantes just below and above vertices 12:15 so that vertices 12:15 still lie between them. That is only modifying the mesh. The actual water level is defined in setFieldDict. That has to be modified too. The boundaries: inlet, outlet, bottom, etc. are defined using the faces of those stacked blocks. e.g. inlet, outlet, midplane, side will use the faces of all six hex blocks while bottom and atmosphere(top) will only use the lower and upper faces of bottom hex block and top most hex block respectively. I hope this helps you. |
|
August 2, 2023, 11:14 |
Solution diverges with planing hull
|
#23 |
New Member
Paul Jakob
Join Date: Mar 2022
Posts: 5
Rep Power: 4 |
Hello everyone,
thank you myozinaung for sharing your simulation setup! It is really helpfull and I was able to run your setup. I have also tried to run the simulation with a different typ of hull, a planning hull. The problem that I am facing is, that I get very high vertical velocity oscillations at the beginning of the simulation. Similar to your setup but way larger and the solution diverges. Has anyone experienced a similar behaviour? Things I have tried so far: 1. restrict linear motion in z-direction so that the hull can only rotate around the y-axes => soltion converges, but as soon as I allow linear motion in z-direction I get very high oscillations in z direction again 2. set up a velocity ramp at the inlet => problem persists 3. set the timestep to a very low value dt=1e^-5 => problem persists 4. use a linear damping constraint in dynamicMeshDict => problem persists Has anyone got an idea how to dampen the rigidBody motions at the beginning of the simulation? Thank you for your help! |
|
August 2, 2023, 11:24 |
|
#24 |
New Member
Nick
Join Date: Dec 2021
Posts: 15
Rep Power: 5 |
Have you tried increasing the damping coefficients in the dynamicMeshDict?
restraints { translationDamper { type linearDamper; body hull; coeff 8596; // THIS ONE } rotationDamper { type sphericalAngularDamper; body hull; coeff 11586; } } And also these: accelerationRelaxation 0.8; // Check the documentation --> to increase or decrease accelerationDamping 0.9; // Check the documentation --> to increase or decrease |
|
August 2, 2023, 11:54 |
|
#25 |
New Member
Paul Jakob
Join Date: Mar 2022
Posts: 5
Rep Power: 4 |
Hallo myozinaung,
thank you for your fast reply! The damping restraints did not help. Even with absurd high numbers. But accelerationRelaxation and accelerationDamping do help. At the moment I don't know how low I should go with these values, but I will give you a feedback after I have done some experimenting. Thank you! |
|
August 23, 2023, 11:35 |
|
#26 | |
New Member
Nick
Join Date: Dec 2021
Posts: 15
Rep Power: 5 |
Quote:
|
||
January 17, 2024, 21:16 |
FOAM FATAL IO ERROR: (openfoam-2206 patch=221104) Unexpected EOF while reading dictio
|
#27 | |
New Member
Mohammad Shakhawat Khan
Join Date: Aug 2023
Posts: 6
Rep Power: 3 |
Quote:
--> FOAM FATAL IO ERROR: (openfoam-2206 patch=221104) Unexpected EOF while reading dictionary entry file: constant/dynamicMeshDict at line 100. From static bool Foam::entry::New(Foam::dictionary&, Foam::Istream&, Foam::entry::inputMode, int) in file db/dictionary/entry/entryIO.C at line 166. FOAM exiting Update- It was mistake of setting up the dynamicMeshDict... Last edited by Shakhawat; January 17, 2024 at 22:23. Reason: Solved problem... |
||
January 18, 2024, 17:49 |
|
#28 | |
New Member
Mohammad Shakhawat Khan
Join Date: Aug 2023
Posts: 6
Rep Power: 3 |
Quote:
Hello would you kindly mention your hull speed?? I have also decreased the value of relaxation and damping... |
||
May 27, 2024, 11:14 |
Interrogation about damping coeff
|
#29 |
New Member
Join Date: May 2024
Posts: 3
Rep Power: 2 |
Hello, I'm also lookingto the DTCHull case, and i'm wondering how those coefficient are calculated here :
translationDamper { type linearDamper; body hull; coeff 8596; ← } rotationDamper { type sphericalAngularDamper; body hull; coeff 11586; ← } I've been looking for documentation, and i found various answer, like it's F/d (displacement) or it's a value in Ns/m according to openfoamwiki.. Could someone help me to understand ? Thanks |
|
May 30, 2024, 06:27 |
|
#30 |
Senior Member
Giles Richardson
Join Date: Jun 2012
Location: Cambs UK
Posts: 102
Rep Power: 14 |
did you manage to figure this out - how to calculate the damping coefficient?
|
|
May 31, 2024, 17:45 |
|
#31 | |
New Member
Nick
Join Date: Dec 2021
Posts: 15
Rep Power: 5 |
Quote:
You can get the same result without them. But you may need to use a smaller time step and/or max Courant number to get a nice convergence. Depending on the values of those coefficients the transient time history will differ. My guess for approximating those values is to use a seakeeping program. (Inviscid: Damping_B33 for heave [translational], Damping_B55 for pitch [rotational]). Or heave and pitch decay experiments Note: Extremely Large damping coefficient values could lead to unsteady convergence or divergence. Last edited by myozinaung; June 4, 2024 at 08:24. |
||
June 7, 2024, 06:07 |
|
#32 |
New Member
Join Date: May 2024
Posts: 3
Rep Power: 2 |
Hello, thank you for your tips, it works well!
I'm now looking at the post-processing of the DTCHull case, and I was wondering about the forces' calculation. Looking at the control dict, we set up rhoInf to water density, and didn't specify air density. And looking at the source code, the forces' calculation doesn't seem to take alpha.water as a variable. It made me ask about the consistence of this forces program in a multiphase case. Does someone know if openfoam makes the difference between the aerodynamic component and the hydrodynamic component on the hull? Thanks, |
|
June 7, 2024, 08:57 |
|
#33 | |
New Member
Nick
Join Date: Dec 2021
Posts: 15
Rep Power: 5 |
Quote:
Regarding the rhoInf, it is only used for non-dimensionalisation or normalisation. So it won't also affect the absolute values of forces. I have alternative case files for DTCHullMoving in case you are interested. https://github.com/myozinaung/DTCHullMovingEnhanced/ |
||
July 8, 2024, 15:00 |
|
#34 |
New Member
Munshi
Join Date: Aug 2023
Posts: 1
Rep Power: 0 |
How it works?
by removing the 'restraints' part? |
|
July 9, 2024, 11:48 |
|
#35 |
New Member
Nick
Join Date: Dec 2021
Posts: 15
Rep Power: 5 |
||
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Combining multiSolidBodyMotionSolver (Overset Mesh) + SolidBodyDisplacementLaplacian | egebat7 | OpenFOAM Running, Solving & CFD | 4 | September 12, 2023 22:38 |
foam-extend-4.1 release | hjasak | OpenFOAM Announcements from Other Sources | 19 | July 16, 2021 06:02 |
dynamic mesh tutorial files for fluent | hesham | ANSYS | 0 | February 2, 2016 20:51 |
[snappyHexMesh] No layers in a small gap | bobburnquist | OpenFOAM Meshing & Mesh Conversion | 6 | August 26, 2015 10:38 |
Icemcfd 11: Loss of mesh from surface mesh option? | Joe | CFX | 2 | March 26, 2007 19:10 |