CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Running, Solving & CFD

Propeller case in AMI tutorial

Register Blogs Community New Posts Updated Threads Search

Like Tree7Likes

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   July 19, 2013, 08:29
Default
  #41
Member
 
Join Date: Apr 2013
Posts: 32
Rep Power: 13
simt is on a distinguished road
Thanks alot for sharing your conclusion, great!
simt is offline   Reply With Quote

Old   July 19, 2013, 08:33
Default
  #42
Senior Member
 
Artur's Avatar
 
Artur
Join Date: May 2013
Location: Southampton, UK
Posts: 372
Rep Power: 20
Artur will become famous soon enough
Just as an add-on, as I feel it is relevant: I am running at maxCo of 2.0 or 2.5, depending on how desperate I am on computational time, which usually yields time steps of 1.5e-4 - 2.0e-4 s for this case. That means the blade moves roughly 0.8 deg/time step.
Artur is offline   Reply With Quote

Old   July 19, 2013, 16:41
Default
  #43
Member
 
reza1980's Avatar
 
reza
Join Date: Jan 2013
Location: Goteborg-Sweden
Posts: 79
Rep Power: 13
reza1980 is on a distinguished road
Artur,
I tried to handle my case with the method suggested in tut.
I used my mesh and just applied the createAMIFaces.topoSetDict to create the AMI cellzones instead of using
splitMeshRegions -makeCellZones -overwrite

but I am wondering why innerCylinderSmallFace,and the other created Dic in set folder are empty.

Please, Look at the attachment that is made relevant my AMI cylinder.
Best
Reza
Attached Files
File Type: gz createAMIFaces.topoSetDict.tar.gz (680 Bytes, 71 views)
reza1980 is offline   Reply With Quote

Old   July 22, 2013, 04:43
Default
  #44
Senior Member
 
Artur's Avatar
 
Artur
Join Date: May 2013
Location: Southampton, UK
Posts: 372
Rep Power: 20
Artur will become famous soon enough
hmm... I don't see anything standing out that could be wrong with this dict. Have you cleared all the folders properly so that there are not sets present before running topoSet?
Artur is offline   Reply With Quote

Old   August 14, 2013, 11:15
Default
  #45
Member
 
Join Date: Aug 2013
Posts: 50
Rep Power: 13
nash is on a distinguished road
during the sHM there are faceZone as well as cellZone generated for innerCylinderSmall.

can i use this :

  • cellZone for the dynamicMeshDict?
  • faceZone createBafflesDict? which by doing this i can skip the createAMIFaces.topoSetDict.
incase of radial fan, the flow is upwards into fan and then the flow is radial.

i cant figure it out how to set the normalToSurface in createInletOutletSets.topoSetDict since the flow is differ from propeller.


Code:
 {
        name    outletFaces;
        type    faceSet;
        action  subset;
        source  normalToFace;
        sourceInfo
        {
            normal  (0 -1 0);   // Vector
            cos     0.3;        // Tolerance (max cos of angle)
        }
    }

    {
        name    inletFaces;
        type    faceSet;
        action  subset;
        source  normalToFace;
        sourceInfo
        {
            normal  (0 1 0);    // Vector
            cos     0.3;        // Tolerance (max cos of angle)
        }
    }
lets say if i already have the inlet and outlet generated from the sHM from STL , can i skip the part of creating the inlet and outlet patch?

Code:
Adding patches for surface regions
 ----------------------------------  
Patch    Type    Region 
-----    ----    ------ 
fan:  
5    wall    fan_rotor-layersides 
6    wall    fan_rotor-mrf-02 
7    wall    fan_casing-schwarz-03 
8    wall    fan_rotor-mrf-layer-02 
9    wall    fan_rotor-mrf-01 
10    wall    fan_casing 
11    wall    fan_plane 
12    wall    fan_inlet 
13    wall    fan_outlet 
14    wall    fan_channel 
15    wall    fan_casing-outter 
16    wall    fan_casing-mrf 
17    wall   fan_casing-02 
18    wall   fan_rotor--mrf-layer-01  

mrfDomain:  
19    wall    mrfDomain_frameboarder-interior 
20    wall    mrfDomain_frameboarder-interior_slave
but i'm not sure wether it is patch or just a region with the name fan_outlet and fan_inlet.

thank you in advance
nash is offline   Reply With Quote

Old   August 14, 2013, 12:41
Default
  #46
Senior Member
 
Artur's Avatar
 
Artur
Join Date: May 2013
Location: Southampton, UK
Posts: 372
Rep Power: 20
Artur will become famous soon enough
1. I think you can use the cellzones created by sHM, I recall that I did it some time ago and it worked but there was something about it that made me stick to the approach proposed by the tutorial (I'm really sorry but I can't recall what it was). So my answer would be: you can do it but be careful.

2. I'm not sure what you mean by:
Quote:
i cant figure it out how to set the normalToSurface in createInletOutletSets.topoSetDict since the flow is differ from propeller.
The normal vector is just a surface normal of the faces being selected. For instance, if the flow is parallel to x axis in the -ve direction and I want to select the inlet faces then I use:
Code:
normal  (1 0 0);
The cosine of angle is the tolerance of how closely the faces need to conform to the normal vector criterion in order to be selected. For a reasonably orthogonal mesh 0.3 or even less seems to work O.K. for me.

3. If you create your patches otherwise then I don't see why you shouldn't use them as they are. Be careful though, sometimes it is necessary to call
Code:
createPatch -overwrite
in order to remove empty patches from the boundary file (whether you do need it or not depends on how you go about things).

4. I'm not sure what you mean by the last question. The best way to check what patches you have is to a) check your boundary file b) misspell one patch name deliberately and try to run your case: all available patches should be printed on the screen together with the error message.
Artur is offline   Reply With Quote

Old   August 14, 2013, 13:00
Default
  #47
Member
 
Join Date: Aug 2013
Posts: 50
Rep Power: 13
nash is on a distinguished road
in the boundary i can see the listed patches by log.sHM, so they are patch and type wall. am i correct?

Last edited by nash; August 15, 2013 at 04:32.
nash is offline   Reply With Quote

Old   August 23, 2013, 20:01
Default
  #48
Member
 
Join Date: Aug 2013
Posts: 50
Rep Power: 13
nash is on a distinguished road
Hi everyone,

Just a quick view of what i have done so far..
after reading this thread and also the thread here
http://www.cfd-online.com/Forums/ope...ing-ami-8.html

i tried to prepare case for simulation of centrifugal fan.

i'm using sHM from my simpleFoam MRF case. (2 stl file: for the geometry (fan and casing or rotor and stator; and AMI which is cylinder covering the rotor part)

to create AMI:
1) i removed the faceZone and cellZone created by sHM (patches like inlet outlet etc. generated within sHM)
2) followed the step using topoSet dict except for the createPatch for inlet outlet since i already have the patches. Instead of using cylinderToCell ( i dont know the p1 p2 and radii), i used surfaceToCell from the stl file.
3) createBaffles using the faceZone for AMI and cellZone for dynamicMesh.

after that used paraView to have a look at my AMI.

1) should the AMI looks the same as what in STL file?? because i got a cylinder but the bottom side is open ( i will include the image next week since now i dont have access to the file)

i hope someone can help me
thank you in advance
nash is offline   Reply With Quote

Old   August 24, 2013, 11:55
Default rotatingWallVelocity or movingWallVelocity
  #49
Senior Member
 
stephane sanchi
Join Date: Mar 2009
Posts: 314
Rep Power: 18
openfoam_user is on a distinguished road
Hi,

in the following tutorial

~/OpenFOAM/OpenFOAM-2.2.x/tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI

the rotatingWallVelocity BC is used.

Stephane.
openfoam_user is offline   Reply With Quote

Old   October 1, 2013, 11:53
Default cavitation steps
  #50
New Member
 
samir
Join Date: Sep 2011
Location: Algeria
Posts: 16
Rep Power: 15
samir_cfd is on a distinguished road
Send a message via MSN to samir_cfd Send a message via Skype™ to samir_cfd
Hello !!

Please I am simulating cavitation of full 5 bladed marine propeller using Ansys Fluent, with sliding mesh

I am new in simulating multiphase flow, and i need if it is possible steps to simulate cavitation using Fluent

Best regards

Samir
samir_cfd is offline   Reply With Quote

Old   October 1, 2013, 12:47
Default
  #51
Senior Member
 
Artur's Avatar
 
Artur
Join Date: May 2013
Location: Southampton, UK
Posts: 372
Rep Power: 20
Artur will become famous soon enough
Hi,

You will note that this thread is a part of the OpenFOAM users' forum. I think you will get much more feedback if you post your question in the Fluent section.

Regards,

A
Artur is offline   Reply With Quote

Old   October 1, 2013, 13:06
Default
  #52
New Member
 
samir
Join Date: Sep 2011
Location: Algeria
Posts: 16
Rep Power: 15
samir_cfd is on a distinguished road
Send a message via MSN to samir_cfd Send a message via Skype™ to samir_cfd
Thanks Artur

I found just one commenter who work with fluent for marine propeller
samir_cfd is offline   Reply With Quote

Old   December 21, 2016, 02:49
Default
  #53
Member
 
Aldias Bahatmaka
Join Date: Aug 2015
Location: Geoje Island, South Korea
Posts: 43
Rep Power: 11
bmaldi is on a distinguished road
Quote:
Originally Posted by reza1980 View Post
Hi Artur,
I would thank you for your reply.One odd thing in the tutorial is not satisfying no-slip condition on the propeller that I can see same on my case as well.
What motivated me to check out the results of the tutorial is my project. It is related to a tanker propeller model meshed by pointwise that should be compared with the experimental values for open-water and self-propelled case.
The techniques are AMI and MRF ,To approach AMI I did as below:
  • create two parts as rotor(inner cylinder that is rotating)and stator (not rotating outer part) .
  • merge two parts through implement mergeMeshes stator rotor.
  • rename the type of boundary AMI from patch to cyclic AMI and add the neighborhood and tolerance and update 0 folder .
  • use topoSet or splitMeshRegions -makeCellZones -overwrite to create the cellZones and update the dynamicmeshDic.
  • Run pimpleDyMFoam as parallel on network(claster).
For MRF is almost same except the applying stitches ,stitchMesh,instead of split and Remove manually the empty boundaries (0 faces) from constant/boundaries file.
My case includes 3.5 mil cells and the results approaches converged for AMI and MRF. But what I suffers me is to have backflow for two cases on the tip of blades and a noticeable gap between the thrust force
obtained from experimental and numerical values ,around 40%,in AMI.
Furthermore,MRF shows close results to the experiment ,just 12.3% difference,would be agreeable.
Hello Mr.Reza,
can i ask something to you? how if we want to simulate for ducted propeller case, propeller that has nozzle and what should we do with the boundaries? I assumed that the nozzle is not rotating, propeller only for rotating, but when i did in AMI structure in openFoam, i had some problems, the run process stopped, and i don't know the exactly error. but when i did in MRF case, there was no problem, could you help me for the problem?
bmaldi is offline   Reply With Quote

Old   January 22, 2017, 11:35
Default merge mesh in openfoam
  #54
New Member
 
Javid
Join Date: Dec 2016
Posts: 2
Rep Power: 0
javid629 is on a distinguished road
hello,
i am trying to simulate flow around propeller in openfoam. for this purpose i create two meshes in pointwise and exported mesh to openfoam, one for rotating domain and second for stationary, now i want to merge two meshes in open foam, how can i do this?
javid629 is offline   Reply With Quote

Old   January 23, 2017, 06:05
Default
  #55
Senior Member
 
Artur's Avatar
 
Artur
Join Date: May 2013
Location: Southampton, UK
Posts: 372
Rep Power: 20
Artur will become famous soon enough
You'll need to export them to separate test cases as "rotor" and "stator" or something along those lines and then use the "mergeMeshes" tool:
https://openfoamwiki.net/index.php/MergeMeshes
http://www.sourceflux.de/blog/genera...snappyhexmesh/
Artur is offline   Reply With Quote

Old   February 16, 2017, 08:24
Default problem with AMI building
  #56
New Member
 
Andrea Mala
Join Date: Nov 2016
Posts: 7
Rep Power: 10
andrea.mala is on a distinguished road
Hi all,
it is the first time that I write, but I follow you a few months. Thanks to your previous post, I was able to adapt the propeller tutorial to my case of a fan of an industrial oven (I used SHM propellerTip.obj replacing the file with a propeller STL files and varying parameters such as epsilon, k , nu, Maxco). The simulation converges and everything seems to be good.
At this point, I tried to replicate the same case using an external meshing (Hexpress of Numeca) instead of SHM.
First street, I built two meshes (external hollow cylinder and a small cylinder inside) and I used mergeMeshes and createPatch following your advice (I've also tried it with createBaffles) to create AMI1 and AMI2. When I start the simulations, however, I have weight problems (I think because the two interfaces have a different number of faces and align bad. Unfortunately I was not able to overcome this problem by using directly Hexpress (any advice on this point is appreciated).
Second road, I built a mesh with inside the fan and I used topoSet and createBaffles (as done in the propeller tutorial editing these files) to create AMI1 and AMI2. In this case, I get interfaces with the same number of faces that are well aligned in terms of weight. The simulation, however, diverges immediately. Opening the geometry with paraview, known that AMI1 and AMI2 not have a cylindrical contour, but are constituted by a "step" cells (which is not the case using SHM). This leads me to think it is due to the fact of not having a "guide" cylinder inside the mesh (as innerCylinderSmall for SHM).
So, third street, I built a single mesh with the small cylinder inside and the fan. But if at this point I try to create AMI1 and AMI2 with topoSet (as in the propeller tutorial, building a cylinder with cellToCylinder the same size as the one inside the mesh) the faceZone (amiCylinderFace) is empty.

I kindly ask you tips or ideas on how to proceed, because these roads do not seem to work. Thank you.
Andrea
andrea.mala is offline   Reply With Quote

Old   February 16, 2017, 12:38
Default
  #57
Senior Member
 
Artur's Avatar
 
Artur
Join Date: May 2013
Location: Southampton, UK
Posts: 372
Rep Power: 20
Artur will become famous soon enough
Hi,

Glad to hear you found some of my posts useful. Definitely the 3rd approach you're describing (with including a cylinder in the mesh and then splitting it the same way you'd do with snappyHexMesh) is the correct way to do things.

There are a number of reasons why topoSet wouldn't work, difficult to say exactly without looking at the mesh. Do the cells inside the cylinder get added to the cell set at all? Have you tried running renumberMesh after exporting? (I've had some issues with Pointwise OF exports, not sure about Hexpress since I never used it). Can you post some screenshots of the grid (I realise the geometry is probably sensitive but maybe you can show the mesh without the actual fan somehow).

Sorry I couldn't be of more help at this stage.

A
Artur is offline   Reply With Quote

Old   February 20, 2017, 08:19
Default
  #58
New Member
 
Andrea Mala
Join Date: Nov 2016
Posts: 7
Rep Power: 10
andrea.mala is on a distinguished road
Hello Artur,
thanks for your immediate response and sorry if I could not answer you before but I had to finish another job.
Unfortunately I felt like on your advice with renumberMesh, but the problem is not solved. Indeed, the geometry of the fan is sensitive, so I made a change to the model by inserting a small hollow cylinder in place of the hollow fan, but the concept and the problem of the two cylinders should always be the same. I am attaching the mesh screen shoots, the log.topoSet file and topoSetDict file.
If you need more and want to check it out when you have time I can send you the complete case.
Also I write on NUMECA Hexpress forum to try to have other information about it.

Thanks for your help.
Andrea
Attached Images
File Type: jpg Mesh screenshot1.jpg (101.7 KB, 56 views)
File Type: jpg Mesh screenshot2.jpg (190.2 KB, 45 views)
File Type: jpg Mesh screenshot3.jpg (125.9 KB, 40 views)
Attached Files
File Type: txt log.topoSet.txt (2.4 KB, 11 views)
File Type: txt topoSetDict.txt (3.3 KB, 21 views)
andrea.mala is offline   Reply With Quote

Old   February 20, 2017, 09:54
Default
  #59
Senior Member
 
Artur's Avatar
 
Artur
Join Date: May 2013
Location: Southampton, UK
Posts: 372
Rep Power: 20
Artur will become famous soon enough
Hi,

Hmm, the mesh seems OK at the first glance. One thing which I've found to help with the weightings going to zero sometimes is to coarsen the grid at the AMI instead of making it finer (it seems counter-intuitive but somehow manges to help with snappy, not sure with hexpress).

Another thing I noticed is that your amiCylinderFaceZone has zero size:
Code:
faceZoneSet amiCylinder now size 0
Doesn't that lead to problems with patch creation after topoSet?

Hope the hexpress support comes through.

All the best

A
Artur is offline   Reply With Quote

Old   February 20, 2017, 12:57
Default
  #60
New Member
 
Andrea Mala
Join Date: Nov 2016
Posts: 7
Rep Power: 10
andrea.mala is on a distinguished road
Hello Artur,
Thank you for your answer. Unfortunately, the problem is precisely that. Do not understand why using Hexpress the "subset" take me to have a faceZoneSet size 0. What I thought is that probably Hexpress size cells exactly to the edge of the small cylinder (where I want the AMI interface) and thus the cells belong or the small cylinder or the outer one but there are no cells in common to the two cylinders and therefore "subset" does not work (I wonder if you think it can be a correct reasoning).
In fact I tried to widen slightly the amyCylinder (cellToCylinder slightly larger), but in this case I fall into the problem of having rung cells as AMI interface.
I also made another attempt to understand if the problem was that, I used a smaller cylinder with cellToCylinder and used "invert" to build the outer cylinder and therefore have a region of cells in common between the small cylinder and the outer cylinder. In this way indeed the faceZoneSet not empty, but then creating the Baffles have faces that are aligned badly with consequent problems of weight.

Unfortunately I do not know which way to go, anything seems not to work.

Andrea
andrea.mala is offline   Reply With Quote

Reply


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
MRF and employing on a propeller case reza1980 OpenFOAM 10 December 23, 2017 12:29
A questionable Tutorial test case immortality OpenFOAM Running, Solving & CFD 0 December 5, 2012 09:40
propeller tutorial openfoam_user OpenFOAM Running, Solving & CFD 0 February 8, 2012 05:02
tutorial copying troubles / new case Gabbee90 OpenFOAM Running, Solving & CFD 0 June 3, 2011 22:50
FoamX refuses to open an interFoam tutorial case vrecha OpenFOAM Pre-Processing 5 March 12, 2008 13:36


All times are GMT -4. The time now is 18:15.