|
[Sponsors] |
April 23, 2015, 05:20 |
cyclicAMI: what is each transform type for?
|
#1 |
New Member
Join Date: Mar 2015
Posts: 6
Rep Power: 11 |
Hello,
I'am trying to set up a pimpleDyMFoam case. I have seen that there are different transform Settings for cyclicAMI's. Can someone explain to me the differences between these Settings and the case of application? The Settings are: noOrdering coincidentFullMatch rotational translational unknown Thank you! |
|
June 16, 2015, 05:26 |
|
#2 |
Member
Join Date: Feb 2015
Posts: 39
Rep Power: 11 |
Hi cStef,
I tried to figure out this one as well. My best source so far was: http://de.slideshare.net/fumiyanozak...cacmi-34456484 Maybe you are lucky enough to find someone that speaks Japanese. I just know that the slide 17 mentions he does not know what unknown and coincidentFullMatch mean. Maybe it would be best to inspect the source code for that. However, here is what I think the other three are used for: rotational: for peridic cyclic boundary condition. So if you have 5 blades on a fan it might be wise to just simulate 1/5 of 360° and use the results on one side as a input on the other one (and vice versa) translational: for periodic translational boundary conditions. Imagine the rows in a plane or train. As a first approach you just might want to simulate one row and assume it repeats to infinity. So you just connect the front and the back plane with this setting. Or even simpler: Instead of simulating a very long pipe you just might want to repeat a short part again and again by connecting the outlet to the inlet. noOrdering: This one is for adjacent boundaries. This one I am not so sure about because I just started sliding meshes. But basically you seem to use this one for connecting meshes with each other where the interaction of the meshes is changing or not the same all the time. As I said, I just started to look into it, so it would be nice if someone else could confirm my thoughts or correct them. But be careful: I recently set my boundary "transform" to "rotational" for a rotational sliding mesh and somehow it ran. However, the results where not convincing me (not saying they are wrong, but there is no symmetry where one would exspect one, no smooth transition in velocity between the meshes). When I tried to refine the mesh my simulation crashed before the first timestep (problems with souce and target faces). So it seems to me that other settings for "transform" might work under certain circumstances, depending on your mesh, but are not neccessarly correct. I just found this error and switched to "noOrdering" and now it seems to be fine. Hopefully this solves at least my problem. Just wanted to let you guys know what can happen and maybe where to look if someone else as a similar problem. Good luck, Henning |
|
October 8, 2015, 08:56 |
|
#3 | |
New Member
Hannes Grimm-Strele
Join Date: Sep 2015
Posts: 7
Rep Power: 11 |
Hi HenningW,
thanks for you interesting explanations. I looked at the presentation and, with the help of Google translate and a colleague, I got the same idea as you. Do I correctly understand that these keywords are available for both the cyclic and the cyclicAMI boundary condition type? Quote:
Hannes |
||
October 8, 2015, 11:55 |
|
#4 | ||
Member
Join Date: Feb 2015
Posts: 39
Rep Power: 11 |
Hi Hannes,
Quote:
Quote:
Code:
//.. geometry { //.. cylinder_left.stl { type triSurfaceMesh; name slidingCellZoneLeft; appendRegionName false; } cylinder_right.stl { type triSurfaceMesh; name slidingCellZoneRight; appendRegionName false; } } //.. castellatedMeshControls { features ( ); refinementSurfaces { //.. slidingCellZoneLeft { cellZoneInside inside; cellZone movingZoneLeft; faceType boundary; faceZone movingZoneLeft; level ( 2 2 ); } slidingCellZoneRight { cellZoneInside inside; cellZone movingZoneRight; faceType boundary; faceZone movingZoneRight; level ( 2 2 ); } } } // ... repatchRegions { movingPatchLeft { location ( 0.0 0.1 -0.04 ); excludePatches ( slidingCellZoneLeft slidingCellZoneLeft_slave ); zone movingZoneLeft; } movingPatchRight { location ( 0.0 0.1 0.04 ); excludePatches ( slidingCellZoneRight slidingCellZoneRight_slave ); zone movingZoneRight; } } On more advice from experience: Don't let the cylinder directly end with your geometry unless the wall on the inner geometry moves along a solid wall. For example my airfoil was rotation along a non-slip wall on one side and was moving the the domain on the other side. OF did not like the movement of the airfoil's sidewall in the domain. I always got errors regarding the connection/weighting of the cells. Either increase the size of the cylinder slightly so some inner domain is moved with the geometry and no change between wall and fluid cells occurs (inner cells & inner cells work just fine) or try ACMI, which might also solve the problem (i have not checked that, though). Hope that helps, Henning Last edited by HenningW; October 9, 2015 at 05:27. |
|||
October 9, 2015, 04:09 |
|
#5 | |
New Member
Hannes Grimm-Strele
Join Date: Sep 2015
Posts: 7
Rep Power: 11 |
Again thank you for your explanations.
Quote:
|
||
October 9, 2015, 04:30 |
|
#6 |
Member
Join Date: Feb 2015
Posts: 39
Rep Power: 11 |
As far as I know you either use "rotational" transformation with the type "cyclic" (e.g. a wedge that repeats x-times during a revolution) OR "noOrdering" transformation with "cyclicAMI" for sliding meshes. To my knowledge the first one needs an identical mesh on both patches, while the second one does not. It is weighted based on the area of the overlapping cells between the master and the slave. Even with the same mesh it would change due to the shift of the meshes towards each other.
Edit: The combination of "rotational" and "cyclicAMI" lead to strange results in my case. That is why assume it does not make sense from a physical point of view (at least for my case). Edit: Sorry, I think I misread you comment. I am not sure if the combination "rotational" and "cyclicAMI" (in case they make sense) with need patches with a surface mesh that is somewhat identical. But I am quite confident that the surface geometry itself has to be identical within some tolerance. Last edited by HenningW; October 9, 2015 at 05:32. |
|
July 19, 2016, 08:52 |
|
#7 | |
New Member
Pin Lyu
Join Date: Mar 2016
Location: Harbin
Posts: 6
Rep Power: 10 |
Quote:
|
||
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
[OpenFOAM.org] compile error in dynamicMesh and thermophysicalModels libraries | NickG | OpenFOAM Installation | 3 | December 30, 2019 01:21 |
boundary conditions for simpleFoam calculation | foam_noob | OpenFOAM Running, Solving & CFD | 8 | July 1, 2015 09:07 |
interFoam/kOmegaSST tank filling with printStackError/Mules | simpomann | OpenFOAM Running, Solving & CFD | 3 | February 17, 2014 18:06 |
Temperature Issue in OpenFOAM-2.2.0 | prasant | OpenFOAM | 0 | March 12, 2013 08:17 |
pipe flow with heat transfer | Fabian | OpenFOAM | 2 | December 12, 2009 05:53 |