CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (https://www.cfd-online.com/Forums/openfoam-solving/)
-   -   Gradients on surfaces or how to find neighbour faces for face on a patch (https://www.cfd-online.com/Forums/openfoam-solving/59702-gradients-surfaces-how-find-neighbour-faces-face-patch.html)

tehache May 7, 2007 10:09

Hi there, For a face on a p
 
Hi there,

For a face on a patch, I need variable values on the neighbouring faces (I want to compute a gradient on the surface).
I have spent quite some time now on it, but the only way I could figure out was to get the corresponding internal cell, cycle through its faces, get the neighbour cells for these faces, check their faces if they are external - in short, horribly messy and prone to errors.
Is there perhaps any hidden functionality which could give me that in an easier way?

Thank you!

Thomas

olesen May 7, 2007 10:19

It sounds like you really wish
 
It sounds like you really wish to be iterating over the boundary patches.

The quick-start would be to look at
applications/utilities/postProcessing/wall
and see if they do something similar to what you need.

tehache May 7, 2007 11:18

Thank you - but there is some
 
Thank you - but there is some misunderstanding:

@Marc: its not just iterating - for each face (I can iterate through faces) I would like to know the faces sharing edges with this face on the surface - which reminds me right now that somewhere I have seen a function called edgesFaces .... have to search again ...

@Bernhard:
snGrad gives me the gradient normal to surface, I need the tangential one ...

I have also tried to figure out the finiteArea stuff - there is some code to compute gradients on areaMeshes - here I am stuck with that I do not know (Yet?) how to construct a faMesh. Found a constructor taking a polyMesh - but is that only my surface mesh? If so, how to make a polyMesh from my boundaryMesh?
Questions, questions, questions ....

I think you can really get lost in OpenFOAM - a lifetime occupation http://www.cfd-online.com/OpenFOAM_D...part/happy.gif

ztukovic May 7, 2007 13:56

Tangential gradient can be cal
 
Tangential gradient can be calculated using finite are calculus. See the attached application and case.






Regards,
Zeljko Tukovic

tehache May 8, 2007 02:30

Zeljko, sounds great! But t
 
Zeljko, sounds great!

But the links dont work, there is just an image http://www.cfd-online.com/OpenFOAM_D...part/happy.gif

tehache May 8, 2007 02:44

sorry, just saw your mail.
 
sorry, just saw your mail.

Works out of the box, sweet!

Thank you a lot!

Thomas

normunds May 8, 2007 04:32

Hello! May I also have the
 
Hello!

May I also have the same example? The link in post above seems to be broken. Thank you a lot!

/Normunds

tehache May 8, 2007 07:33

Hi Normunds, I suppose its
 
Hi Normunds,

I suppose its o.k. if I post it here again, since Zeljko tried to do that already.
So here is what he tried to post and then sent me by mail:

http://servww6.ww.uni-erlangen.de/~j...rfGradCase.tgz

http://servww6.ww.uni-erlangen.de/~j...adientFoam.tgz

normunds May 8, 2007 08:02

I got it. Thank you very much
 
I got it. Thank you very much both, Zeljko and Thomas, with it I will save a lot of my time!

Have a nice day!

/normunds

tehache May 9, 2007 03:22

Zeljko, I just found out I
 
Zeljko,

I just found out I apparently need the utility makeFaMesh to generate the surface mesh, however, I cant find it.
Do you have a hint perhaps?

Thanks again!

Thomas

ztukovic May 9, 2007 03:34

OpenFOAM-1.3/applications/util
 
OpenFOAM-1.3/applications/utilities/mesh/generation/makeFaMesh

Regards
Zeljko

tehache May 9, 2007 03:51

no http://www.cfd-online.com/O
 
no http://www.cfd-online.com/OpenFOAM_D...part/happy.gif
its in tutorials/finiteAreaFoam/surfactantsTransport/makeFaMesh

(at least in my OpenFOAM-1.3..)
but thanks!

tehache May 9, 2007 04:19

to whom it may concern: the
 
to whom it may concern:

the above mentioned makeFaMesh fails

I then downloaded from http://powerlab.fsb.hr/ped/kturbo/OpenFOAM/release/ OpenFOAM-1.3.General_01_05_07.tgz, made a backup copy of my original finiteArea subdirectory, copied the one from the downloaded distribution there, built libfiniteArea.so again, built makeFaMesh again, and voila - got the finite area mesh.

tehache May 9, 2007 05:07

Zeljko, Is there perhaps an
 
Zeljko,

Is there perhaps an elegant way to transfer data from areaField (on surface mesh from a patch) to corresponding patchField (on patch from volume mesh) ?
Currently I am trying to iterate over them and to assign values, but have the strong feeling this is not OpenFOAM-Style http://www.cfd-online.com/OpenFOAM_D...part/happy.gif

ztukovic May 9, 2007 05:42

May I see how you performe the
 
May I see how you performe the transfer?

Zeljko

ztukovic May 9, 2007 06:36

You can do all that using the
 
You can do all that using the following line:

TSurf.internalField() = T.boundaryField()[pathcID];

where

patchID = mesh.boundaryMesh().findPatchID("top");


If your area mesh consists of only one patch, face ordering in the area mesh is the same as in the patch.

Zeljko

eugene May 9, 2007 07:18

Hi Zeljko, Do you plan on p
 
Hi Zeljko,

Do you plan on porting the finite Area code to 1.4?
Are parallel edge communications working yet?

Eugene

tehache May 9, 2007 07:35

alas ..... that changes everyt
 
alas ..... that changes everything ....
does it mean that code wont work in parallel?

ztukovic May 9, 2007 08:53

Yes, parallel edge communicati
 
Yes, parallel edge communications don't work yet. I plane to do that till the end of this year.

andrea June 22, 2009 09:15

finiteArea compiling error
 
hi everybody,
I would like to try the finiteArea method for a film simulation, I'm working with the 1.5 release and I downloaded the 1.5-dev in order to get the finite area stuff. But when I compile the lduSolver that I think it's needed for finiteArea I get this error:

In file included from lduPrecon/CholeskyPrecon/CholeskyPrecon.C:36:
lduPrecon/CholeskyPrecon/CholeskyPrecon.H:56: error: expected class-name before ‘{’ token

and this is the code line:

class CholeskyPrecon
:
public lduPreconditioner
{
// Private Data

Have you any hint?
I've tried also with folders of version 1.4-dev and 1.4.1-dev, with same results.

Thanks you in advance


All times are GMT -4. The time now is 07:53.