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

[Other] Dynamic meshing for accretion on structures

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

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   July 29, 2016, 11:09
Default Dynamic meshing for accretion on structures
  #1
New Member
 
anonymous
Join Date: Jul 2015
Posts: 21
Rep Power: 8
iy-a is on a distinguished road
Hi,

My aim here is to find a dynamic meshing program that could be used for :

- making the structure vertically rotates as a reaction to the flow
- modifying the mesh along the simulation (here, ice accretion).

I'd like the structure's mass to be computed in the solver's loop aswell.
I think I can tweak the solver enough to simulate Ice accretion but I
am not sure if I can find an appropriate mesher.

Any help/clue would be appreciated.
_iya.
iy-a is offline   Reply With Quote

Old   August 4, 2016, 06:01
Default where to start : pimpleDyMFoam
  #2
New Member
 
anonymous
Join Date: Jul 2015
Posts: 21
Rep Power: 8
iy-a is on a distinguished road
After scouring OF documentation and a few posts on this forum,
I finally came to the conclusion that I could start by using pimpleDyMFoam.
Though, only wingMotion example (2D) seems to show a passive rotation,
whereas the propeller example (3D) features imposed rotation.


So to sum up :
---> 2D airfoil geometry rotating around chosen axis.
---> Turbulence allowed, free stream velocity.
---> Less computation time than 3D examples.

However, I struggle to make this example work with my geometry, for two reasons :
- I am not sure how to generate blockMeshDict and snappyHexMeshDict in this case.
- I can not set dynamicMeshDict manually. Is there a program that automatically do it ?

I have to set a 3D mesh and then run extrudeMesh to make it 2D, along a plane.
But the biggest effort is to find how to set up dynamicMeshDict parameters such as
center of mass, moment of intertia, constraints, ... and especially the springs !

If anybody knows thanks for sharing.
iy-a

Last edited by iy-a; August 4, 2016 at 11:56.
iy-a is offline   Reply With Quote

Old   August 4, 2016, 12:27
Default
  #3
New Member
 
anonymous
Join Date: Jul 2015
Posts: 21
Rep Power: 8
iy-a is on a distinguished road
So I managed to customize wingmotion example to a certain point :

- import the example's NACA wing to blender
- import my own STL and make it fit on the wing for correct sizing
- export my blender file under the same format (.obj), name and location of the inital wing
- launch Allrun command and stop it when running pimpleDyMFoam in parralel.
- run checkMesh command : mesh is fine !!! OK for the meshing (attached pictures).
- Then I go to wingmotion2D_pimpleDyMFoam and run pimpleDyMFoam solver, but an error occurs resulting in a floating point exception (see printed stack here below).

Observations :
- PIMPLE does only 2 iterations and then stops.
- playing with parameters in fvSolution such as tolerance for p or U fields doesn't resolve the problem.
- playing with the time step in controlDict neither.

Does this simulation diverge ?



================================================== ==============
Create time

Create mesh for time = 0

Selecting dynamicFvMesh dynamicMotionSolverFvMesh
Selecting motion solver: sixDoFRigidBodyMotion
Selecting sixDoFSolver symplectic
Translational constraint tensor (0 0 0 0 1 0 0 0 0)
Rotational constraint tensor (0 0 0 0 0 0 0 0 1)

PIMPLE: no residual control data found. Calculations will employ 2 corrector loops

Reading field p

Reading field U

Reading/calculating face flux field phi

Selecting incompressible transport model Newtonian
Selecting turbulence model type RAS
Selecting RAS turbulence model kOmegaSST
Selecting patchDistMethod meshWave
kOmegaSSTCoeffs
{
alphaK1 0.85;
alphaK2 1;
alphaOmega1 0.5;
alphaOmega2 0.856;
gamma1 0.5555555556;
gamma2 0.44;
beta1 0.075;
beta2 0.0828;
betaStar 0.09;
a1 0.31;
b1 1;
c1 10;
F3 false;
}

No MRF models present

Reading/calculating face velocity Uf

No finite volume options present

Courant Number mean: 0.0183622465 max: 0.8816358446

Starting time loop

Courant Number mean: 0.0183622465 max: 0.8816358446
deltaT = 1.020829638e-05
Time = 1.02083e-05

forces forces:
Not including porosity effects
Restraint verticalSpring: attachmentPt - anchor (0 0 0) spring length 0 force (-0 -0 -0)
Restraint axialSpring: angle -5.879787487e-06 moment (0 0 0.2879907426)
6-DoF rigid body motion
Centre of rotation: (0.25 0.007 0.125)
Centre of mass: (0.4974611351 -0.01672041246 0.125)
Orientation: (0.9953700284 0.09611715038 0 -0.09611715038 0.9953700284 0 0 0 1)
Linear velocity: (0 0.003075723962 0)
Angular velocity: (0 0 -0.5704814841)
GAMG: Solving for pcorr, Initial residual = 1, Final residual = 4.328923376e+59, No Iterations 1000
time step continuity errors : sum local = 3.852037694e+55, global = -4.460765735e+53, cumulative = -4.460765735e+53
PIMPLE: iteration 1
smoothSolver: Solving for Ux, Initial residual = 0.7678463147, Final residual = 0.03479628648, No Iterations 2
smoothSolver: Solving for Uy, Initial residual = 0.1748341242, Final residual = 0.006704102236, No Iterations 2
GAMG: Solving for p, Initial residual = 1, Final residual = 0.006702901987, No Iterations 6
time step continuity errors : sum local = 5.569897705e-06, global = 4.366072165e-07, cumulative = -4.460765735e+53
PIMPLE: iteration 2
smoothSolver: Solving for Ux, Initial residual = 1, Final residual = 3.14400686e-08, No Iterations 4
smoothSolver: Solving for Uy, Initial residual = 1, Final residual = 4.389240957e-08, No Iterations 4

#0 Foam::error:rintStack(Foam::Ostream&) at ??:?
#1 Foam::sigFpe::sigHandler(int) at ??:?
#2 ? in "/lib/x86_64-linux-gnu/libc.so.6"
#3 Foam:ICPreconditioner::calcReciprocalD(Foam::Fie ld<double>&, Foam::lduMatrix const&) at ??:?
#4 Foam:ICPreconditioner:ICPreconditioner(Foam::l duMatrix::solver const&, Foam::dictionary const&) at ??:?
#5 Foam::lduMatrix:reconditioner::addsymMatrixConst ructorToTable<Foam:ICPreconditioner>::New(Foam:: lduMatrix::solver const&, Foam::dictionary const&) at ??:?
#6 Foam::lduMatrix:reconditioner::New(Foam::lduMatr ix::solver const&, Foam::dictionary const&) at ??:?
#7 Foam::PCG::solve(Foam::Field<double>&, Foam::Field<double> const&, unsigned char) const at ??:?
#8 Foam::GAMGSolver::solveCoarsestLevel(Foam::Field<d ouble>&, Foam::Field<double> const&) const at ??:?
#9 Foam::GAMGSolver::Vcycle(Foam::PtrList<Foam::lduMa trix::smoother> const&, Foam::Field<double>&, Foam::Field<double> const&, Foam::Field<double>&, Foam::Field<double>&, Foam::Field<double>&, Foam::Field<double>&, Foam::Field<double>&, Foam::PtrList<Foam::Field<double> >&, Foam::PtrList<Foam::Field<double> >&, unsigned char) const at ??:?
#10 Foam::GAMGSolver::solve(Foam::Field<double>&, Foam::Field<double> const&, unsigned char) const at ??:?
#11 Foam::fvMatrix<double>::solveSegregated(Foam::dict ionary const&) at ??:?
#12 Foam::fvMatrix<double>::solve(Foam::dictionary const&) at ??:?
#13 ? at ??:?
#14 __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6"
#15 ? at ??:?

Floating point exception
iya@i-ya ~/OpenFOAM/iya-4.0/run/tutorials/incompressible/pimpleDyMFoam/savonius/wingMotion2D_pimpleDyMFoam $
Attached Images
File Type: jpg rsz_screenshot_at_2016-08-04_17-23-35.jpg (78.6 KB, 32 views)
File Type: png rsz_screenshot_at_2016-08-04_17-21-50.png (26.6 KB, 24 views)

Last edited by iy-a; August 4, 2016 at 13:04. Reason: colors !
iy-a is offline   Reply With Quote

Old   August 5, 2016, 07:31
Default Could anybody run this case ?
  #4
New Member
 
anonymous
Join Date: Jul 2015
Posts: 21
Rep Power: 8
iy-a is on a distinguished road
Ok I really don't get this.

- Courant number is kept in ]0;1[ range
- Adding non/orthogonal correctors doesn't seem to be a solution
- enabling/disabling turbulence neither
- increasing/decreasing initial velocity in 0.orig/include/initialConditions neither
- changing springs stiffness (down to 0) in dynamicMeshDict neither.
- switching adjustabletimestep to "no", neither.

I do not get how DICPreconditionner or GAMG are failing neither why the cumulative time step is sky high.
I recall that from the initial 2D wing example, nothing has changed except the rotating mesh geometry, kept inside the exact same block.
Here I attach my case if anybody could try to run it. (first go into wingmotion2D_pimpleDyMFoam folder and then run pimpleDyMFoam).

https://www.sendspace.com/file/idc6b2

Thank you in advance.

PS : most of dynamicMeshDict properties are kept as before. It shouldn't be a big deal if I didn't change them, right ?

Last edited by iy-a; August 5, 2016 at 07:42. Reason: Post scriptum
iy-a is offline   Reply With Quote

Old   August 10, 2016, 10:20
Default
  #5
New Member
 
anonymous
Join Date: Jul 2015
Posts: 21
Rep Power: 8
iy-a is on a distinguished road
Ok it seemed that GAMG solver for pressure correction was not appropriated to treat what is happenning in my geometry. So I used smoothSolver and it worked.
I also reduced some tolerances such as the ones for pressure and pressure correction, as well as reducing relative tolerances.

However, skewing of cells occur as my structure spins. At some point (iteration 300th),
these cells became so skewed that they made my mesh unconsistent i.e checkMesh :

***Error in face pyramids: 1 faces are incorrectly oriented.

I thus added nonOrthogonalCorrectors to see what happens.
EDIT : according to this thread, skewing could be avoided using cyclicAMI.
I will edit this post again as soon as I figured out how.


Last edited by iy-a; August 11, 2016 at 08:52.
iy-a is offline   Reply With Quote

Old   October 12, 2017, 15:38
Default
  #6
Member
 
sibo
Join Date: Oct 2016
Location: Chicago
Posts: 55
Rep Power: 7
sibo is on a distinguished road
Hi,

I am really interested into your work.
Actually the dynamic mesh can be easily done by modifying the code in corresponding included header files.
But my question is, I can't find the model for ice solidification in openfoam. Do I need to build this model by myself?

Thanks a lot!
sibo is offline   Reply With Quote

Reply

Tags
accretion, dynamic, ice, mesher, rotating

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
Dynamic Meshing of Simple 2D Geometry harman79 FLUENT 2 January 17, 2018 07:07
UDF for dynamic meshing? prasaddeole FLUENT 2 October 6, 2014 12:55
Error using dynamic meshing : 'Null cells detected' Jiang FLUENT 0 June 26, 2013 09:30
Dynamic meshing - UDF Jiang Fluent UDF and Scheme Programming 1 June 20, 2013 11:18
negative cell volume during dynamic meshing Tamjid FLUENT 1 September 5, 2011 03:33


All times are GMT -4. The time now is 22:16.