# Faces of a cell

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

 March 14, 2011, 11:04 Faces of a cell #1 Senior Member   Andrea Ferrari Join Date: Dec 2010 Posts: 314 Rep Power: 10 Hi all, probably a very simple question. How can i access the faces of a particular cell? I would like to loop over all the cell and for every cell[i] over all the face. Thanks Andrea

 March 14, 2011, 11:20 #2 Senior Member   Niels Gjoel Jacobsen Join Date: Mar 2009 Location: Deltares, Delft, The Netherlands Posts: 1,759 Rep Power: 29 Hi Andrea You can get the information as: Code: `const labelListList & cellFaces = mesh.cellFaces();` Be aware that if you will access some surfaceField given the faces, you need to check whether or not the face label is internal. If not, then you need to access the value of this boundary face through the boundary field. Best regards, Niels rajibroy and mbookin like this.

 March 14, 2011, 11:44 #3 Senior Member   Andrea Ferrari Join Date: Dec 2010 Posts: 314 Rep Power: 10 Hi Niels, thanks for the answer. I need to know the values ​​of a variable (alpha1 using interFoam) belonging to the faces of a particular cell, and then loop for all the cell. Something like that: forAll(alpha1,celli) { alpha[celli] = sum(alpha[facei]*Sf[facei])/sum(Sf[facei]) } this does not work of course. I dont know where to put the loop on the correct faces belonging to the cell[i]. many thanks for any help andrea

 March 14, 2011, 12:00 #4 Senior Member   Bernhard Join Date: Sep 2009 Location: Delft Posts: 790 Rep Power: 15 Isn't fvc able to calculate what you want? I suppose fvc:div does something similar you what you want? I cannot give you the correct syntax though, but maybe someone else can help you out.

 March 14, 2011, 12:25 #5 Senior Member   Andrea Ferrari Join Date: Dec 2010 Posts: 314 Rep Power: 10 Hi, basically a need to smooth alpha on every cell and i would like to do that by using alpha on the face times area divided by the total area. So i need to sum alpha on the 4 faces. The divergence is a difference between values on the faces divided by deltax and i dont know if is the same that i need. andrea

 March 14, 2011, 13:35 #6 Member   Duong A. Hoang Join Date: Apr 2009 Location: Delft, Netherlands Posts: 93 Rep Power: 10 Hi Andrea, Take a look at src/finiteVolume/finiteVolume/fvc/fvcSurfaceIntegrate.C and what they do is very similar to what you want. I also did the smoothed alpha1, but I did not include the boundary value at all.

 June 8, 2011, 09:56 #7 New Member   Paweł Kuczyński Join Date: Feb 2011 Location: Warsaw, Poland Posts: 19 Rep Power: 9 Dear forumers, I decided to post my question inside this thread, as it is also somehow connected with looping over faces in a given cell. What I try to achieve is to get the face normal vector at every face in the cell, regardless it is a boundary cell or internal. I produced the following code...: Code: ``` const cell& faces = mesh_.cells()[cellI]; forAll( faces, i ) // loop over all faces in cellID { vector faceINormal = mesh_.Sf()[i] / mesh_.magSf()[i] ; Info << " i = " << i << ", faceINormal = " << faceINormal << endl ; }``` ...but the values of normal vectors I received are all of positive sign, all the components are of positive sign (on hexahedral mesh). I think in three normal vectors there should be at least one component of negative sign... Do you have any ideas? __________________ Best regards P. Kuczynski.

 April 29, 2013, 11:36 #8 Senior Member   Anne Gerdes Join Date: Aug 2010 Location: Hamburg Posts: 168 Rep Power: 9 Hey, have you solved your problem? I also would like to access the face normal vectors of internal faces.... Kind Regards Anne

 April 30, 2013, 02:23 #9 New Member   Paweł Kuczyński Join Date: Feb 2011 Location: Warsaw, Poland Posts: 19 Rep Power: 9 Yes, I solved the problem. The solution I got was correct. I.e. the components of normal vectors for an arbitrary cell can be in general of the same sign. The reason for this are the normal vector direction rules. In OpenFoam mesh normal vectors: - at boundary faces point out of the domain - at internal faces they point from the cell of lower global ID number to higher. Hope this helps, Best regards, kuczmas. babala likes this. __________________ Best regards P. Kuczynski.

 April 30, 2013, 07:16 #10 Senior Member   Lieven Join Date: Dec 2011 Location: Leuven, Belgium Posts: 298 Rep Power: 16 Just a small note, I think Code: `vector faceINormal = mesh_.Sf()[i] / mesh_.magSf()[i];` should be Code: ``` vector faceINormal = mesh_.Sf()[faces[i]] / mesh_.magSf()[faces[i]] ;``` Cheers, L

 April 30, 2013, 08:36 #11 Senior Member   Anne Gerdes Join Date: Aug 2010 Location: Hamburg Posts: 168 Rep Power: 9 Thank you for this hint. I will keep on trying. Kind Regards Anne

 May 29, 2016, 19:25 #12 Member   Thomas Oliveira Join Date: Apr 2015 Posts: 98 Rep Power: 4 Dear Niels, Could you please elaborate more on how to access the value of a surfaceField given face label if the face is not internal? I manage to acess the boundary field but I can't find out how to obtain a certain value from it knowing the face label. Best regards, Thomas

 May 12, 2017, 18:04 #13 New Member   Ashish Kumar Join Date: Jun 2015 Posts: 27 Rep Power: 4 How to identify that a particular facelabel is internal or boundary? I want to find out the face normal vectors irrespective of whether they are internal or at the boundary

 May 13, 2017, 03:59 #14 Senior Member   Alexey Matveichev Join Date: Aug 2011 Location: Nancy, France Posts: 1,808 Rep Power: 31 Hi, @ashish.svm Guess, you have already tried: https://cpp.openfoam.org/v4/a02014.h...c7903e486776a8, and failed. Could you describe difficulties, which using this method?

May 14, 2017, 00:57
#15
New Member

Ashish Kumar
Join Date: Jun 2015
Posts: 27
Rep Power: 4
Quote:
 Originally Posted by alexeym Hi, @ashish.svm Guess, you have already tried: https://cpp.openfoam.org/v4/a02014.h...c7903e486776a8, and failed. Could you describe difficulties, which using this method?
Thanks. "isInternalFace" helped.

 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 bejbro OpenFOAM Mesh Utilities 4 October 16, 2014 19:24 maka OpenFOAM Pre-Processing 6 August 12, 2010 09:01 chelvistero OpenFOAM 11 January 15, 2010 20:43 michele OpenFOAM Other Meshers: ICEM, Star, Ansys, Pointwise, GridPro, Ansa, ... 2 July 15, 2005 04:15 AB Siemens 6 November 15, 2004 05:41

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