diff --git a/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/cloudSolution/cloudSolution.C b/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/cloudSolution/cloudSolution.C index 2d726f45e8..165a7be0b6 100644 --- a/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/cloudSolution/cloudSolution.C +++ b/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/cloudSolution/cloudSolution.C @@ -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(); } } diff --git a/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/cloudSolution/cloudSolution.H b/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/cloudSolution/cloudSolution.H index 6c2430e408..5f0fdb1cee 100644 --- a/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/cloudSolution/cloudSolution.H +++ b/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/cloudSolution/cloudSolution.H @@ -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 > schemes_; + List > > schemes_; // Private Member Functions