ENH: Added relaxation factor to cloud explicit calcs

This commit is contained in:
andy
2011-03-17 09:58:33 +00:00
parent 06f2882b53
commit 5b10d3c3fa
2 changed files with 11 additions and 6 deletions

View File

@ -127,17 +127,19 @@ void Foam::cloudSolution::read()
schemes_.setSize(vars.size());
forAll(vars, i)
{
// read solution variable name
schemes_[i].first() = vars[i];
// set semi-implicit (1) explicit (0) flag
Istream& is = schemesDict.lookup(vars[i]);
const word scheme(is);
if (scheme == "semiImplicit")
{
is >> schemes_[i].second();
schemes_[i].second().first() = true;
}
else if (scheme == "explicit")
{
schemes_[i].second() = -1;
schemes_[i].second().first() = false;
}
else
{
@ -145,6 +147,9 @@ void Foam::cloudSolution::read()
<< "Invalid scheme " << scheme << ". Valid schemes are "
<< "explicit and semiImplicit" << exit(FatalError);
}
// read under-relaxation factor
is >> schemes_[i].second().second();
}
}
@ -155,7 +160,7 @@ Foam::scalar Foam::cloudSolution::relaxCoeff(const word& fieldName) const
{
if (fieldName == schemes_[i].first())
{
return schemes_[i].second();
return schemes_[i].second().second();
}
}
@ -173,7 +178,7 @@ bool Foam::cloudSolution::semiImplicit(const word& fieldName) const
{
if (fieldName == schemes_[i].first())
{
return schemes_[i].second() >= 0;
return schemes_[i].second().first();
}
}

View File

@ -25,7 +25,7 @@ Class
Foam::cloudSolution
Description
- Stores all relevant solution info
Stores all relevant solution info for cloud
SourceFiles
cloudSolutionI.H
@ -100,7 +100,7 @@ class cloudSolution
Switch resetSourcesOnStartup_;
//- List schemes, e.g. U semiImplicit 1
List<Tuple2<word, scalar> > schemes_;
List<Tuple2<word, Tuple2<bool, scalar> > > schemes_;
// Private Member Functions