CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > OpenFOAM Bugs

Prossible wrong in the LimitedScheme.C ?

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

Reply
 
LinkBack Thread Tools Display Modes
Old   August 24, 2009, 01:38
Default Prossible wrong in the LimitedScheme.C ?
  #1
New Member
 
Liu Huafei
Join Date: Mar 2009
Location: Shanghai, China
Posts: 20
Rep Power: 7
liuhuafei is on a distinguished road
Prossible wrong in the LimitedScheme.C
In LimitedScheme.C
template<class Type, class Limiter, template<class> class LimitFunc>
tmp<surfaceScalarField> LimitedScheme<Type, Limiter, LimitFunc>::limiter
(
const GeometricField<Type, fvPatchField, volMesh>& phi
) const
{
..... for internal faces .................
forAll(pLim, face)
{
label own = owner[face];
label nei = neighbour[face];
pLim[face] = Limiter::limiter
(
CDweights[face],
this->faceFlux_[face],
lPhi[own],
lPhi[nei],
gradc[own],
gradc[nei],
C[nei] - C[own]
);
}
question 1: why the distance vector is C[nei]-C[own],
no correction for the nonorthgonal grid?

-----------for the boundary----------------------
GeometricField<typename Limiter::gradPhiType, fvPatchField, volMesh>
gradc(fvc::grad(lPhi));
forAll(bLim, patchi)
{
scalarField& pLim = bLim[patchi];
if (bLim[patchi].coupled())
{
Field<typename Limiter:hiType> plPhiN =
lPhi.boundaryField()[patchi].patchNeighbourField();
Field<typename Limiter::gradPhiType> pGradcN =
gradc.boundaryField()[patchi].patchNeighbourField();
// Build the d-vectors
vectorField pd =
mesh.Sf().boundaryField()[patchi]
/(
mesh.magSf().boundaryField()[patchi]
*mesh.deltaCoeffs().boundaryField()[patchi]
);
if (!mesh.orthogonal())
{
pd -= mesh.correctionVectors().boundaryField()[patchi]
/mesh.deltaCoeffs().boundaryField()[patchi];
}
forAll(pLim, face)
{
pLim[face] = Limiter::limiter
(
pCDweights[face],
pFaceFlux[face],
plPhiP[face],
plPhiN[face],
pGradcP[face],
pGradcN[face],
pd[face]
);
}
}
else
{
pLim = 1.0;
}
}
question 2:
The pGradcN[face] is neighbour cell's gradient. For the coupled boundary, for examples,the neighbour cell is virtual N',not the real cell?
The virtual N' is got by rotated by N? How can we get the gradient of N'? The gradient of N' is equal to that of N?
liuhuafei is offline   Reply With Quote

Old   August 24, 2009, 19:53
Default
  #2
New Member
 
Liu Huafei
Join Date: Mar 2009
Location: Shanghai, China
Posts: 20
Rep Power: 7
liuhuafei is on a distinguished road
For example

For the cycle boundary,We have a pair of cell, P and N. We need rotate the N to N' by transformation. On calculation of the limiter function,we need the gradient of N' cell. How can we get it. The gradient function of openFoam doesn't treat the coupled boundary.

But the gradient of N' is equal to that of N?
We need the transformation of the gradient of N to get the gradient of N' like other vector variable?



template<class Type> void gaussGrad<Type>::correctBoundaryConditions
( const GeometricField<Type, fvPatchField, volMesh>& vsf,
GeometricField <typename outerProduct<vector, Type>::type, fvPatchField, volMesh >& gGrad){
forAll(vsf.boundaryField(), patchi)
{
if (!vsf.boundaryField()[patchi].coupled())
{
vectorField n =
vsf.mesh().Sf().boundaryField()[patchi]
/vsf.mesh().magSf().boundaryField()[patchi];
gGrad.boundaryField()[patchi] += n *
(
vsf.boundaryField()[patchi].snGrad()
- (n & gGrad.boundaryField()[patchi])
);
}
}
}
liuhuafei is offline   Reply With Quote

Old   August 24, 2009, 19:54
Default
  #3
New Member
 
Liu Huafei
Join Date: Mar 2009
Location: Shanghai, China
Posts: 20
Rep Power: 7
liuhuafei is on a distinguished road
liuhuafei is offline   Reply With Quote

Old   August 24, 2009, 19:56
Default
  #4
New Member
 
Liu Huafei
Join Date: Mar 2009
Location: Shanghai, China
Posts: 20
Rep Power: 7
liuhuafei is on a distinguished road
Quote:
[IMG]file:///c:/Clip_12.jpg[/IMG]
the figure of cycle boundary
liuhuafei is offline   Reply With Quote

Reply

Thread Tools
Display Modes

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 On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
What's wrong? Non-conform mesh problem!!! Neo FLUENT 1 March 31, 2013 15:00
Warning: Dynamic zone with wrong CG using 6DOF Manoj Kumar FLUENT 1 August 11, 2012 04:03
udf error srihari FLUENT 0 February 9, 2009 09:00
Pressure contour seems wrong??? Harry Qiu FLUENT 1 June 29, 2001 05:53
What's wrong with my UDF? olivia FLUENT 1 June 23, 2001 17:06


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