|
[Sponsors] |
February 14, 2011, 10:11 |
surface gradient
|
#1 |
Member
Join Date: Aug 2010
Posts: 31
Rep Power: 15 |
Hi,
in the openFoam programmer's guide on P-40 there is an explanation for the surface normal gradient: surfaceScalarField gradnq=fvc::snGrad(q); which gives (grad(q))_f*n_f. I want to calculate only grad(q)_f , it should be something like: surfaceVectorField gradq=????????(q); Maybe someone has an useful idea, thanks, M. |
|
March 8, 2011, 08:25 |
|
#2 |
Senior Member
Gijsbert Wierink
Join Date: Mar 2009
Posts: 383
Rep Power: 18 |
Hi Martin,
Isn't that simply fvc::grad()? Or am I missing the point of your question?
__________________
Regards, Gijs |
|
March 9, 2011, 10:53 |
|
#3 |
Member
Join Date: Aug 2010
Posts: 31
Rep Power: 15 |
Hi Gijs,
Thanks for your reply, fvc::grad is using the Gauss integral theory to calculate the gradient at the cell center – so it's not what I was seeking for. As I can see now, the gradient at the face center will not be calculated within the snGrad calculation. The surface normal Gradient (for an orthogonal mesh) will be calculated directly by g[faceI]=(v[neighbour[faceI]]-v[owner[faceI]])/d (This can be seen in src/finiteVolume/finiteVolume/snGradSchemes/snGradScheme.C on line 142.) The calculation applies to internal Faces. For fully understanding I would like to know how the snGrad is calculated on boundary Faces. Maybe you (or someone else) can tell me where I can find the calculation for snGrad on the boundary faces. Thanks, Martin. |
|
March 9, 2011, 11:21 |
|
#4 |
Senior Member
Gijsbert Wierink
Join Date: Mar 2009
Posts: 383
Rep Power: 18 |
Hi Martin,
Right, I see . I am not entirely sure, but from the discussion here I gather that $WM_PROJECT_DIR/applications/utilities/postProcessing/wall/wallGradU.C contains some hints. In particular, this might be interesting: Code:
forAll(wallGradU.boundaryField(), patchi) { wallGradU.boundaryField()[patchi] = - U.boundaryField()[patchi].snGrad(); }
__________________
Regards, Gijs |
|
March 10, 2011, 04:07 |
|
#5 |
Member
Join Date: Aug 2010
Posts: 31
Rep Power: 15 |
Hi Gijs,
I think in your example snGrad() will also be used as a member function of the boundary field (patchfield). I think I have found the calculation in src/finiteVolume/fields/fvPatchFields/fvPatchField/fvPatchField.C in line 180: // Return gradient at boundary template<class Type> Foam::tmp<Foam::Field<Type> > Foam::fvPatchField<Type>::snGrad() const { return (*this - patchInternalField())*patch_.deltaCoeffs(); } Now I will try to find out if there is a non-orthogonal mesh correction of the surface normal gradient on the boundary. M. |
|
March 17, 2011, 10:16 |
|
#6 |
New Member
Alicja M
Join Date: Mar 2009
Location: Erlangen, DE
Posts: 26
Rep Power: 17 |
||
March 17, 2011, 14:13 |
|
#7 | ||
Senior Member
Gijsbert Wierink
Join Date: Mar 2009
Posts: 383
Rep Power: 18 |
Hi Alicja,
Quote:
Quote:
__________________
Regards, Gijs |
|||
March 17, 2011, 15:21 |
|
#8 |
New Member
Alicja M
Join Date: Mar 2009
Location: Erlangen, DE
Posts: 26
Rep Power: 17 |
Hi Gijs!
Thx for your Answer! I have a further question about fvc:: (alpha). I use the most simple discretisation scheme, 'Gauss linear'. I took a look at interFoam solver. I want to know, how is the curvature calculated. I have this to discretise: See interfaceProperties.C To calculate : firstly i calculate fvc::grad(alpha). So i 've run debug modus and i was in this class, gaussGrad.C firstly at line 134 and then at line 55. You see at the line 113 multiplikation with . Which term is the correct one, (1) or (2)? (1) fvc::grad(alpha) or (2) fvc::grad(alpha) ? I think the term (1) is the correct one. Perhaps later when i build the matrix or equation system i do multiply with . See fvMatrix.C at the line 1448. But i'm not sure. Greetings, Alicja Last edited by ala; March 18, 2011 at 02:26. |
|
May 27, 2013, 06:30 |
|
#9 | |
Member
Emad Tandis
Join Date: Sep 2010
Posts: 77
Rep Power: 15 |
Quote:
the first one is true but not with dot product(.) . because it's for divergence not grad. |
||
August 30, 2013, 14:57 |
snGradient
|
#10 |
Member
Join Date: Oct 2012
Posts: 47
Rep Power: 13 |
hi
i need the formulation of crrected snGradien scheme for laplacian(Q) can help me? |
|
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
[Gmsh] Error : Self intersecting surface mesh, computing intersections & Error : Impossible | velan | OpenFOAM Meshing & Mesh Conversion | 3 | October 22, 2015 11:05 |
[Gmsh] Problem with Gmsh | nishant_hull | OpenFOAM Meshing & Mesh Conversion | 23 | August 5, 2015 02:09 |
[Gmsh] boundaries with gmshToFoam | ouafa | OpenFOAM Meshing & Mesh Conversion | 7 | May 21, 2010 12:43 |
surface tension gradient on a free surface | Abrem | FLUENT | 1 | April 30, 2006 03:41 |
CFX4.3 -build analysis form | Chie Min | CFX | 5 | July 12, 2001 23:19 |