39 active_(dict.
lookup(
"active")),
46 cellValueSourceCorrection_(
false),
48 resetSourcesOnStartup_(
true),
66 transient_(cs.transient_),
67 calcFrequency_(cs.calcFrequency_),
70 trackTime_(cs.trackTime_),
71 coupled_(cs.coupled_),
72 cellValueSourceCorrection_(cs.cellValueSourceCorrection_),
73 maxTrackTime_(cs.maxTrackTime_),
74 resetSourcesOnStartup_(cs.resetSourcesOnStartup_),
85 dict_(dictionary::null),
93 cellValueSourceCorrection_(
false),
95 resetSourcesOnStartup_(
false),
110 dict_.
lookup(
"transient") >> transient_;
111 dict_.
lookup(
"coupled") >> coupled_;
112 dict_.
lookup(
"cellValueSourceCorrection") >> cellValueSourceCorrection_;
117 dict_.
lookup(
"calcFrequency") >> calcFrequency_;
118 dict_.
lookup(
"maxTrackTime") >> maxTrackTime_;
123 >> resetSourcesOnStartup_;
133 schemes_.setSize(vars.size());
137 schemes_[i].first() = vars[i];
140 Istream& is = schemesDict.lookup(vars[i]);
142 if (scheme ==
"semiImplicit")
144 schemes_[i].second().first() =
true;
146 else if (scheme ==
"explicit")
148 schemes_[i].second().first() =
false;
153 <<
"Invalid scheme " << scheme <<
". Valid schemes are " 158 is >> schemes_[i].second().second();
168 if (fieldName == schemes_[i].first())
170 return schemes_[i].second().second();
175 <<
"Field name " << fieldName <<
" not found in schemes" 186 if (fieldName == schemes_[i].first())
188 return schemes_[i].second().first();
193 <<
"Field name " << fieldName <<
" not found in schemes" 219 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.
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.
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.
const Switch steadyState() const
Return const access to the steady flag.
Mesh data needed to do the Finite Volume discretisation.
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.