|
[Sponsors] |
May 3, 2013, 05:50 |
AMI simulation with VOF
|
#1 |
Member
YS
Join Date: Jan 2010
Posts: 96
Rep Power: 16 |
Hello, everyone
I am currently trying to simulation a rotating object interacting with free surface. The object is contained by a cylinder shaped domain, and the boundary of which has been set as the AMI. It runs fine but extremely slow due to the ridiculously small time step size (10^-5 s). When checking the result, I found unphysical gap exists right at the same location of the AMI. I wonder if this is typical for AMI working with VOF scheme or if there's something I have missed during the setup. Many thanks for your comments. Best, 2013-5-3 16-38-30.png 2013-5-3 16-47-22.png |
|
May 3, 2013, 05:56 |
|
#2 |
Member
YS
Join Date: Jan 2010
Posts: 96
Rep Power: 16 |
And here is the latest output:
Interface Courant Number mean: 0.000113674199245 max: 0.0456657062131 Courant Number mean: 0.00117181186645 max: 0.349797949217 deltaT = 2.85966340452e-05 Time = 1.768115 sixDoFRigidBodyMotion constraints converged in 3 iterations Constraint force: (0 0 0) Constraint moment: (-46.2558655352 0 100.133884185) Centre of mass: (0.788627295142 -4.92549529332 0.380243808408) Linear velocity: (-0.363459602054 -5.97517588423 -0.0649978436717) Angular velocity: (-1.1261827207e-06 -4.55253915863 1.75204401811e-06) Orientation: (0.304692532186 3.52476591315e-07 0.952450765567 2.80451448939e-08 1 -3.79045038945e-07 -0.952450765567 1.42203812454e-07 0.304692532186) solidBodyMotionFunctions::freeRotatingMotion::tran sformation(): Time = 1.76811475304 Radial Velocity: (-0 -4.55253915863 -0) AMI: Creating addressing and weights between 25381 source faces and 21172 target faces AMI: Patch source weights min/max/average = 0.998652509993, 1.37541800289, 1.00010173901 AMI: Patch target weights min/max/average = 0.921261238568, 1.01762766706, 1.00012727807 Execution time for mesh.update() = 0.589999999997 s time step continuity errors : sum local = 9.44780824397e-12, global = -4.70839914446e-13, cumulative = 2.36152990992e-05 GAMGPCG: Solving for pcorr, Initial residual = 1, Final residual = 3.4921224907e-06, No Iterations 7 time step continuity errors : sum local = 5.48884332833e-16, global = 1.11291297836e-17, cumulative = 2.36152990992e-05 MULES: Solving for alpha1 Phase-1 volume fraction = 0.549661255967 Min(alpha1) = -3.4482697542e-20 Max(alpha1) = 1.00000000001 MULES: Solving for alpha1 Phase-1 volume fraction = 0.549661255869 Min(alpha1) = -1.0423883416e-20 Max(alpha1) = 1.00000000001 MULES: Solving for alpha1 Phase-1 volume fraction = 0.549661255776 Min(alpha1) = -3.93755298503e-20 Max(alpha1) = 1.00000000001 GAMG: Solving for p_rgh, Initial residual = 2.85088772799e-05, Final residual = 1.72802384711e-07, No Iterations 2 time step continuity errors : sum local = 2.79473796529e-10, global = 6.18060432167e-13, cumulative = 2.36152997173e-05 GAMGPCG: Solving for p_rgh, Initial residual = 1.44709724156e-06, Final residual = 6.70595497874e-09, No Iterations 2 time step continuity errors : sum local = 1.08455646083e-11, global = -9.99413431153e-13, cumulative = 2.36152987178e-05 smoothSolver: Solving for epsilon, Initial residual = 0.000120934411215, Final residual = 6.92567932192e-07, No Iterations 1 smoothSolver: Solving for k, Initial residual = 9.54220112974e-05, Final residual = 5.67484650421e-07, No Iterations 1 ExecutionTime = 254492.64 s ClockTime = 258622 s |
|
May 3, 2013, 06:00 |
|
#3 |
Member
YS
Join Date: Jan 2010
Posts: 96
Rep Power: 16 |
Another issue is that it is obvious that the calculated alpha1 is between 0 ~ 1, but when I load the result in ParaView, the interpolated alpha1 value range becomes 0 ~ 1.14. This is not seen in any of my previous runs without AMI. What is happening?
2013-5-3 17-02-42.png |
|
May 6, 2013, 04:28 |
|
#4 |
Senior Member
Dongyue Li
Join Date: Jun 2012
Location: Beijing, China
Posts: 849
Rep Power: 18 |
Looks like you are missing the facezone of AMI?
I happened to run into this problems about several months ago.What incur my problem is deleting the AMI faces.I dont know how to deal with AMI that time.so...maybe this would not help,but wish it could give you some light in the dark. |
|
May 6, 2013, 05:46 |
|
#5 |
Senior Member
Paritosh Vasava
Join Date: Oct 2012
Location: Lappeenranta, Finland
Posts: 732
Rep Power: 23 |
Hello Ya_Squall2010
Can you explain how you created AMI? I am trying to simulate mixing by an impeller. I have made two meshes and tried to merge them but I still do not know how to make the AMI? |
|
May 6, 2013, 07:18 |
|
#6 | |
Senior Member
Dongyue Li
Join Date: Jun 2012
Location: Beijing, China
Posts: 849
Rep Power: 18 |
Quote:
1. make the rotating mesh.and call some one of your patch AMI1. 2. make the stationary mesh.and call the coresponding patch AMI2. 3. Open a new project in ICEM, open the rotating mesh,then open the stationary mesh and select merge. 4. Then you will see there are AMI1 and AMI2 in the PART.then export as .msh. 5.fluent3DMeshToFoam.you will have the AMI1 and AMI2 patch in your boundary. 6.Change it to Code:
AMI2 { type cyclicAMI; nFaces 4966; startFace 595314;Do not modify this. neighbourPatch AMI1; transform noOrdering; } So generally if you are using ICEM. you dont need to use toposet and createbaffles and something else.Its easy. Regards. |
||
May 6, 2013, 07:20 |
|
#7 |
Senior Member
Dongyue Li
Join Date: Jun 2012
Location: Beijing, China
Posts: 849
Rep Power: 18 |
Oh sorry,I think you are asking me...I did not see the first line.my bad.
|
|
May 6, 2013, 07:22 |
|
#8 |
Senior Member
Paritosh Vasava
Join Date: Oct 2012
Location: Lappeenranta, Finland
Posts: 732
Rep Power: 23 |
Thats ok. I now know how to make AMI. Thanks you anyways.
|
|
May 7, 2013, 00:20 |
|
#9 | |
Member
YS
Join Date: Jan 2010
Posts: 96
Rep Power: 16 |
Quote:
many thanks for your comments! I am using OF 2.1.1 and followed these steps to prepare my AMI case, and there's only a cellzone file under the constant/polymesh/ folder. Please point out where should (and how could) I create the AMI facezone? Thanks again! 1. Create the mesh in other mesh tools (starccm, icem, or gambit), using 1 face as interface 2. Save every domain separately by deleting the other parts for instance. save with the interfaces, by rename it to AMI1 for example. The other domain will have AMI2 obviously 3. Export the mesh using corresponding convergor (ccm26ToFoam for starccm, fluent3DMeshToFoam for fluent V6 format files by icem and gambit) 4. Create separate case directories, put the .ccm/.msh files there 5. Run "ccm26ToFoam/fluent3DMeshToFoam" for every directories 6. Run "mergeMeshes masterDir Slavedir" command as many times as much domains you have 7. Modifiy the files in constant(polymesh/boundary), system and 0 directory as usual to reflect the new addition of AMI1 and AMI2 (by using the propeller tutorial for instance) 8. Type "setSet" from your case directory. 9. "cellSet c0 new cylinderToCell (0 0 0) (0 0 1) 0.5" // first vector refers to the centre of the circle at one end, second refers to that of the other end. The scalar is the radius 10. "cellZoneSet c0Zone new setToCellZone c0", your rotating zone will be c0Zone. By the way, c0 ans c0Zone are just made-up names, you can choose your own. and now it should work. Just proceed to decomposePar and submit the job or simplely run the ***DyMFoam. |
||
May 7, 2013, 00:22 |
|
#10 | |
Member
YS
Join Date: Jan 2010
Posts: 96
Rep Power: 16 |
Quote:
Please refer to my previous post. It's pretty much similar to what sharonyue have posted by in more detail. Best luck! |
||
May 7, 2013, 00:50 |
|
#11 | |
Senior Member
Dongyue Li
Join Date: Jun 2012
Location: Beijing, China
Posts: 849
Rep Power: 18 |
Quote:
Regarding to your case.just as I depicted above,I make the different domain seperately,every mesh has a patch called AMI or something.But I dont convert it to interface.If you do this, after you fluentmeshtofoam you cannot see the AMI patch. so u have to make this patch by the utility such as createbaffles or something else. So my suggestion is Dont convert it to interface.then you will have two AMI patch in your boundary . but it type are walls.just modify it manully.at first I also doubt it weather its right. but it works.Just try it. Wish this would give you some hints. BTW,are you sure its a real gap?Did you check this out in another edition paraview? or dont show the internalmesh just show the AMI patch? Regards. |
||
May 7, 2013, 01:02 |
|
#12 |
New Member
keniWu
Join Date: Nov 2012
Posts: 2
Rep Power: 0 |
Thanks, sharonyue
Have you seen any gap or discontinuity across the AMI interface in your simulation now? |
|
May 7, 2013, 01:15 |
|
#13 | |
Senior Member
Dongyue Li
Join Date: Jun 2012
Location: Beijing, China
Posts: 849
Rep Power: 18 |
Quote:
Another case is a 3D case. |
||
May 7, 2013, 01:43 |
|
#14 |
Member
YS
Join Date: Jan 2010
Posts: 96
Rep Power: 16 |
Then is there anyway to check whether I have made the AMI correctly? In the simulation, what I can see is that the pressure, velocity and alpha fields are "propagating" properly across the AMI, despite that a small but very obvious gap or discontinuity is right at the location of AMI.
Here's my U file setup (the others are similar): FoamFile { version 2.0; format ascii; class volVectorField; location "0"; object U; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dimensions [0 1 -1 0 0 0 0]; internalField uniform (0 0 0); boundaryField { stationaryWalls { type fixedValue; value uniform (0 0 0); } atmosphere { type pressureInletOutletVelocity; value uniform (0 0 0); } floatingObject { type movingWallVelocity; value uniform (0 0 0); } AMI1 { type cyclicAMI; value uniform (0 0 0); } AMI2 { type cyclicAMI; value uniform (0 0 0); } } And here's my constant/polymesh/boundary: FoamFile { version 2.0; format ascii; class polyBoundaryMesh; location "0.015/polyMesh"; object boundary; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 5 ( floatingObject { type wall; nFaces 10000; startFace 878484; } AMI2 { type cyclicAMI; nFaces 12936; startFace 888484; matchTolerance 0.0001; neighbourPatch AMI1; transform noOrdering; } AMI1 { type cyclicAMI; nFaces 14144; startFace 901420; matchTolerance 0.0001; neighbourPatch AMI2; transform noOrdering; } atmosphere { type patch; nFaces 560; startFace 915564; } stationaryWalls { type wall; nFaces 7520; startFace 916124; } ) Any clue? |
|
May 7, 2013, 02:18 |
|
#15 | |
New Member
keniWu
Join Date: Nov 2012
Posts: 2
Rep Power: 0 |
Quote:
Please look at the 2D airfoil case (I use pimpleDyMFoam). When the airfoil is rotating (6DOF), some flow passing through AMI will be taken with the rotating interface. So we can found discontinuous velocity filed across the AMI. Is this correct and physical? Thanks~~ animation.0001.jpg animation.0003.jpg animation.0004.jpg animation.0005.jpg animation.0007.jpg |
||
May 7, 2013, 04:11 |
|
#16 | |
Senior Member
Dongyue Li
Join Date: Jun 2012
Location: Beijing, China
Posts: 849
Rep Power: 18 |
Quote:
Check it out like this:this image I have zoomed in several times.and there is no gap between the two AMI patch. and you can see its tight just like one patch! keniWu, I cannot catch what do you mean...I am sorry for that.But your veocity field looks like unnormal.. |
||
May 7, 2013, 11:50 |
|
#17 |
Member
YS
Join Date: Jan 2010
Posts: 96
Rep Power: 16 |
I will have a look of my AMI patches tmr, even though I recall I have done this kind of check before. By the way, by looking at Keni's images, very obvious unphysical trace of AMI also presents. I wonder in your tests, whether this kind of artificial circular shaped discontinuities can be spot or not? Especially when there's a free surface cutting right through the AMI. Also, what is your typical time step size for AMI run?
|
|
May 7, 2013, 20:24 |
|
#18 | |
Senior Member
Dongyue Li
Join Date: Jun 2012
Location: Beijing, China
Posts: 849
Rep Power: 18 |
Quote:
I think I figure it out.I am sorry for that I might have mislead you.I think the gap is normal.I made some tests,and I found some cases there is a gap!Check your AMI face so see if its a absolute smooth,if its absolute smooth(just like the image),there would be no gap when its rotating.If its not very smooth.It will have a gap after it rotate. But it will be no gap if it rotate after one cycle. BTW,check it out in your case for me and see if Im right.Thanks The first image there is no gap when its rotating. The others there exists a gap.But I think it does not affect the result. |
||
May 8, 2013, 01:27 |
|
#19 |
Member
YS
Join Date: Jan 2010
Posts: 96
Rep Power: 16 |
Please see attached image. There is indeed a gap in the patches but only visible after zoomed in for many many many times. The gap in the results, however, is much much more bigger than the physical one. Also, from the other picture where the view angle is from below the free surface, we can easily see a thin layer of water is "leaking" in between the AMI gap!
gap.jpg leak.jpg |
|
May 8, 2013, 05:04 |
|
#20 | |
Senior Member
Dongyue Li
Join Date: Jun 2012
Location: Beijing, China
Posts: 849
Rep Power: 18 |
Quote:
|
||
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
VOF models on venturi scrubber simulation | toda | FLUENT | 3 | June 2, 2016 13:51 |
mixerVesselAMI2D's mass is not balancing | sharonyue | OpenFOAM Running, Solving & CFD | 6 | June 10, 2013 10:34 |
VOF simulation problem | parisa- | Main CFD Forum | 0 | January 10, 2012 09:33 |
Simulation of filling a pool by Vof | Asghari_M | FLUENT | 8 | February 16, 2010 03:30 |
vof simulation in batch mode | vof_grid | FLUENT | 0 | July 6, 2007 09:47 |