# AMI simulation with VOF

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

 May 3, 2013, 04:50 AMI simulation with VOF #1 Member   YS Join Date: Jan 2010 Posts: 79 Rep Power: 8 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, 04:56 #2 Member   YS Join Date: Jan 2010 Posts: 79 Rep Power: 8 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, 05:00 #3 Member   YS Join Date: Jan 2010 Posts: 79 Rep Power: 8 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, 03:28 #4 Senior Member   Dongyue Li Join Date: Jun 2012 Location: Torino, Italy Posts: 742 Rep Power: 9 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, 04:46 #5 Senior Member   Paritosh Vasava Join Date: Oct 2012 Location: Lappeenranta, Finland Posts: 665 Rep Power: 15 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, 06:18
#6
Senior Member

Dongyue Li
Join Date: Jun 2012
Location: Torino, Italy
Posts: 742
Rep Power: 9
Quote:
 Originally Posted by vasava 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?
Its simple if you are using ICEM.
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;
}```
7.Then it should worked.

So generally if you are using ICEM. you dont need to use toposet and createbaffles and something else.Its easy.

Regards.

 May 6, 2013, 06:20 #7 Senior Member   Dongyue Li Join Date: Jun 2012 Location: Torino, Italy Posts: 742 Rep Power: 9 Oh sorry,I think you are asking me...I did not see the first line.my bad.

 May 6, 2013, 06:22 #8 Senior Member   Paritosh Vasava Join Date: Oct 2012 Location: Lappeenranta, Finland Posts: 665 Rep Power: 15 Thats ok. I now know how to make AMI. Thanks you anyways.

May 6, 2013, 23:20
#9
Member

YS
Join Date: Jan 2010
Posts: 79
Rep Power: 8
Quote:
 Originally Posted by sharonyue 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.
Hi sharonyue,

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 6, 2013, 23:22
#10
Member

YS
Join Date: Jan 2010
Posts: 79
Rep Power: 8
Quote:
 Originally Posted by vasava 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?
Hi vasava,

Please refer to my previous post. It's pretty much similar to what sharonyue have posted by in more detail.

Best luck!

May 6, 2013, 23:50
#11
Senior Member

Dongyue Li
Join Date: Jun 2012
Location: Torino, Italy
Posts: 742
Rep Power: 9
Quote:
 Originally Posted by Ya_Squall2010 Hi sharonyue, 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.
Um, if you use the utility in FOAM, its comlicated.Generally I use this ulitities to createAMIpatch just when I make mesh by SHM. I never use the third party software to make mesh and use the toposet or setset together.But ofcourse it should works.

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, 00: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, 00:15
#13
Senior Member

Dongyue Li
Join Date: Jun 2012
Location: Torino, Italy
Posts: 742
Rep Power: 9
Quote:
 Originally Posted by KeniWu Thanks, sharonyue Have you seen any gap or discontinuity across the AMI interface in your simulation now?
Nope, in my cases, AMI's result is the same with MRF.Looks at the 2D simple case. its alpha field.
Another case is a 3D case.
Attached Images
 1.jpg (8.8 KB, 27 views) 2.jpg (9.4 KB, 28 views) 3.jpg (8.5 KB, 27 views) 4.jpg (21.0 KB, 30 views)

 May 7, 2013, 00:43 #14 Member   YS Join Date: Jan 2010 Posts: 79 Rep Power: 8 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, 01:18
#15
New Member

keniWu
Join Date: Nov 2012
Posts: 2
Rep Power: 0
Quote:
 Originally Posted by sharonyue nope, in my cases, ami's result is the same with mrf.looks at the 2d simple case. Its alpha field. Another case is a 3d case.
Thanks, sharonyue. But in my case, I found some unreal value in AMI.
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, 03:11
#16
Senior Member

Dongyue Li
Join Date: Jun 2012
Location: Torino, Italy
Posts: 742
Rep Power: 9
Quote:
 Originally Posted by Ya_Squall2010 Then is there anyway to check whether I have made the AMI correctly?
Looks like your boundary condition is rite,but I think if there was a gap, its your mesh's problem.
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..
Attached Images
 1.jpg (73.8 KB, 21 views)

 May 7, 2013, 10:50 #17 Member   YS Join Date: Jan 2010 Posts: 79 Rep Power: 8 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, 19:24
#18
Senior Member

Dongyue Li
Join Date: Jun 2012
Location: Torino, Italy
Posts: 742
Rep Power: 9
Quote:
 Originally Posted by Ya_Squall2010 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?
Hi

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.
Attached Images
 absolute smooth.jpg (50.0 KB, 30 views) 2.jpg (67.9 KB, 21 views) 3.jpg (17.7 KB, 20 views) 4.jpg (18.7 KB, 15 views)

 May 8, 2013, 00:27 #19 Member   YS Join Date: Jan 2010 Posts: 79 Rep Power: 8 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, 04:04
#20
Senior Member

Dongyue Li
Join Date: Jun 2012
Location: Torino, Italy
Posts: 742
Rep Power: 9
Quote:
 Originally Posted by Ya_Squall2010 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! Attachment 21570 Attachment 21571
I will try my case which is similary with you and see the result.then update this post.

 Thread Tools Display Modes Linear Mode

 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 OffTrackbacks are On Pingbacks are On Refbacks are On Forum Rules

 Similar Threads Thread Thread Starter Forum Replies Last Post toda FLUENT 3 June 2, 2016 12:51 sharonyue OpenFOAM Running, Solving & CFD 6 June 10, 2013 09:34 parisa- Main CFD Forum 0 January 10, 2012 09:33 Asghari_M FLUENT 8 February 16, 2010 03:30 vof_grid FLUENT 0 July 6, 2007 08:47

All times are GMT -4. The time now is 12:46.