CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > OpenFOAM Running, Solving & CFD

About nonorthogonal correction in fvclaplacian

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

Like Tree1Likes
  • 1 Post By 7islands

Reply
 
LinkBack Thread Tools Display Modes
Old   April 26, 2007, 02:00
Default Hi, I've been solving a wave
  #1
Super Moderator
 
Takuya OSHIMA
Join Date: Mar 2009
Location: Niigata City, Japan
Posts: 517
Blog Entries: 1
Rep Power: 11
7islands is on a distinguished road
Hi,
I've been solving a wave propagation equation which is represented by fairly a simple equation of

fvm::d2dt2(phi) == c*fvc::laplacian(phi)

where phi is a volScalarField and c is a scalar constant.

Recently I was a little embarrassed to have found the uncorrected scheme (Gauss linear uncorrected) as the one for fvc::laplacian() gives much more stable solutions in tetrahedral meshes than the corrected one, because the correction should be meant for those kinds of non-orthogonal meshes.

After some digging into literature I found in the Prof. Jasak's PhD thesis there are three ways of doing nonorthogonal correction:
1. Minimum correction approach
2. Orthogonal correction approach
3. Over-relaxed approach
and it is concluded that the third approach (over-relaxation) gives the best overall results.

However, this time by looking into the following files I realized that the actually implemented scheme is the second one (the orthogonal correction approach) if I'm not wrong. This finding makes me wonder why...?

OpenFOAM-1.4/src/finiteVolume/finiteVolume/laplacianSchemes/gaussLaplacianScheme /gaussLaplacianScheme.C
OpenFOAM-1.4/src/finiteVolume/finiteVolume/fvc/fvcDiv.C
OpenFOAM-1.4/src/finiteVolume/finiteVolume/fvc/fvcSurfaceIntegrate.C
OpenFOAM-1.4/src/finiteVolume/finiteVolume/snGradSchemes/correctedSnGrad/correct edSnGrad.C
OpenFOAM-1.4/src/finiteVolume/interpolation/surfaceInterpolation/surfaceInterpol ation/surfaceInterpolation.C

As you can see from the equation above, precise evaluation of the laplacian term is virtually everything I need as of now. I'm gonna try other two approaches by myself but is there anyone with any comments, thoughts, or anyone who tried other implementations by any chance?

Many thanks in advance,
Takuya
Tushar@cfd likes this.
7islands is offline   Reply With Quote

Old   September 25, 2007, 14:33
Default I guess the Orthogonal correct
  #2
pbo
Member
 
Patrick Bourdin
Join Date: Mar 2009
Posts: 40
Rep Power: 8
pbo is on a distinguished road
I guess the Orthogonal correction approach provides the minimum error when --for the sake of boundedness-- no correction is applied (ie when you compute only Grad(Phi).k where k is the vector defined in Hrv's thesis). This is not the case with the over-relaxed approach (k is 'longer' in that approach).
On the other hand, when non-orthogonal corrections are applied, the over-relaxed approach is the best because it can handle highly non-orthogonal mesh and converge faster.
I would need the over-relaxed approach as well, because so far simpleFoam blows up on my tetrahedral mesh (severe non-orthogonality...).

Hrv, any quick fix? (I can't recompile OF on our cluster, because those lazy system administrators didn't update Suse -- we're still under Suse 9.3 with gcc 3.5, arghhhhhhhh). Is it available in previous binary versions of OF?
pbo is offline   Reply With Quote

Old   September 25, 2007, 14:39
Default Yup, use Gauss linear limited
  #3
Senior Member
 
Hrvoje Jasak
Join Date: Mar 2009
Location: London, England
Posts: 1,756
Rep Power: 21
hjasak will become famous soon enough
Yup, use Gauss linear limited 0.5 as a laplacian scheme and upwind on all convection terms. If that does not work, your mesh is past its sell-by date

Hrv
__________________
Hrvoje Jasak
Providing commercial FOAM/OpenFOAM and CFD Consulting: http://wikki.co.uk
hjasak is offline   Reply With Quote

Old   September 25, 2007, 19:18
Default Hi all, I have to make my apo
  #4
Super Moderator
 
Takuya OSHIMA
Join Date: Mar 2009
Location: Niigata City, Japan
Posts: 517
Blog Entries: 1
Rep Power: 11
7islands is on a distinguished road
Hi all,
I have to make my apologies for my post above having turned out to be complete wrong: the nonorthogonal correction implemented in OF is actually over-relaxed approach. When I wrote the post above I still hadn't noticed deltaCoeffs() were alrealy corrected ones to reflect non-orthogonalities. And I have conducted a test with the three techniques proposed in Hrvoje's thesis and the over-relaxed approach sure gave the best result.

With that said however, I am also one who have been looking for still better correction technique (if any)...

Takuya
7islands is offline   Reply With Quote

Old   December 9, 2012, 23:54
Default
  #5
Senior Member
 
Fumiya Nozaki
Join Date: Jun 2010
Location: Yokohama, Japan
Posts: 163
Rep Power: 6
fumiya is on a distinguished road
Hi,

I'm trying to understand how the non-orthogonal correction is done in OpenFOAM.
You said that "deltaCoeffs() were alrealy corrected ones to reflect non-orthogonalities"
and I have questions regarding this description.

Q1) Where the correction to the deltaCoeffs is done in the code?
In the "gaussLaplacianScheme.C",
Quote:
52 tmp<surfaceScalarField> tdeltaCoeffs =
53 this->tsnGradScheme_().deltaCoeffs(vf);
54 const surfaceScalarField& deltaCoeffs = tdeltaCoeffs();
, is this deltaCoeffs corrcted one?

Q2) Does this correction mean that the coefficient of laplace operator
deltaCoeffs.internalField()*gammaMagSf.internalFie ld() equals (|Δ|/(|Sf||d|)) * Γf|Sf|?
In the above equation, Δ is the vector defined in the Dr. Jasak's paper(over-relaxed approach Eq. (3.32)).

Best regards,
Fumiya

Last edited by fumiya; December 10, 2012 at 01:56.
fumiya 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
Nonorthogonal correction maka OpenFOAM Running, Solving & CFD 9 October 25, 2011 10:55
When and how to apply nonOrthogonal correctors vvqf OpenFOAM Running, Solving & CFD 1 March 22, 2006 06:21
implementing FDM on nonorthogonal coordinate syste yfyap Main CFD Forum 3 June 13, 2001 16:51
on nonorthogonal boudary fitted coordinate yf yap Main CFD Forum 2 January 20, 2001 03:13
2nd derivative on nonorthogonal FV-mesh Thomas Wolfanger Main CFD Forum 1 June 29, 1999 11:00


All times are GMT -4. The time now is 22:03.