ENH: fvMatrix::setReferences() single value variant

This commit is contained in:
Mark Olesen
2018-03-02 13:27:34 +01:00
parent 330b113abc
commit ffd7b00ad5
4 changed files with 37 additions and 5 deletions

View File

@ -101,7 +101,7 @@ if (mesh.changing())
pcorrEqn.setReferences pcorrEqn.setReferences
( (
validCells, validCells,
scalarList(validCells.size(), 0.0), scalar(0.0),
true true
); );
} }

View File

@ -110,7 +110,7 @@
pcorrEqn.setReferences pcorrEqn.setReferences
( (
validCells, validCells,
scalarList(validCells.size(), 0.0), scalar(0.0),
true true
); );
} }

View File

@ -522,7 +522,32 @@ void Foam::fvMatrix<Type>::setReference
template<class Type> template<class Type>
void Foam::fvMatrix<Type>::setReferences void Foam::fvMatrix<Type>::setReferences
( (
const labelList& cellLabels, const labelUList& cellLabels,
const Type& value,
const bool forceReference
)
{
const bool needRef = (forceReference || psi_.needReference());
if (needRef)
{
forAll(cellLabels, celli)
{
const label cellId = cellLabels[celli];
if (cellId >= 0)
{
source()[cellId] += diag()[cellId]*value;
diag()[cellId] += diag()[cellId];
}
}
}
}
template<class Type>
void Foam::fvMatrix<Type>::setReferences
(
const labelUList& cellLabels,
const UList<Type>& values, const UList<Type>& values,
const bool forceReference const bool forceReference
) )
@ -544,7 +569,6 @@ void Foam::fvMatrix<Type>::setReferences
} }
template<class Type> template<class Type>
void Foam::fvMatrix<Type>::relax(const scalar alpha) void Foam::fvMatrix<Type>::relax(const scalar alpha)
{ {

View File

@ -371,7 +371,15 @@ public:
//- Set references level for solution //- Set references level for solution
void setReferences void setReferences
( (
const labelList& cells, const labelUList& cells,
const Type& value,
const bool forceReference = false
);
//- Set references level for solution
void setReferences
(
const labelUList& cells,
const UList<Type>& values, const UList<Type>& values,
const bool forceReference = false const bool forceReference = false
); );