ENH: Updated clodu reqd inputs for uncoupled calcs

This commit is contained in:
andy
2011-04-13 11:04:44 +01:00
parent e5a319d6d6
commit 8881ca56a8
2 changed files with 43 additions and 30 deletions

View File

@ -108,7 +108,10 @@ void Foam::KinematicCloud<CloudType>::solve(TrackData& td)
evolveCloud(td); evolveCloud(td);
td.cloud().relaxSources(td.cloud().cloudCopy()); if (solution_.coupled())
{
td.cloud().relaxSources(td.cloud().cloudCopy());
}
} }
else else
{ {
@ -116,7 +119,10 @@ void Foam::KinematicCloud<CloudType>::solve(TrackData& td)
evolveCloud(td); evolveCloud(td);
td.cloud().scaleSources(); if (solution_.coupled())
{
td.cloud().scaleSources();
}
} }
td.cloud().info(); td.cloud().info();

View File

@ -116,40 +116,47 @@ void Foam::cloudSolution::read()
dict_.lookup("calcFrequency") >> calcFrequency_; dict_.lookup("calcFrequency") >> calcFrequency_;
dict_.lookup("maxCo") >> maxCo_; dict_.lookup("maxCo") >> maxCo_;
dict_.lookup("maxTrackTime") >> maxTrackTime_; dict_.lookup("maxTrackTime") >> maxTrackTime_;
dict_.subDict("sourceTerms").lookup("resetOnStartup")
>> resetSourcesOnStartup_; if (coupled_)
{
dict_.subDict("sourceTerms").lookup("resetOnStartup")
>> resetSourcesOnStartup_;
}
} }
const dictionary& if (coupled_)
schemesDict(dict_.subDict("sourceTerms").subDict("schemes"));
wordList vars(schemesDict.toc());
schemes_.setSize(vars.size());
forAll(vars, i)
{ {
// read solution variable name const dictionary&
schemes_[i].first() = vars[i]; schemesDict(dict_.subDict("sourceTerms").subDict("schemes"));
// set semi-implicit (1) explicit (0) flag wordList vars(schemesDict.toc());
Istream& is = schemesDict.lookup(vars[i]); schemes_.setSize(vars.size());
const word scheme(is); forAll(vars, i)
if (scheme == "semiImplicit")
{ {
schemes_[i].second().first() = true; // read solution variable name
} schemes_[i].first() = vars[i];
else if (scheme == "explicit")
{
schemes_[i].second().first() = false;
}
else
{
FatalErrorIn("void cloudSolution::read()")
<< "Invalid scheme " << scheme << ". Valid schemes are "
<< "explicit and semiImplicit" << exit(FatalError);
}
// read under-relaxation factor // set semi-implicit (1) explicit (0) flag
is >> schemes_[i].second().second(); Istream& is = schemesDict.lookup(vars[i]);
const word scheme(is);
if (scheme == "semiImplicit")
{
schemes_[i].second().first() = true;
}
else if (scheme == "explicit")
{
schemes_[i].second().first() = false;
}
else
{
FatalErrorIn("void cloudSolution::read()")
<< "Invalid scheme " << scheme << ". Valid schemes are "
<< "explicit and semiImplicit" << exit(FatalError);
}
// read under-relaxation factor
is >> schemes_[i].second().second();
}
} }
} }