53 fileCheckTypesNames.read
57 "fileModificationChecking" 65 "fileModificationChecking",
66 Foam::IOobject::fileCheckTypesNames,
67 Foam::IOobject::fileModificationChecking
89 <<
" called with directory: " << path <<
endl;
97 instance = path.substr(0, last);
100 name.string::operator=(path.substr(last+1));
106 if (first == string::npos)
111 name.string::operator=(
path);
115 instance = path.substr(0, first);
121 local = path.substr(first+1, last-first-1);
125 name.string::operator=(path.substr(last+1));
131 if (name.empty() || string::stripInvalid<word>(
name))
134 <<
"has invalid word for name: \"" << name
135 <<
"\"\nwhile processing path: " << path <<
endl;
148 if (i == word::npos || i == 0)
154 return name.substr(i+1, word::npos);
163 if (i == word::npos || i == 0)
169 return name.substr(0, i);
187 headerClassName_(typeName),
194 registerObject_(registerObject),
197 if (objectRegistry::debug)
200 <<
"Constructing IOobject called " << name_
201 <<
" of type " << headerClassName_
219 headerClassName_(typeName),
226 registerObject_(registerObject),
229 if (objectRegistry::debug)
232 <<
"Constructing IOobject called " << name_
233 <<
" of type " << headerClassName_
249 headerClassName_(typeName),
256 registerObject_(registerObject),
259 if (!fileNameComponents(path, instance_, local_, name_))
262 <<
" invalid path specification" 266 if (objectRegistry::debug)
269 <<
"Constructing IOobject called " << name_
270 <<
" of type " << headerClassName_
283 headerClassName_(io.headerClassName_),
285 instance_(io.instance_),
290 registerObject_(io.registerObject_),
291 objState_(io.objState_)
302 headerClassName_(io.headerClassName_),
304 instance_(io.instance_),
309 registerObject_(io.registerObject_),
310 objState_(io.objState_)
348 return member(name_);
354 return time().rootPath();
360 if (instance().isAbsolute())
366 return rootPath()/caseName()/instance()/db_.dbDir()/local();
373 const word& instance,
378 return rootPath()/caseName()/instance/db_.dbDir()/local;
384 if (instance().isAbsolute())
390 return instance()/db_.dbDir()/local();
411 if (objState_ != GOOD)
414 <<
"Recurrent failure for object " << s
421 <<
"Broken object " << s << info() <<
endl;
431 headerClassName_ = io.headerClassName_;
433 instance_ = io.instance_;
437 objState_ = io.objState_;
fileCheckTypes
Enumeration defining the file checking options.
const char *const group
Group name for atomic constants.
writeOption
Enumeration defining the write options.
static bool fileNameComponents(const fileName &path, fileName &instance, fileName &local, word &name)
Split path into instance, local, name components.
A class for handling file names.
errorManipArg< error, int > exit(error &err, const int errNo=1)
void operator=(const IOobject &)
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
string caseName() const
Return file name (part beyond last /), substitute for FOAM_CASE.
IOobject(const word &name, const fileName &instance, const objectRegistry ®istry, readOption r=NO_READ, writeOption w=NO_WRITE, bool registerObject=true)
Construct from name, instance, registry, io options.
Ostream & endl(Ostream &os)
Add newline and flush stream.
word member() const
Return member (name without the extension)
virtual ~IOobject()
Destructor.
word group() const
Return group (extension part of name)
readOption
Enumeration defining the read options.
Initialise the NamedEnum HashTable from the static list of names.
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
fileName path() const
Return complete path.
fileName localFilePath(const word &typeName) const
Helper for filePath that searches locally.
gmvFile<< "tracers "<< particles.size()<< nl;forAllConstIter(Cloud< passiveParticle >, particles, iter){ gmvFile<< iter().position().x()<< " ";}gmvFile<< nl;forAllConstIter(Cloud< passiveParticle >, particles, iter){ gmvFile<< iter().position().y()<< " ";}gmvFile<< nl;forAllConstIter(Cloud< passiveParticle >, particles, iter){ gmvFile<< iter().position().z()<< " ";}gmvFile<< nl;forAll(lagrangianScalarNames, i){ word name=lagrangianScalarNames[i];IOField< scalar > s(IOobject(name, runTime.timeName(), cloud::prefix, mesh, IOobject::MUST_READ, IOobject::NO_WRITE))
bool isAbsolute() const
Return true if file name is absolute.
bool isDir(const fileName &, const bool followLink=true)
Does the name exist as a directory in the file system?
A class for handling words, derived from string.
void setBad(const string &)
Set the object state to bad.
fileName globalFilePath(const word &typeName) const
Helper for filePath that searches up if in parallel.
static const word null
An empty word.
virtual fileName filePath(const bool checkGlobal, const IOobject &, const word &typeName) const =0
Search for an object. checkGlobal : also check undecomposed case.
const fileOperation & fileHandler()
Get current file handler.
graph_traits< Graph >::vertices_size_type size_type
const Time & time() const
Return time.
defineTypeNameAndDebug(combustionModel, 0)
static fileCheckTypes fileModificationChecking
Type of file modification checking.
word name(const complex &)
Return a string representation of a complex.
const fileName & rootPath() const
static const NamedEnum< fileCheckTypes, 4 > fileCheckTypesNames
#define WarningInFunction
Report a warning using Foam::Warning.
const Time & time() const
Return time.
dictionary & optimisationSwitches()
The OptimisationSwitches sub-dictionary in the central controlDict.
Registry of regIOobjects.
const objectRegistry & db() const
Return the local objectRegistry.
registerOptNamedEnum("fileModificationChecking", Foam::IOobject::fileCheckTypesNames, Foam::IOobject::fileModificationChecking)
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
const fileName & caseName() const
fileName localPath() const
Return the path relative to the case.
ITstream & lookup(const word &, bool recursive=false, bool patternMatch=true) const
Find and return an entry data stream.
fileName path(UMean.rootPath()/UMean.caseName()/functionObjects::writeFile::outputPrefix/"graphs"/UMean.instance())
#define InfoInFunction
Report an information message using Foam::Info.