46 cellValueSourceCorrection_(
false),
48 resetSourcesOnStartup_(
true),
62 transient_(cs.transient_),
63 calcFrequency_(cs.calcFrequency_),
66 trackTime_(cs.trackTime_),
67 coupled_(cs.coupled_),
68 cellValueSourceCorrection_(cs.cellValueSourceCorrection_),
69 maxTrackTime_(cs.maxTrackTime_),
70 resetSourcesOnStartup_(cs.resetSourcesOnStartup_),
81 dict_(dictionary::null),
88 cellValueSourceCorrection_(
false),
90 resetSourcesOnStartup_(
false),
114 <<
"Transient tracking is not supported for LTS" 115 " simulations, switching to steady state tracking." 123 <<
"Transient tracking is not supported for steady-state" 124 " simulations, switching to steady state tracking." 130 dict_.
lookup(
"coupled") >> coupled_;
131 dict_.
lookup(
"cellValueSourceCorrection") >> cellValueSourceCorrection_;
136 dict_.
lookup(
"calcFrequency") >> calcFrequency_;
137 dict_.
lookup(
"maxTrackTime") >> maxTrackTime_;
142 >> resetSourcesOnStartup_;
152 schemes_.setSize(vars.size());
156 schemes_[i].first() = vars[i];
159 Istream& is = schemesDict.lookup(vars[i]);
161 if (scheme ==
"semiImplicit")
163 schemes_[i].second().first() =
true;
165 else if (scheme ==
"explicit")
167 schemes_[i].second().first() =
false;
172 <<
"Invalid scheme " << scheme <<
". Valid schemes are " 177 is >> schemes_[i].second().second();
187 if (fieldName == schemes_[i].first())
189 return schemes_[i].second().second();
194 <<
"Field name " << fieldName <<
" not found in schemes" 205 if (fieldName == schemes_[i].first())
207 return schemes_[i].second().first();
212 <<
"Field name " << fieldName <<
" not found in schemes" 233 trackTime_ = maxTrackTime_;
virtual ~cloudSolution()
Destructor.
cloudSolution(const fvMesh &mesh)
Construct null from mesh reference.
#define forAll(list, i)
Loop across all elements in list.
errorManipArg< error, int > exit(error &err, const int errNo=1)
A list of keyword definitions, which are a keyword followed by any number of values (e...
scalar relaxCoeff(const word &fieldName) const
Return relaxation coefficient for field.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
static tmp< surfaceInterpolationScheme< Type > > scheme(const surfaceScalarField &faceFlux, Istream &schemeData)
Return weighting factors for scheme given from Istream.
Ostream & endl(Ostream &os)
Add newline and flush stream.
const Time & time() const
Return the top-level database.
const dictionary & subDict(const word &) const
Find and return a sub-dictionary.
bool writeTime() const
Return true if this is a write time.
bool semiImplicit(const word &fieldName) const
Return semi-implicit flag coefficient for field.
static bool enabled(const fvMesh &mesh)
Return true if LTS is enabled.
A class for handling words, derived from string.
scalar deltaTValue() const
Return time step value.
bool readIfPresent(const word &, T &, bool recursive=false, bool patternMatch=true) const
Find an entry if present, and assign to T.
errorManip< error > abort(error &err)
bool solveThisStep() const
Returns true if performing a cloud iteration this calc step.
label timeIndex() const
Return current time index.
Stores all relevant solution info for cloud.
T lookupOrDefault(const word &, const T &, bool recursive=false, bool patternMatch=true) const
Find and return a T,.
const Switch steadyState() const
Return const access to the steady flag.
Mesh data needed to do the Finite Volume discretisation.
bool steady() const
Return true if the default ddtScheme is steadyState.
#define IOWarningInFunction(ios)
Report an IO warning using Foam::Warning.
void read()
Read properties from dictionary.
bool output() const
Returns true if writing this step.
ITstream & lookup(const word &, bool recursive=false, bool patternMatch=true) const
Find and return an entry data stream.
bool canEvolve()
Returns true if possible to evolve the cloud and sets timestep.