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

DdtPhiCorr

Register Blogs Community New Posts Updated Threads Search

Like Tree48Likes
  • 19 Post By hjasak
  • 6 Post By ville
  • 2 Post By malaboss
  • 2 Post By ville
  • 10 Post By eugene
  • 8 Post By ville
  • 1 Post By Tushar@cfd

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   January 17, 2006, 05:52
Default Hi all, I'd like to know mo
  #1
Member
 
Luca M.
Join Date: Mar 2009
Location: Luzern, Switzerland
Posts: 59
Rep Power: 17
luca is on a distinguished road
Hi all,

I'd like to know more about DdtPhicorr term. I have not clear in mind the theoretical derivation of this operator. It's similar to Rhie-Chow interpolation for Co-located variable arrangement?!

Moreover, it's possible to use it in steady simulations?!

Thanks in advance

Luca
luca is offline   Reply With Quote

Old   January 17, 2006, 18:10
Default This term accounts for the div
  #2
Senior Member
 
Hrvoje Jasak
Join Date: Mar 2009
Location: London, England
Posts: 1,905
Rep Power: 33
hjasak will become famous soon enough
This term accounts for the divergence of the face velocity field by taking out the difference between the interpolated velocity and the flux. Have a look at:

finiteVolume/ddtSchemes/EulerDdtScheme/EulerDdtScheme.C

in the main library:

rDeltaT*fvcDdtPhiCoeff(U.oldTime(), phi.oldTime())*
(
fvc::interpolate(rA)*phi.oldTime()
- (fvc::interpolate(rA*U.oldTime()) & mesh().Sf())
)


Unfortunately, I don't think there's anything written about it.

Enjoy,

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

Old   February 13, 2006, 14:03
Default Does this add more numeric dis
  #3
Member
 
diablo80@web.de
Join Date: Mar 2009
Posts: 93
Rep Power: 17
sampaio is on a distinguished road
Does this add more numeric dissipation to the scheme?

What should I expect if I remove this from the oodles main code? Can I live without it? Or what were you guys trying to achieve when you come up with this?

(I m running incompr LES)

Thanks a lot!
luiz
sampaio is offline   Reply With Quote

Old   July 27, 2006, 11:12
Default Hello everyone, I detected so
  #4
Member
 
Rolando Maier
Join Date: Mar 2009
Posts: 89
Rep Power: 17
rolando is on a distinguished road
Hello everyone,
I detected some inconsistency, while experimenting with the term "fvcDdtPhiCoeff" in "ddtPhiCorr".
Probing the pressure signal of a LES yielded different results depending on using the present calculation of "fvcDdtPhiCoeff" or using a constant value, as was done in FOAM version 1.1.
If I use the present version the signal looks a bit wavy (f~1/deltaT) with small amplitude.
If I use a constant value then the signal looks smoother.
I´m not sure, if it is numerical noise in the one case or a wrongly smoothed signal in the other case.
Can anyone give me a hint?

Thanks in advance
Rolando
rolando is offline   Reply With Quote

Old   October 18, 2010, 02:52
Default ddtPhiCorr meaning
  #5
Member
 
Aldo Iannetti
Join Date: Feb 2010
Posts: 48
Rep Power: 16
aldo.iannetti is on a distinguished road
Could you explane me why in turbDyMFoam (OF 1.5-dev) I have:


phi = (fvc::interpolate(U) & mesh.Sf());
//+ fvc::ddtPhiCorr(rUA, U, phi);

Can you explane me better the meaning of ddtPhiCorr term? why in some solvers is commented and in other (es. pisoFoam) is not?

thanks
Aldo
aldo.iannetti is offline   Reply With Quote

Old   December 13, 2012, 14:52
Default
  #6
Member
 
ville vuorinen
Join Date: Mar 2009
Posts: 67
Rep Power: 17
ville is on a distinguished road
Quote:
Originally Posted by sampaio View Post
Does this add more numeric dissipation to the scheme?
(I m running incompr LES)

Thanks a lot!
luiz
I have quite interesting experiences regarding the flux interpolation in PISO:

phi = (fvc::interpolate(U) & mesh.Sf())
+ fvc::ddtPhiCorr(rAU, U, phi);

In lid driven cavity and turbulent channel flow (DNS) this calculation of phi
works very well. However, for a laminar, inviscid Taylor-Green vortex the term
+ fvc::ddtPhiCorr(rAU, U, phi); turned out to dissipate kinetic energy very strongly.
On fine grids about 10% of the initial energy within a few eddy turnaround times.
When I removed the + fvc::ddtPhiCorr(rAU, U, phi) term things seemed to work
much better.
My solution: Runge-Kutta 4 and the projection method - I implemented the solver. I would very much appreciate comments regarding the necessity of
+ fvc::ddtPhiCorr(rAU, U, phi) in PISO!

Best, Ville
ville is offline   Reply With Quote

Old   October 28, 2013, 16:22
Default
  #7
Member
 
Malik
Join Date: Dec 2012
Location: Austin, USA
Posts: 53
Rep Power: 13
malaboss is on a distinguished road
I have been investigating this issue too.
I think ddtPhiCorr is approximately equal to : UfaceOld*Area - phiOld, (if we assume that this difference is close to zero, for the simplest case).
You can look at this link which sums it up :
http://www.scribd.com/doc/48195039/ddtPhiCorr

So why would we need to carry this difference in the computation of phi ?

My guess is that in the piso algortihm you correct for the non orthogonalities and do not have phi = Uface*Surface anymore after the correction.
Forcing phi to be equal to this on the next iteration would be a bit silly so you want to keep that correction. This is the ddtPhiCorr.

Thus it should not appear where no correction that we want to keep is done.

However this doesn't explain why Ville found an excessive dissipation of kinetic energy when ddtPhiCorr is there. Could you give more details about how you figure this out ? During your simulation did you correct non orthogonalities ? Was your grid non orthogonal ?


Regards,
minh khang and Brandon233 like this.
malaboss is offline   Reply With Quote

Old   April 20, 2014, 22:52
Default
  #8
New Member
 
Zhipeng Zhou
Join Date: Mar 2014
Posts: 8
Rep Power: 12
zhouzhipeng77 is on a distinguished road
Hello everyone ,
I am new to OpenFOAM , and I am working on a melting problem , but I can understand the following code
Quote:
{
volScalarField rAU("rAU", 1.0/UEqn.A());
surfaceScalarField rAUf("(1|A(U))", fvc::interpolate(rAU));

U = rAU*UEqn.H();

phi = (fvc::interpolate(U) & mesh.Sf())
+ fvc::ddtPhiCorr(rAU, U, phi);

surfaceScalarField buoyancyPhi(rAUf*ghf*fvc::snGrad(rhok)*mesh.magSf( ));
phi -= buoyancyPhi;

while (pimple.correctNonOrthogonal())
{
fvScalarMatrix p_rghEqn
(
fvm::laplacian(rAUf, p_rgh) == fvc::div(phi)
);

p_rghEqn.setReference(pRefCell, getRefCellValue(p_rgh, pRefCell));

p_rghEqn.solve(mesh.solver(p_rgh.select(pimple.fin alInnerIter())));

if (pimple.finalNonOrthogonalIter())
{
// Calculate the conservative fluxes
phi -= p_rghEqn.flux();

// Explicitly relax pressure for momentum corrector
p_rgh.relax();

// Correct the momentum source with the pressure gradient flux
// calculated from the relaxed pressure
U -= rAU*fvc::reconstruct((buoyancyPhi + p_rghEqn.flux())/rAUf);
U.correctBoundaryConditions();
}
}
Can anybody help me to explain this , or introduce me some papers I should read ?
Thanks
Zhipeng
zhouzhipeng77 is offline   Reply With Quote

Old   July 24, 2014, 11:02
Default
  #9
Member
 
yijin Mao
Join Date: May 2010
Location: Columbia, MO
Posts: 62
Rep Power: 15
alundilong is on a distinguished road
Quote:
Originally Posted by zhouzhipeng77 View Post
Hello everyone ,
I am new to OpenFOAM , and I am working on a melting problem , but I can understand the following code

Can anybody help me to explain this , or introduce me some papers I should read ?
Thanks
Zhipeng
Hi Zhipeng:

I think you may read through this to have some basic idea. http://openfoamwiki.net/index.php/Op...hm_in_OpenFOAM

and also go through how governing equations(especially pressure equation, in OF, we solve "real pressure equation" instead of "pressure correction equation") discretization is realized in jasak's PhD theis. http://www.h.jasak.dial.pipex.com/

for the buoyancy approximation, you may read through any material found online.

Best.,
alundilong is offline   Reply With Quote

Old   July 28, 2014, 03:59
Default
  #10
Member
 
ville vuorinen
Join Date: Mar 2009
Posts: 67
Rep Power: 17
ville is on a distinguished road
Hi,
in this paper some OpenFOAM related matters are discussed including syntax. Also
the adhoc ddtPhiCorr term is discussed from effect point of view although its origin remains unclear. I noted that the extra term has actually been removed in some newer solvers.

On the implementation of low-dissipative Runge–Kutta projection methods for time dependent flows using OpenFOAM®, Computers & Fluids, Volume 93, 10 April 2014, Pages 153-163, V. Vuorinen, J.-P. Keskinen, C. Duwig, B.J. Boersma
fumiya and godfatherBond like this.
ville is offline   Reply With Quote

Old   October 29, 2014, 11:48
Default
  #11
Senior Member
 
Eugene de Villiers
Join Date: Mar 2009
Posts: 725
Rep Power: 21
eugene is on a distinguished road
ddtPhiCorr is a form of Choi correction and was originally intended to remove time step size dependency from Rhie-Chow interpolation.

http://nht.xjtu.edu.cn/paper/en/2002206.pdf

In FOAM there is however an additional ad-hoc component fvcDdtPhiCoeff that appears to be purely empirical in nature.

The Choi correction is dissipative in nature, but it is consistent. There appears to be an issue with the FOAM implementation in that setting fvcDdtPhiCoeff to 1 (full Choi correction) results in instabilities. So it might very well be the case that the implementation is flawed in some way. Investigations are ongoing.
eugene is offline   Reply With Quote

Old   October 30, 2014, 06:01
Default
  #12
Senior Member
 
anonymous
Join Date: Aug 2014
Posts: 205
Rep Power: 12
ssss is on a distinguished road
Quote:
Originally Posted by eugene View Post
ddtPhiCorr is a form of Choi correction and was originally intended to remove time step size dependency from Rhie-Chow interpolation.

http://nht.xjtu.edu.cn/paper/en/2002206.pdf

In FOAM there is however an additional ad-hoc component fvcDdtPhiCoeff that appears to be purely empirical in nature.

The Choi correction is dissipative in nature, but it is consistent. There appears to be an issue with the FOAM implementation in that setting fvcDdtPhiCoeff to 1 (full Choi correction) results in instabilities. So it might very well be the case that the implementation is flawed in some way. Investigations are ongoing.
Does this mean that ddtCorr is influenced by this supposed bug? Will results differ much because of this possible flaw?

Thank you very much for answer.
ssss is offline   Reply With Quote

Old   November 2, 2014, 04:19
Default
  #13
Member
 
Johan Lorentzon
Join Date: Mar 2009
Location: Lunds University, Sweden
Posts: 78
Rep Power: 23
pi06jl6 will become famous soon enough
Since this thread dates back to previous version of OF, which one do we talk about, since in the bugreport someone has pointed out the Uf to be an issue and DPhiDtCorr involves this variable? I am not an expert on this subject so I am looking forward the outcome of this "investigation".
pi06jl6 is offline   Reply With Quote

Old   December 10, 2014, 23:08
Default
  #14
Senior Member
 
T. Chourushi
Join Date: Jul 2009
Posts: 321
Blog Entries: 1
Rep Power: 17
Tushar@cfd is on a distinguished road
Dear All,

I am also confused with the additional term "fvc::ddtPhiCorr(rUA, U, phi)" for the phi formulation. Did anyone dig into it? What is the actual significance of it?

-
Best Regards!
Tushar@cfd is offline   Reply With Quote

Old   December 11, 2014, 07:06
Default
  #15
Member
 
ville vuorinen
Join Date: Mar 2009
Posts: 67
Rep Power: 17
ville is on a distinguished road
It is an ad hoc term which is probably added to stabilize some certain flow situations.
Sometimes it does not matter, sometimes it has a strong effect. There are more
questions than answers but please see

On the implementation of low-dissipative Runge–Kutta projection methods for time dependent flows using OpenFOAM®, Computers & Fluids, Volume 93, 10 April 2014, Pages 153-163, V. Vuorinen, J.-P. Keskinen, C. Duwig, B.J. Boersma

where we demonstrated what happens if it is there and what if it is not.

Best,Ville

Tushar@cfd, Tobi, D.R. and 5 others like this.
ville is offline   Reply With Quote

Old   December 11, 2014, 07:12
Default
  #16
Senior Member
 
T. Chourushi
Join Date: Jul 2009
Posts: 321
Blog Entries: 1
Rep Power: 17
Tushar@cfd is on a distinguished road
Quote:
Originally Posted by ville View Post
It is an ad hoc term which is probably added to stabilize some certain flow situations.
Sometimes it does not matter, sometimes it has a strong effect. There are more
questions than answers but please see

On the implementation of low-dissipative Runge–Kutta projection methods for time dependent flows using OpenFOAM®, Computers & Fluids, Volume 93, 10 April 2014, Pages 153-163, V. Vuorinen, J.-P. Keskinen, C. Duwig, B.J. Boersma

where we demonstrated what happens if it is there and what if it is not.

Best,Ville

Thank you very much, this information is really helpful.

-
Best Regards!
minh khang likes this.
Tushar@cfd is offline   Reply With Quote

Old   October 8, 2018, 17:01
Default
  #17
gu1
Senior Member
 
Guilherme
Join Date: Apr 2017
Posts: 225
Rep Power: 10
gu1 is on a distinguished road
Hi

Based on the topics written by each one of you, I would like to ask two questions...

1) If I want to remove the extra term of phi (related below) from my pisoFoam (OF 5.0) should I remove the highlighted term? I would like to do tests with the original PISO algorithm...

Quote:
"phiHbyA",
fvc::flux(HbyA)
+ fvc::interpolate(rAU)*fvc::ddtCorr(U, phi)
2) The increase in the number of correctors on the PISO algorithm (nCorrectors) will influence the accuracy (and perhaps dissipation) of my study?

Best.
gu1 is offline   Reply With Quote

Reply


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



All times are GMT -4. The time now is 23:43.