View Issue Details

IDProjectCategoryView StatusLast Update
0002002OpenFOAMBugpublic2016-02-19 13:28
Reportertniemi Assigned Tohenry  
PrioritylowSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
Product Versiondev 
Fixed in Versiondev 
Summary0002002: Question regarding SuSp usage in kineticTheory.C
DescriptionI just noticed that in kineticTheory.C, ThetaEqn, there is a fvm::SuSp term on the right side of the equation, but it does not have a minus sign in front. However, in other places where I have seen SuSp being used, it is either added to the left side or it has a minus sign in front. So I'm wondering if the SuSp in ThetaEqn actually works as intended (aiding stability?), or should it be written as -fvm::SuSp(+((PsCoeff*I) && gradU), Theta_) instead?

My interpretation of SuSp(kappa,phi): Generally it is preferable to have positive coeffs on the diagonal. SuSp looks the sign of kappa and if it is positive, it will put the coeffs on the diagonal, otherwise it is explicit. This is good, if the SuSp is on the left side of the equation. However, on the right side we want negative things go to diagonal (which are positive when the matrix is moved to the left side) and therefore we write leftSide == -SuSp(-kappa,phi).

This is merely a question and I don't currently have a test case, which would demonstrate possible stability issues. I'm just curious if there is some logic behind this that I'm missing or if I'm just confused with the signs.
TagsNo tags attached.

Activities

henry

2016-02-19 13:28

manager   ~0005973

Your analysis is correct.
Resolved by commit 5e4822b9742fb038246caaf37f5e1d0d45e8c976

Issue History

Date Modified Username Field Change
2016-02-19 11:17 tniemi New Issue
2016-02-19 13:28 henry Note Added: 0005973
2016-02-19 13:28 henry Status new => resolved
2016-02-19 13:28 henry Fixed in Version => dev
2016-02-19 13:28 henry Resolution open => fixed
2016-02-19 13:28 henry Assigned To => henry