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

sunny01 November 27, 2009 11:06

lduSolver compiling error
 
Hi Andrea,

I am facing exactly the same problem as you are. Have you been able to sort it out yet - seems no one has replied to your post.

Please kindly advise me what to do if you have fixed the problem. I get exactly the same error message as you reported when I try to compile lduSolver:

error: expected class-name before "{" token


Otherwise I will be glad if anyone knows the solution to this problem and is able to help.

Thanks for your anticipated reply.

Sunny

jnilsson May 25, 2010 07:08

Hi!

I'm also intrested in calculating the tangential surface gradient as in the example is said to do, however the links do no longer work. If anyone would like to share it with me once again it could help me a lot.

Thank you in advance.


/ Johan



Quote:

Originally Posted by tehache (Post 204227)
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/~jung/surfGradCase.tgz

http://servww6.ww.uni-erlangen.de/~jung/surfaceGradientFoam.tgz


Quote:

Originally Posted by ztukovic (Post 204223)
Tangential gradient can be calculated using finite are calculus. See the attached application and case.


Regards,
Zeljko Tukovic



All times are GMT -4. The time now is 06:38.