fileOperations that performs all file operations on the master processor. Requires the calls to be parallel synchronised! More...
Classes | |
class | chModOp |
class | cpOp |
class | existsOp |
class | fileOrNullOp |
class | fileSizeOp |
class | isDirOp |
class | isFileOp |
class | lastModifiedHROp |
class | lastModifiedOp |
class | lnOp |
class | mkDirOp |
class | modeOp |
class | mvBakOp |
class | mvOp |
class | readDirOp |
class | rmDirOp |
class | rmOp |
class | typeOp |
Public Member Functions | |
TypeName ("masterUncollated") | |
masterUncollatedFileOperation (bool verbose) | |
masterUncollatedFileOperation (const label comm, bool verbose) | |
virtual | ~masterUncollatedFileOperation () |
virtual bool | mkDir (const fileName &, mode_t=0777) const |
virtual bool | chMod (const fileName &, const mode_t) const |
virtual mode_t | mode (const fileName &, const bool followLink=true) const |
virtual fileName::Type | type (const fileName &, const bool followLink=true) const |
virtual bool | exists (const fileName &, const bool checkGzip=true, const bool followLink=true) const |
virtual bool | isDir (const fileName &, const bool followLink=true) const |
virtual bool | isFile (const fileName &, const bool checkGzip=true, const bool followLink=true) const |
virtual off_t | fileSize (const fileName &, const bool followLink=true) const |
virtual time_t | lastModified (const fileName &, const bool followLink=true) const |
virtual double | highResLastModified (const fileName &, const bool followLink=true) const |
virtual fileNameList | readDir (const fileName &, const fileName::Type=fileName::FILE, const bool filtergz=true, const bool followLink=true) const |
virtual bool | cp (const fileName &src, const fileName &dst, const bool followLink=true) const |
virtual bool | ln (const fileName &src, const fileName &dst) const |
virtual bool | mv (const fileName &src, const fileName &dst, const bool followLink=false) const |
virtual bool | mvBak (const fileName &, const std::string &ext="bak") const |
virtual bool | rm (const fileName &) const |
virtual bool | rmDir (const fileName &dir, const bool silent=false) const |
virtual fileName | filePath (const bool checkGlobal, const IOobject &io, const word &typeName, const bool search) const |
virtual fileName | dirPath (const bool checkGlobal, const IOobject &io, const bool search) const |
virtual fileNameList | readObjects (const objectRegistry &db, const fileName &instance, const fileName &local, word &newInstance) const |
virtual bool | readHeader (IOobject &, const fileName &, const word &typeName) const |
virtual autoPtr< ISstream > | readStream (regIOobject &, const fileName &, const word &typeName, const bool valid=true) const |
virtual bool | read (regIOobject &, const bool masterOnly, const IOstreamOption::streamFormat format, const word &typeName) const |
virtual bool | writeObject (const regIOobject &io, IOstreamOption streamOpt=IOstreamOption(), const bool valid=true) const |
virtual autoPtr< ISstream > | NewIFstream (const fileName &) const |
virtual autoPtr< OSstream > | NewOFstream (const fileName &pathname, IOstreamOption streamOpt=IOstreamOption(), const bool valid=true) const |
virtual label | addWatch (const fileName &) const |
virtual bool | removeWatch (const label) const |
virtual label | findWatch (const labelList &watchIndices, const fileName &) const |
virtual void | addWatches (regIOobject &, const fileNameList &) const |
virtual fileName | getFile (const label) const |
virtual void | updateStates (const bool masterOnly, const bool syncPar) const |
virtual fileMonitor::fileState | getState (const label) const |
virtual void | setUnmodified (const label) const |
virtual instantList | findTimes (const fileName &, const word &) const |
virtual IOobject | findInstance (const IOobject &io, const scalar startValue, const word &stopInstance) const |
virtual void | setTime (const Time &) const |
virtual void | flush () const |
const HashPtrTable< instantList > & | times () const |
![]() | |
TypeName ("fileOperation") | |
fileOperation (const label comm, const bool distributedRoots=false) | |
declareRunTimeSelectionTable (autoPtr, fileOperation, word,(bool verbose),(verbose)) | |
virtual | ~fileOperation ()=default |
bool | distributed () const noexcept |
bool | distributed (bool on) const noexcept |
virtual fileName | objectPath (const IOobject &io, const word &typeName) const |
virtual fileName | filePath (const fileName &) const |
virtual word | processorsDir (const IOobject &io) const |
virtual word | processorsDir (const fileName &) const |
virtual void | setNProcs (const label nProcs) |
virtual label | nProcs (const fileName &dir, const fileName &local="") const |
fileName | processorsCasePath (const IOobject &, const word &procDir) const |
fileName | processorsPath (const IOobject &, const word &instance, const word &procDir) const |
fileName | processorsPath (const fileName &, const word &procDir) const |
Static Public Member Functions | |
static bool | uniformFile (const fileNameList &) |
![]() | |
static autoPtr< fileOperation > | NewUncollated () |
static autoPtr< fileOperation > | New (const word &handlerType, bool verbose=false) |
static instantList | sortTimes (const fileNameList &dirEntries, const word &constantName="constant") |
static label | splitProcessorPath (const fileName &objectPath, fileName &path, fileName &procDir, fileName &local, procRangeType &group, label &nProcs) |
static label | detectProcessorPath (const fileName &objPath) |
Static Public Attributes | |
static float | maxMasterFileBufferSize |
![]() | |
static const Enum< pathType > | pathTypeNames_ |
static word | processorsBaseDir = "processors" |
static word | defaultFileHandler |
static autoPtr< fileOperation > | fileHandlerPtr_ |
Protected Member Functions | |
template<class Type > | |
Type | scatterList (const UList< Type > &, const int, const label comm) const |
template<class Type , class fileOp > | |
Type | masterOp (const fileName &, const fileOp &fop, const int tag, const label comm) const |
template<class Type , class fileOp > | |
Type | masterOp (const fileName &, const fileName &, const fileOp &fop, const int tag, const label comm) const |
virtual fileName | filePathInfo (const bool checkGlobal, const bool isFile, const IOobject &, const bool search, pathType &searchType, word &processorsDir, word &instance) const |
fileName | localObjectPath (const IOobject &, const pathType &searchType, const word &processorsDir, const word &instancePath) const |
bool | exists (const dirIndexList &, IOobject &io) const |
![]() | |
fileMonitor & | monitor () const |
refPtr< dirIndexList > | lookupAndCacheProcessorsPath (const fileName &objectPath, const bool syncPar) const |
virtual refPtr< dirIndexList > | lookupProcessorsPath (const fileName &objectPath) const |
bool | exists (IOobject &io) const |
Static Protected Member Functions | |
static labelList | subRanks (const label n) |
static word | findInstancePath (const instantList &timeDirs, const instant &t) |
static void | readAndSend (const fileName &filePath, const labelUList &procs, PstreamBuffers &pBufs) |
static autoPtr< ISstream > | read (IOobject &io, const label comm, const bool uniform, const fileNameList &filePaths, const boolList &procValid) |
![]() | |
static labelList | ioRanks () |
static void | mergeTimes (const instantList &extraTimes, const word &constantName, instantList ×) |
static bool | isFileOrDir (const bool isFile, const fileName &) |
Protected Attributes | |
const label | myComm_ |
HashPtrTable< instantList > | times_ |
![]() | |
const label | comm_ |
bool | distributed_ |
HashTable< dirIndexList > | procsDirs_ |
autoPtr< fileMonitor > | monitorPtr_ |
Additional Inherited Members | |
![]() | |
enum | pathType : int { NOTFOUND = 0, ABSOLUTE, OBJECT, WRITEOBJECT, PROCUNCOLLATED, PROCBASEOBJECT = PROCUNCOLLATED + 1, PROCOBJECT = PROCBASEOBJECT + 1, PARENTOBJECT, FINDINSTANCE, PROCUNCOLLATEDINSTANCE, PROCBASEINSTANCE, PROCINSTANCE } |
typedef Tuple2< fileName, Tuple2< pathType, int > > | dirIndex |
typedef List< dirIndex > | dirIndexList |
typedef IntRange< int > | procRangeType |
fileOperations that performs all file operations on the master processor. Requires the calls to be parallel synchronised!
The main logic is in ::filePath which returns a
system/controlDict: filePath worldmaster: <globalRoot>/system/controlDict localmaster: ,, slave : ,,
processor0/uniform/time filePath worldmaster: <globalRoot>/processorXXX/uniform/time localmaster: ,, slave : ,,
processors0/0/p processors10/0/p processors10_2-4/0/p
Definition at line 78 of file masterUncollatedFileOperation.H.
|
explicit |
Definition at line 717 of file masterUncollatedFileOperation.C.
References DetailInfo, Foam::endl(), Foam::infoDetailLevel, and WarningInFunction.
masterUncollatedFileOperation | ( | const label | comm, |
bool | verbose | ||
) |
Definition at line 765 of file masterUncollatedFileOperation.C.
References DetailInfo, Foam::endl(), Foam::infoDetailLevel, and WarningInFunction.
|
virtual |
Definition at line 808 of file masterUncollatedFileOperation.C.
References UPstream::freeCommunicator(), masterUncollatedFileOperation::myComm_, and UPstream::worldComm.
|
staticprotected |
Definition at line 77 of file masterUncollatedFileOperation.C.
References DynamicList::append(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, Foam::identity(), n, and Foam::nl.
|
protected |
Definition at line 29 of file masterUncollatedFileOperationTemplates.C.
References PstreamBuffers::finishedSends(), and os().
|
protected |
Definition at line 64 of file masterUncollatedFileOperationTemplates.C.
References Foam::expressions::patchExpr::debug, Foam::endl(), Foam::name(), and Foam::Pout.
|
protected |
Definition at line 107 of file masterUncollatedFileOperationTemplates.C.
References Foam::expressions::patchExpr::debug, Foam::endl(), and Foam::Pout.
|
staticprotected |
Definition at line 127 of file masterUncollatedFileOperation.C.
References Instant< T >::equal(), and forAllReverse.
|
protectedvirtual |
Definition at line 152 of file masterUncollatedFileOperation.C.
References IOobject::caseName(), TimePaths::constant(), IOobject::db(), objectRegistry::dbDir(), TimePaths::globalCaseName(), IOobject::headerClassName(), IOobject::instance(), fileName::isAbsolute(), Foam::isFile(), IOobject::local(), IOobject::name(), IOobject::objectPath(), Time::path(), TimePaths::processorCase(), IOobject::rootPath(), Foam::search(), TimePaths::system(), and IOobject::time().
|
protected |
Definition at line 329 of file masterUncollatedFileOperation.C.
References IOobject::caseName(), IOobject::db(), objectRegistry::dbDir(), TimePaths::globalCaseName(), IOobject::headerClassName(), IOobject::instance(), IOobject::local(), Foam::name(), IOobject::name(), NotImplemented, IOobject::path(), IOobject::rootPath(), and IOobject::time().
Referenced by collatedFileOperation::objectPath().
|
staticprotected |
Definition at line 489 of file masterUncollatedFileOperation.C.
References bool, IOstreamOption::compression(), Foam::BitOps::count(), Foam::expressions::patchExpr::debug, Foam::endl(), Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, Foam::fileSize(), IOstream::good(), os(), Foam::Pout, and IFstream::stdStream().
|
staticprotected |
Definition at line 562 of file masterUncollatedFileOperation.C.
References DynamicList::append(), Foam::expressions::patchExpr::debug, Foam::endl(), Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, PstreamBuffers::finishedSends(), IOobject::name(), IOobject::objectPath(), Foam::Pout, UIPstream::read(), IOobject::readHeader(), and autoPtr::reset().
|
protected |
Definition at line 1380 of file masterUncollatedFileOperation.C.
References IOobject::instance(), Foam::isFile(), IOobject::name(), word::null, IOobject::objectPath(), TimePaths::processorCase(), and IOobject::time().
TypeName | ( | "masterUncollated" | ) |
Implements fileOperation.
Definition at line 820 of file masterUncollatedFileOperation.C.
References Foam::mode(), and UPstream::msgType().
Implements fileOperation.
Definition at line 836 of file masterUncollatedFileOperation.C.
References Foam::mode(), and UPstream::msgType().
Implements fileOperation.
Definition at line 852 of file masterUncollatedFileOperation.C.
References UPstream::msgType().
|
virtual |
Implements fileOperation.
Definition at line 868 of file masterUncollatedFileOperation.C.
References UPstream::msgType().
|
virtual |
Implements fileOperation.
Definition at line 887 of file masterUncollatedFileOperation.C.
References UPstream::msgType().
Implements fileOperation.
Definition at line 904 of file masterUncollatedFileOperation.C.
References UPstream::msgType().
|
virtual |
Implements fileOperation.
Definition at line 920 of file masterUncollatedFileOperation.C.
References UPstream::msgType().
Implements fileOperation.
Definition at line 937 of file masterUncollatedFileOperation.C.
References UPstream::msgType().
Implements fileOperation.
Definition at line 953 of file masterUncollatedFileOperation.C.
References UPstream::msgType().
Implements fileOperation.
Definition at line 969 of file masterUncollatedFileOperation.C.
References UPstream::msgType().
|
virtual |
Implements fileOperation.
Definition at line 1032 of file masterUncollatedFileOperation.C.
References UPstream::msgType(), and Foam::type().
Implements fileOperation.
Definition at line 1050 of file masterUncollatedFileOperation.C.
References UPstream::msgType().
Implements fileOperation.
Definition at line 1068 of file masterUncollatedFileOperation.C.
References UPstream::msgType().
Implements fileOperation.
Definition at line 1085 of file masterUncollatedFileOperation.C.
References UPstream::msgType().
Implements fileOperation.
Definition at line 985 of file masterUncollatedFileOperation.C.
References UPstream::msgType().
Implements fileOperation.
Definition at line 1001 of file masterUncollatedFileOperation.C.
References UPstream::msgType().
Implements fileOperation.
Definition at line 1016 of file masterUncollatedFileOperation.C.
References UPstream::msgType().
|
virtual |
Implements fileOperation.
Definition at line 1103 of file masterUncollatedFileOperation.C.
References fileOperation::ABSOLUTE, TimePaths::constant(), Foam::expressions::patchExpr::debug, Foam::endl(), fileOperation::FINDINSTANCE, IOobject::local(), UPstream::master(), UPstream::msgType(), fileOperation::NOTFOUND, fileOperation::OBJECT, IOobject::objectPath(), fileOperation::PARENTOBJECT, UPstream::parRun(), Time::path(), fileOperation::pathTypeNames_, Foam::Pout, fileOperation::PROCBASEINSTANCE, fileOperation::PROCBASEOBJECT, fileOperation::PROCINSTANCE, fileOperation::PROCOBJECT, fileOperation::PROCUNCOLLATED, fileOperation::PROCUNCOLLATEDINSTANCE, Pstream::scatter(), Foam::search(), IOobject::time(), and fileOperation::WRITEOBJECT.
|
virtual |
Implements fileOperation.
Definition at line 1252 of file masterUncollatedFileOperation.C.
References fileOperation::ABSOLUTE, Foam::expressions::patchExpr::debug, Foam::endl(), fileOperation::FINDINSTANCE, IOobject::local(), UPstream::master(), UPstream::msgType(), fileOperation::NOTFOUND, fileOperation::OBJECT, IOobject::objectPath(), fileOperation::PARENTOBJECT, UPstream::parRun(), Foam::Pout, fileOperation::PROCBASEINSTANCE, fileOperation::PROCBASEOBJECT, fileOperation::PROCINSTANCE, fileOperation::PROCOBJECT, fileOperation::PROCUNCOLLATED, fileOperation::PROCUNCOLLATEDINSTANCE, Pstream::scatter(), Foam::search(), and fileOperation::WRITEOBJECT.
|
virtual |
Reimplemented from fileOperation.
Definition at line 1634 of file masterUncollatedFileOperation.C.
References TimePaths::constant(), Foam::expressions::patchExpr::debug, Foam::endl(), Instant< T >::equal(), fileOperation::findTimes(), forAllReverse, UPstream::master(), Foam::name(), word::null, IOobject::objectPath(), UPstream::parRun(), Time::path(), Foam::Pout, fileOperation::readObjects(), Pstream::scatter(), and objectRegistry::time().
Implements fileOperation.
Definition at line 1720 of file masterUncollatedFileOperation.C.
References Foam::expressions::patchExpr::debug, Foam::endl(), forAll, Pstream::gatherList(), IOstream::good(), IOobject::headerClassName(), UPstream::master(), UPstream::msgType(), UPstream::myProcNo(), IOobject::note(), UPstream::nProcs(), IOobject::objectPath(), Foam::Pout, decomposedBlockData::readHeader(), Pstream::scatter(), List::setSize(), and UPstream::worldComm.
|
virtual |
Implements fileOperation.
Definition at line 1827 of file masterUncollatedFileOperation.C.
References autoPtr::clear(), Foam::expressions::patchExpr::debug, Foam::endl(), Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, Foam::fileSize(), Pstream::gatherList(), regIOobject::global(), autoPtr::good(), Foam::constant::atomic::group, decomposedBlockData::isCollatedType(), UPstream::master(), UPstream::msgType(), UPstream::myProcNo(), IOobject::name(), UPstream::nonBlocking, UPstream::nProcs(), IOobject::objectPath(), UPstream::parRun(), path(), Foam::Pout, Foam::read(), decomposedBlockData::readBlock(), decomposedBlockData::readBlocks(), IOobject::readHeader(), autoPtr::reset(), Pstream::scatter(), UPstream::scheduled, and UPstream::worldComm.
|
virtual |
Implements fileOperation.
Definition at line 2034 of file masterUncollatedFileOperation.C.
References UPstream::commsStruct::above(), UPstream::commsStruct::below(), regIOobject::close(), Foam::expressions::patchExpr::debug, Foam::endl(), forAll, format(), IOobject::globalObject(), IOobject::headerClassName(), UPstream::linearCommunication(), UPstream::master(), UPstream::msgType(), UPstream::myProcNo(), IOobject::name(), IOobject::note(), UPstream::nProcs(), UPstream::nProcsSimpleSum, UPstream::parRun(), Foam::Pout, regIOobject::readData(), Pstream::scatter(), UPstream::scheduled, UPstream::treeCommunication(), UPstream::worldComm, and regIOobject::writeData().
|
virtual |
Reimplemented from fileOperation.
Reimplemented in collatedFileOperation.
Definition at line 2135 of file masterUncollatedFileOperation.C.
References Foam::expressions::patchExpr::debug, Foam::endl(), IOobject::objectPath(), os(), Foam::Pout, setTime(), IOobject::time(), regIOobject::writeData(), IOobject::writeEndDivider(), and IOobject::writeHeader().
|
virtual |
Implements fileOperation.
Definition at line 2285 of file masterUncollatedFileOperation.C.
References Foam::expressions::patchExpr::debug, Foam::endl(), PstreamBuffers::finishedSends(), Pstream::gatherList(), Foam::identity(), UPstream::master(), UPstream::masterNo(), UPstream::msgType(), UPstream::myProcNo(), UPstream::nonBlocking, UPstream::nProcs(), UPstream::parRun(), Foam::Pout, UIPstream::read(), autoPtr::reset(), UPstream::subProcs(), and UPstream::worldComm.
|
virtual |
Implements fileOperation.
Definition at line 2391 of file masterUncollatedFileOperation.C.
|
virtual |
Reimplemented from fileOperation.
Definition at line 2418 of file masterUncollatedFileOperation.C.
References UPstream::master(), and Pstream::scatter().
|
virtual |
Reimplemented from fileOperation.
Definition at line 2433 of file masterUncollatedFileOperation.C.
References UPstream::master(), and Pstream::scatter().
Reimplemented from fileOperation.
Definition at line 2448 of file masterUncollatedFileOperation.C.
References forAll, UPstream::master(), and Pstream::scatter().
|
virtual |
Reimplemented from fileOperation.
Definition at line 2472 of file masterUncollatedFileOperation.C.
References DynamicList::append(), f(), and regIOobject::watchIndices().
|
virtual |
Reimplemented from fileOperation.
Definition at line 2509 of file masterUncollatedFileOperation.C.
References UPstream::master(), and Pstream::scatter().
Reimplemented from fileOperation.
Definition at line 2524 of file masterUncollatedFileOperation.C.
References UPstream::master().
|
virtual |
Reimplemented from fileOperation.
Definition at line 2538 of file masterUncollatedFileOperation.C.
References UPstream::master(), Pstream::scatter(), and fileMonitor::UNMODIFIED.
|
virtual |
Reimplemented from fileOperation.
Definition at line 2553 of file masterUncollatedFileOperation.C.
References UPstream::master().
|
static |
Definition at line 471 of file masterUncollatedFileOperation.C.
|
virtual |
Reimplemented from fileOperation.
Definition at line 2177 of file masterUncollatedFileOperation.C.
References Foam::expressions::patchExpr::debug, Foam::endl(), fileOperation::findTimes(), UPstream::master(), Foam::nl, UPstream::parRun(), Foam::Pout, and Pstream::scatter().
|
virtual |
Reimplemented from fileOperation.
Definition at line 1429 of file masterUncollatedFileOperation.C.
References TimePaths::constant(), Foam::expressions::patchExpr::debug, Foam::endl(), Foam::exists(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, IOobject::instance(), IOobject::local(), UPstream::master(), UPstream::msgType(), IOobject::MUST_READ, IOobject::MUST_READ_IF_MODIFIED, Foam::name(), IOobject::name(), IOobject::objectPath(), UPstream::parRun(), Foam::Pout, IOobject::readOpt(), Pstream::scatter(), IOobject::time(), Time::timeName(), TimePaths::times(), and UPstream::worldComm.
|
virtual |
Reimplemented from fileOperation.
Definition at line 2225 of file masterUncollatedFileOperation.C.
References List::append(), TimePaths::constant(), Foam::expressions::patchExpr::debug, Foam::endl(), Foam::findSortedIndex(), Time::path(), Foam::Pout, fileOperation::setTime(), Foam::stableSort(), Time::subCycling(), Time::timeName(), and dimensioned::value().
|
virtual |
Reimplemented from fileOperation.
Reimplemented in collatedFileOperation.
Definition at line 2410 of file masterUncollatedFileOperation.C.
References fileOperation::flush().
Referenced by collatedFileOperation::flush().
|
inline |
Definition at line 759 of file masterUncollatedFileOperation.H.
References masterUncollatedFileOperation::times_.
|
protected |
Definition at line 87 of file masterUncollatedFileOperation.H.
Referenced by masterUncollatedFileOperation::~masterUncollatedFileOperation().
|
mutableprotected |
Definition at line 90 of file masterUncollatedFileOperation.H.
Referenced by masterUncollatedFileOperation::times().
|
static |
Definition at line 478 of file masterUncollatedFileOperation.H.
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.