The decomposedBlockData comprise a List<char>
for each output processor, typically with IO on the master processor only.
More...
Public Member Functions | |
TypeName ("decomposedBlockData") | |
Declare type-name, virtual type (with debug switch) More... | |
decomposedBlockData (const label comm, const IOobject &io, const UPstream::commsTypes=UPstream::commsTypes::scheduled) | |
Construct given an IOobject. More... | |
virtual | ~decomposedBlockData ()=default |
Destructor. More... | |
virtual bool | read () |
Read object. More... | |
virtual bool | writeData (Ostream &os) const |
Write separated content (assumes content is the serialised data) More... | |
virtual bool | writeObject (IOstreamOption streamOpt, const bool writeOnProc) const |
Write using stream options. More... | |
Public Member Functions inherited from regIOobject | |
TypeName ("regIOobject") | |
Runtime type information. More... | |
regIOobject (const IOobject &io, const bool isTimeObject=false) | |
Construct from IOobject. The optional flag adds special handling if the object is the top-level regIOobject (eg, Time). More... | |
regIOobject (const regIOobject &rio) | |
Copy construct. More... | |
regIOobject (const regIOobject &rio, bool registerCopy) | |
Copy construct, transferring registry registration to the copy if registerCopy is true. More... | |
regIOobject (const word &newName, const regIOobject &, bool registerCopy) | |
Copy construct with new name, transferring registry registration to the copy if registerCopy is true. More... | |
regIOobject (const IOobject &io, const regIOobject &rio) | |
Copy construct with new IO parameters. More... | |
virtual | ~regIOobject () |
Destructor. More... | |
bool | checkIn () |
Add object to registry, if not already registered. More... | |
bool | checkOut () |
Remove all file watches and remove object from registry. More... | |
virtual void | addWatch () |
Add file watch on object (if registered and READ_IF_MODIFIED) More... | |
bool | registered () const noexcept |
Query the registered state (ie, has been checked in). This is not necessarily the same as registerObject(), which is just a stated preference. More... | |
bool | ownedByRegistry () const noexcept |
Is this object owned by the registry? More... | |
bool | store () |
Register object with its registry and transfer ownership to the registry. More... | |
void | release (const bool unregister=false) noexcept |
Set object as not ownedByRegistry. More... | |
label | eventNo () const noexcept |
Event number at last update. More... | |
label & | eventNo () noexcept |
Event number at last update. More... | |
bool | upToDate (const regIOobject &) const |
Return true if up-to-date with respect to given object. More... | |
bool | upToDate (const regIOobject &, const regIOobject &) const |
Return true if up-to-date with respect to given objects. More... | |
bool | upToDate (const regIOobject &, const regIOobject &, const regIOobject &) const |
Return true if up-to-date with respect to given objects. More... | |
bool | upToDate (const regIOobject &, const regIOobject &, const regIOobject &, const regIOobject &) const |
Return true if up-to-date with respect to given objects. More... | |
void | setUpToDate () |
Set as up-to-date. More... | |
virtual void | rename (const word &newName) |
Rename. More... | |
const dictionary * | findMetaData () const noexcept |
Return pointer to meta-data or nullptr. More... | |
dictionary & | getMetaData () noexcept |
Get or create meta-data. More... | |
void | removeMetaData () |
Remove meta-data. More... | |
virtual void | updateMetaData () |
Update internal meta-data (eg, prior to writing) More... | |
virtual fileName | filePath () const |
Return complete path + object name if the file exists. More... | |
bool | headerOk () |
Read and check header info. Does not check the headerClassName. More... | |
Istream & | readStream (const word &, const bool readOnProc=true) |
Return Istream and check object type against that given. More... | |
void | close () |
Close Istream. More... | |
virtual bool | readData (Istream &) |
Virtual readData function. More... | |
virtual label | addWatch (const fileName &) |
Add file watch for fileName on object if not yet watched. More... | |
const labelList & | watchIndices () const noexcept |
Read access to file-monitoring handles. More... | |
labelList & | watchIndices () noexcept |
Write access to file-monitoring handles. More... | |
virtual bool | modified () const |
Return true if the object's file (or files for objectRegistry) have been modified. (modified state is cached by Time) More... | |
virtual bool | readIfModified () |
Read object if modified (as set by call to modified) More... | |
virtual bool | write (const bool writeOnProc=true) const |
Write using setting from DB. More... | |
virtual bool | global () const |
Is object global. More... | |
void | operator= (const IOobject &io) |
Copy assignment. More... | |
virtual bool | writeObject (IOstreamOption::streamFormat fmt, IOstreamOption::versionNumber ver, IOstreamOption::compressionType cmp, const bool writeOnProc) const |
Write using given format, version and compression. More... | |
Public Member Functions inherited from IOobject | |
TypeName ("IOobject") | |
Declare type-name, virtual type (with debug switch) More... | |
IOobject (const IOobject &)=default | |
Copy construct. More... | |
virtual | ~IOobject ()=default |
Destructor. More... | |
IOobject (const word &name, const fileName &instance, const objectRegistry ®istry, IOobjectOption ioOpt=IOobjectOption()) | |
Construct from name, instance, registry, io options. More... | |
IOobject (const word &name, const fileName &instance, const fileName &local, const objectRegistry ®istry, IOobjectOption ioOpt=IOobjectOption()) | |
Construct from name, instance, local, registry, io options. More... | |
IOobject (const fileName &path, const objectRegistry ®istry, IOobjectOption ioOpt=IOobjectOption()) | |
Construct from path, registry, io options. More... | |
IOobject (const word &name, const fileName &instance, const objectRegistry ®istry, IOobjectOption::readOption rOpt, IOobjectOption::writeOption wOpt=IOobjectOption::NO_WRITE, bool registerObject=true, bool globalObject=false) | |
Construct from name, instance, registry, io options. More... | |
IOobject (const word &name, const fileName &instance, const fileName &local, const objectRegistry ®istry, IOobjectOption::readOption rOpt, IOobjectOption::writeOption wOpt=IOobjectOption::NO_WRITE, bool registerObject=true, bool globalObject=false) | |
Construct from name, instance, local, registry, io options. More... | |
IOobject (const fileName &path, const objectRegistry ®istry, IOobjectOption::readOption rOpt, IOobjectOption::writeOption wOpt=IOobjectOption::NO_WRITE, bool registerObject=true, bool globalObject=false) | |
Construct from path, registry, io options. More... | |
IOobject (const IOobject &io, const objectRegistry ®istry) | |
Copy construct, resetting registry. More... | |
IOobject (const IOobject &io, const word &name) | |
Copy construct, resetting name. More... | |
IOobject (const IOobject &io, const word &name, const fileName &local) | |
Copy construct, resetting name and local component. More... | |
IOobject (const IOobject &io, IOobjectOption::readOption rOpt, IOobjectOption::writeOption wOpt) | |
Copy construct, resetting read/write options. More... | |
IOobject (const IOobject &io, IOobjectOption::registerOption regOpt) | |
Copy construct, resetting register option. More... | |
autoPtr< IOobject > | clone () const |
Clone. More... | |
autoPtr< IOobject > | clone (const objectRegistry ®istry) const |
Clone resetting registry. More... | |
const objectRegistry & | db () const noexcept |
Return the local objectRegistry. More... | |
const Time & | time () const noexcept |
Return Time associated with the objectRegistry. More... | |
const word & | name () const noexcept |
Return the object name. More... | |
const word & | headerClassName () const noexcept |
Return name of the class name read from header. More... | |
word & | headerClassName () noexcept |
Return non-constant access to the class name read from header. More... | |
const string & | note () const noexcept |
Return the optional note. More... | |
string & | note () noexcept |
Modifiable access to the optional note. More... | |
unsigned | labelByteSize () const noexcept |
The sizeof (label) in bytes, possibly read from the header. More... | |
unsigned | scalarByteSize () const noexcept |
The sizeof (scalar) in bytes, possibly read from the header. More... | |
void | resetHeader (const word &newName=word::null) |
Clear various bits (headerClassName, note, sizeof...) that would be obtained when reading from a file. More... | |
bool | hasHeaderClass () const noexcept |
True if headerClassName() is non-empty (after reading) More... | |
template<class Type > | |
bool | isHeaderClass () const |
Check if headerClassName() equals Type::typeName. More... | |
template<class Type > | |
bool | isHeaderClassName () const |
Same as isHeaderClass() More... | |
word | group () const |
Return group (extension part of name) More... | |
word | member () const |
Return member (name without the extension) More... | |
const fileName & | rootPath () const |
Return the Time::rootPath() More... | |
const fileName & | caseName () const |
Return the Time::caseName() More... | |
const fileName & | instance () const noexcept |
Read access to instance path component. More... | |
fileName & | instance () noexcept |
Write access to instance path component. More... | |
const fileName & | local () const noexcept |
Read access to local path component. More... | |
fileName | path () const |
The complete path. More... | |
fileName | path (const word &instance, const fileName &local=fileName::null) const |
The complete path with alternative instance and local. More... | |
fileName | objectPath () const |
The complete path + object name. More... | |
fileName | objectRelPath () const |
The object path relative to the root. More... | |
fileName | localFilePath (const word &typeName, const bool search=true) const |
Redirect to fileHandler filePath, searching locally. More... | |
fileName | globalFilePath (const word &typeName, const bool search=true) const |
Redirect to fileHandler filePath, searching up if in parallel. More... | |
IOstreamOption | parseHeader (const dictionary &headerDict) |
Parse 'FoamFile' header contents and set the IOobject characteristics and return the stream characteristics. More... | |
bool | readHeader (Istream &is) |
Read header ('FoamFile' dictionary) and set the IOobject and stream characteristics. More... | |
bool | readHeader (dictionary &headerDict, Istream &is) |
Read header (the 'FoamFile' dictionary) and set the IOobject and stream characteristics. More... | |
template<class Type > | |
bool | typeHeaderOk (const bool checkType=true, const bool search=true, const bool verbose=true) |
Read header (uses typeFilePath to find file) and check its info. More... | |
template<class Type > | |
void | warnNoRereading () const |
Helper: warn that type does not support re-reading. More... | |
bool | writeHeader (Ostream &os) const |
Write header with current type() More... | |
bool | writeHeader (Ostream &os, const word &objectType) const |
Write header with override of type. More... | |
void | writeHeader (dictionary &dict, IOstreamOption streamOpt) const |
Write header into a dictionary with current type() and given output format. More... | |
void | writeHeader (dictionary &dict, const word &objectType, IOstreamOption streamOpt) const |
Write header into a dictionary with override of type and given output format. More... | |
bool | good () const noexcept |
Did last readHeader() succeed? More... | |
bool | bad () const noexcept |
Did last readHeader() fail? More... | |
InfoProxy< IOobject > | info () const noexcept |
Return info proxy, for printing information to a stream. More... | |
void | operator= (const IOobject &io) |
Copy assignment, copies all values (except the registry) More... | |
template<> | |
bool | isHeaderClass () const |
Specialization for void always returns true (no headerClassName check). More... | |
template<class StringType > | |
Foam::word | groupName (StringType base, const word &group) |
Public Member Functions inherited from IOobjectOption | |
constexpr | IOobjectOption (readOption rOpt=readOption::NO_READ, writeOption wOpt=writeOption::NO_WRITE, registerOption registerObject=registerOption::REGISTER, bool globalObject=false) noexcept |
Default construct (NO_READ, NO_WRITE, register, non-global) or construct with specified options. More... | |
constexpr | IOobjectOption (readOption rOpt, registerOption registerObject=registerOption::REGISTER, bool globalObject=false) noexcept |
Construct NO_WRITE with specified read/register options. More... | |
constexpr | IOobjectOption (writeOption wOpt, registerOption registerObject=registerOption::REGISTER, bool globalObject=false) noexcept |
Construct NO_READ with specified write/register options. More... | |
constexpr | IOobjectOption (registerOption registerObject, bool globalObject=false) noexcept |
Construct (NO_READ, NO_WRITE) with specified register option. More... | |
constexpr | IOobjectOption (readOption rOpt, writeOption wOpt, bool registerObject, bool globalObject=false) noexcept |
Construct from components with specified register option as bool. More... | |
constexpr | IOobjectOption (bool registerObject, bool globalObject=false) noexcept |
Construct (NO_READ, NO_WRITE) with specified register option as bool. More... | |
readOption | readOpt () const noexcept |
Get the read option. More... | |
readOption | readOpt (readOption opt) noexcept |
Set the read option. More... | |
writeOption | writeOpt () const noexcept |
Get the write option. More... | |
writeOption | writeOpt (writeOption opt) noexcept |
Set the write option. More... | |
bool | registerObject () const noexcept |
Should objects created with this IOobject be registered? More... | |
bool | registerObject (bool on) noexcept |
Change registration preference. More... | |
bool | globalObject () const noexcept |
True if object is treated the same for all processors. More... | |
bool | globalObject (bool on) noexcept |
Change global-object status. More... | |
bool | isAnyRead () const noexcept |
True if any reading may be required(ie, != NO_READ) More... | |
bool | isReadRequired () const noexcept |
True if (MUST_READ | READ_MODIFIED) bits are set. More... | |
bool | isReadOptional () const noexcept |
True if (LAZY_READ) bits are set [same as READ_IF_PRESENT]. More... | |
readOption & | readOpt () noexcept |
Access to the read option. More... | |
writeOption & | writeOpt () noexcept |
Access to the write option. More... | |
bool & | registerObject () noexcept |
Access to the register object option. More... | |
bool & | globalObject () noexcept |
Access to the global object option. More... | |
Static Public Member Functions | |
static bool | isCollatedType (const word &objectType) |
True if object type is a known collated type. More... | |
static bool | isCollatedType (const IOobject &io) |
True if object header class is a known collated type. More... | |
static bool | readHeader (IOobject &io, Istream &is) |
Read header as per IOobject with additional handling of decomposedBlockData. More... | |
static void | writeHeader (Ostream &os, IOstreamOption streamOptContainer, const word &objectType, const string ¬e, const fileName &location, const word &objectName, const dictionary &extraEntries) |
Helper: write FoamFile IOobject header. More... | |
static void | writeHeader (Ostream &os, IOstreamOption streamOptData, const IOobject &io) |
Helper: write FoamFile IOobject header. More... | |
static void | writeExtraHeaderContent (dictionary &dict, IOstreamOption streamOptData, const IOobject &io) |
Helper: generate additional entries for FoamFile header. More... | |
static bool | readBlockEntry (Istream &is, List< char > &charData) |
Helper: read block of (binary) character data. More... | |
static std::streamoff | writeBlockEntry (OSstream &os, const label blocki, const UList< char > &charData) |
Helper: write block of (binary) character data. More... | |
static std::streamoff | writeBlockEntry (OSstream &os, const label blocki, const std::string &content) |
Helper: write block of (binary) character content. More... | |
static std::streamoff | writeBlockEntry (OSstream &os, IOstreamOption streamOptData, const regIOobject &io, const label blocki, const bool withLocalHeader) |
Helper: write block of (binary) character data. More... | |
static autoPtr< ISstream > | readBlock (const label blocki, ISstream &is, IOobject &headerIO) |
Read selected block (non-seeking) + header information. More... | |
static autoPtr< ISstream > | readBlocks (const label comm, const fileName &fName, autoPtr< ISstream > &isPtr, IOobject &headerIO, const UPstream::commsTypes commsType) |
Read master header information (into headerIO) and return data in stream. Note: isPtr is only valid on master. More... | |
static void | gather (const label comm, const label data, labelList &datas) |
Helper: gather single label. Note: using native Pstream. More... | |
static void | gatherSlaveData (const label comm, const UList< char > &data, const labelUList &recvSizes, const labelRange &fromProcs, List< int > &recvOffsets, DynamicList< char > &recvData) |
Helper: gather data from (subset of) slaves. More... | |
static bool | writeBlocks (const label comm, autoPtr< OSstream > &osPtr, List< std::streamoff > &blockOffset, const UList< char > &masterData, const labelUList &recvSizes, const UPtrList< SubList< char >> &slaveData, const UPstream::commsTypes commsType, const bool syncReturnState=true) |
Write *this. Ostream only valid on master. More... | |
Static Public Member Functions inherited from regIOobject | |
template<class Type > | |
static Type & | store (Type *p) |
Transfer pointer ownership to its registry. More... | |
template<class Type > | |
static Type & | store (autoPtr< Type > &ptr) |
Transfer pointer ownership to its registry. More... | |
template<class Type > | |
static Type & | store (autoPtr< Type > &&ptr) |
Transfer pointer ownership to its registry. More... | |
template<class Type > | |
static Type & | store (refPtr< Type > &ptr) |
Transfer pointer ownership to its registry. More... | |
template<class Type > | |
static Type & | store (refPtr< Type > &&ptr) |
Transfer pointer ownership to its registry. More... | |
template<class Type > | |
static Type & | store (tmp< Type > &ptr) |
Transfer pointer ownership to its registry. More... | |
template<class Type > | |
static Type & | store (tmp< Type > &&ptr) |
Transfer pointer ownership to its registry. More... | |
Static Public Member Functions inherited from IOobject | |
static bool | bannerEnabled () noexcept |
Status of output file banner. More... | |
static bool | bannerEnabled (bool on) noexcept |
Enable/disable output file banner. More... | |
static bool | fileNameComponents (const fileName &path, fileName &instance, fileName &local, word &name) |
Split path into instance, local, name components. More... | |
template<class StringType > | |
static word | groupName (StringType base, const word &group) |
Create dot-delimited name.group string. More... | |
static word | group (const word &name) |
Return group (extension part of name) More... | |
static word | member (const word &name) |
Return member (name without the extension) More... | |
static word | scopedName (const std::string &scope, const word &name) |
Create scope:name or scope_name string. More... | |
static IOobject | selectIO (const IOobject &io, const fileName &altFile, const word &ioName="") |
Return the IOobject, but also consider an alternative file name. More... | |
static Ostream & | writeBanner (Ostream &os, const bool noSyntaxHint=false) |
Write the standard OpenFOAM file/dictionary banner. More... | |
static Ostream & | writeDivider (Ostream &os) |
Write the standard file section divider. More... | |
static Ostream & | writeEndDivider (Ostream &os) |
Write the standard end file divider. More... | |
Static Public Member Functions inherited from IOobjectOption | |
static bool | isAnyRead (readOption opt) noexcept |
True if any reading may be required (ie, != NO_READ) More... | |
static bool | isReadRequired (readOption opt) noexcept |
True if (MUST_READ | READ_MODIFIED) bits are set. More... | |
static bool | isReadOptional (readOption opt) noexcept |
True if (LAZY_READ) bits are set [same as READ_IF_PRESENT]. More... | |
static readOption | lazierRead (readOption opt) noexcept |
Downgrade readOption optional (LAZY_READ), leaves NO_READ intact. More... | |
Static Protected Member Functions | |
static label | calcNumProcs (const label comm, const off_t maxBufferSize, const labelUList &recvSizes, const label startProci) |
Helper: determine number of processors whose recvSizes fits into maxBufferSize. More... | |
static bool | readBlocks (const label comm, autoPtr< ISstream > &isPtr, List< char > &contentChars, const UPstream::commsTypes commsType) |
Read data into *this. ISstream is only valid on master. More... | |
static bool | skipBlockEntry (Istream &is) |
Helper: skip a block of (binary) character data. More... | |
static label | getNumBlocks (Istream &is, const bool readHeader) |
Extract number of blocks from decomposedBlockData file stream. More... | |
Static Protected Member Functions inherited from IOobject | |
static void | writeHeaderContent (Ostream &os, const IOobject &io, const word &objectType, const dictionary *metaDataDict=nullptr) |
Helper: write content for FoamFile IOobject header with optional meta information. More... | |
static void | writeHeaderContent (dictionary &dict, const IOobject &io, const word &objectType, IOstreamOption streamOpt, const dictionary *metaDataDict=nullptr) |
Helper: write dictionary content for FoamFile header with optional meta information. More... | |
Protected Attributes | |
const UPstream::commsTypes | commsType_ |
Type to use for gather. More... | |
const label | comm_ |
Communicator for all parallel comms. More... | |
List< char > | contentData_ |
The block content. More... | |
Additional Inherited Members | |
Public Types inherited from IOobject | |
enum | objectState : char { GOOD, BAD } |
Enumeration defining the valid states of an IOobject. More... | |
enum | fileCheckTypes : char { timeStamp, timeStampMaster, inotify, inotifyMaster } |
Enumeration defining the file checking options. More... | |
Public Types inherited from IOobjectOption | |
enum | readOption : unsigned char { NO_READ = 0, MUST_READ = 0x1, READ_MODIFIED = 0x3, MUST_READ_IF_MODIFIED = 0x3, LAZY_READ = 0x4, READ_IF_PRESENT = 0x4 } |
Enumeration defining read preferences. More... | |
enum | writeOption : unsigned char { NO_WRITE = 0, AUTO_WRITE = 0x10 } |
Enumeration defining write preferences. More... | |
enum | registerOption : unsigned char { NO_REGISTER = 0, REGISTER = 1 } |
Enumeration for use with registerObject(). Values map to bool (false/true) More... | |
Static Public Attributes inherited from IOobject | |
static const Enum< fileCheckTypes > | fileCheckTypesNames |
Names for the fileCheckTypes. More... | |
static char | scopeSeparator |
Character for scoping object names (':' or '_') More... | |
static fileCheckTypes | fileModificationChecking |
Type of file modification checking. More... | |
static float | fileModificationSkew |
Time skew (seconds) for file modification checks. More... | |
static int | maxFileModificationPolls |
Max number of times to poll for file modification changes. More... | |
Protected Member Functions inherited from regIOobject | |
bool | readHeaderOk (const IOstreamOption::streamFormat fmt, const word &typeName) |
Helper: check readOpt flags and read if necessary. More... | |
Protected Member Functions inherited from IOobject | |
void | setBad (const string &s) |
Set the object state to bad. More... | |
Static Protected Attributes inherited from regIOobject | |
static bool | masterOnlyReading = false |
To flag master-only reading of objects. More... | |
The decomposedBlockData comprise a List<char>
for each output processor, typically with IO on the master processor only.
For decomposedBlockData, we make a distinction between the container description and the individual block contents.
The FoamFile header specifies the container characteristics and thus has class
= decomposedBlockData
and normally format
= binary
. This description refers to the entire file container, not the individual blocks.
Each processor block is simply a binary chunk of characters and the first block also contains the header description for all of the blocks. For example,
FoamFile { version 2.0; format binary; arch "LSB;label=32;scalar=64"; class decomposedBlockData; location "constant/polyMesh"; object points; } // processor0 NCHARS (FoamFile { version 2.0; format ascii; arch "LSB;label=32;scalar=64"; class vectorField; location "constant/polyMesh"; object points; } ...content... ) // processor1 NCHARS (...content...) ...
Definition at line 99 of file decomposedBlockData.H.
decomposedBlockData | ( | const label | comm, |
const IOobject & | io, | ||
const UPstream::commsTypes | commsType = UPstream::commsTypes::scheduled |
||
) |
Construct given an IOobject.
Definition at line 70 of file decomposedBlockData.C.
References Foam::endl(), Foam::name(), Foam::blockMeshTools::read(), and WarningInFunction.
|
virtualdefault |
Destructor.
|
staticprotected |
Helper: determine number of processors whose recvSizes fits into maxBufferSize.
Definition at line 793 of file decomposedBlockData.C.
References Pstream::broadcast(), UPstream::master(), and UPstream::nProcs().
|
staticprotected |
Read data into *this. ISstream is only valid on master.
Definition at line 428 of file decomposedBlockData.C.
References Pstream::broadcast(), UPstream::commsTypeNames, Foam::ensightOutput::debug, Foam::endl(), IOstream::fatalCheck(), PstreamBuffers::finishedScatters(), FUNCTION_NAME, IOstream::good(), UPstream::master(), UPstream::masterNo(), UPstream::msgType(), ISstream::name(), UPstream::nonBlocking, os(), Foam::Pout, decomposedBlockData::readBlockEntry(), UPstream::scheduled, and UPstream::subProcs().
Referenced by masterUncollatedFileOperation::readStream().
|
staticprotected |
Helper: skip a block of (binary) character data.
Definition at line 142 of file decomposedBlockData.C.
References IOstreamOption::BINARY, token::END_STATEMENT, IOstream::fatalCheck(), IOstreamOption::format(), FUNCTION_NAME, IOstream::good(), token::isCompound(), token::isLabel(), token::isWord(), token::labelToken(), Istream::putBack(), and Istream::read().
|
staticprotected |
Extract number of blocks from decomposedBlockData file stream.
Definition at line 220 of file decomposedBlockData.C.
References IOstreamOption::format(), dictionary::get(), IOstream::good(), token::good(), token::isWord(), Istream::putBack(), dictionary::readIfPresent(), and IOstreamOption::version().
TypeName | ( | "decomposedBlockData" | ) |
Declare type-name, virtual type (with debug switch)
|
virtual |
Read object.
Reimplemented from regIOobject.
Definition at line 1039 of file decomposedBlockData.C.
References Foam::fileHandler, UPstream::master(), word::null, IOobject::readHeader(), and autoPtr< T >::reset().
|
virtual |
Write separated content (assumes content is the serialised data)
The serialised master data should also contain a FoamFile header
Implements regIOobject.
Definition at line 1053 of file decomposedBlockData.C.
References Pstream::broadcasts(), IOstreamOption::versionNumber::canonical(), IOstreamOption::format(), IOstream::good(), IOobject::headerClassName(), io(), local, UPstream::master(), Foam::name(), IOobject::note(), os(), IOobject::readHeader(), IOstreamOption::version(), IOobject::writeEndDivider(), decomposedBlockData::writeHeader(), OBJstream::writeQuoted(), and OSstream::writeRaw().
|
virtual |
Write using stream options.
Reimplemented from regIOobject.
Definition at line 1127 of file decomposedBlockData.C.
References IOstreamOption::BINARY, Foam::PstreamDetail::gather(), UPstream::master(), autoPtr< T >::reset(), and decomposedBlockData::writeHeader().
|
static |
True if object type is a known collated type.
Definition at line 47 of file decomposedBlockData.C.
Referenced by decomposedBlockData::readHeader(), uncollatedFileOperation::readStream(), and masterUncollatedFileOperation::readStream().
|
static |
True if object header class is a known collated type.
Definition at line 59 of file decomposedBlockData.C.
References io().
Read header as per IOobject with additional handling of decomposedBlockData.
Definition at line 101 of file decomposedBlockDataHeader.C.
References IOobject::headerClassName(), io(), decomposedBlockData::isCollatedType(), ISstream::name(), IOstream::name(), decomposedBlockData::readBlockEntry(), IOobject::readHeader(), and dictionary::readIfPresent().
Referenced by uncollatedFileOperation::readHeader(), and masterUncollatedFileOperation::readHeader().
|
static |
Helper: write FoamFile IOobject header.
Definition at line 133 of file decomposedBlockDataHeader.C.
References IOobject::bannerEnabled(), Ostream::beginBlock(), Ostream::endBlock(), Foam::nl, os(), IOobject::writeBanner(), IOobject::writeDivider(), and dictionary::writeEntries().
Referenced by decomposedBlockData::writeData(), and decomposedBlockData::writeObject().
|
static |
Helper: write FoamFile IOobject header.
Definition at line 194 of file decomposedBlockDataHeader.C.
References IOobject::bannerEnabled(), Ostream::beginBlock(), IOobject::db(), objectRegistry::dbDir(), Ostream::endBlock(), IOobject::findMetaData(), IOstreamOption::format(), IOobject::instance(), io(), IOobject::local(), IOobject::name(), Foam::nl, IOobject::note(), os(), IOobject::writeBanner(), IOobject::writeDivider(), dictionary::writeEntry(), and Foam::writeHeaderEntry().
|
static |
Helper: generate additional entries for FoamFile header.
Definition at line 175 of file decomposedBlockDataHeader.C.
References dictionary::add(), dict, IOobject::findMetaData(), IOstreamOption::format(), io(), and dictionary::set().
Referenced by collatedFileOperation::writeObject().
Helper: read block of (binary) character data.
Definition at line 100 of file decomposedBlockData.C.
References IOstream::fatalCheck(), FUNCTION_NAME, token::good(), token::isCompound(), token::isWord(), Istream::putBack(), and List< T >::readList().
Referenced by decomposedBlockData::readBlock(), decomposedBlockData::readBlocks(), and decomposedBlockData::readHeader().
|
static |
Helper: write block of (binary) character data.
Definition at line 262 of file decomposedBlockData.C.
References Foam::name(), Foam::nl, os(), OFstream::stdStream(), and UList< T >::writeList().
Referenced by decomposedBlockData::writeBlockEntry(), and decomposedBlockData::writeBlocks().
|
static |
Helper: write block of (binary) character content.
Definition at line 291 of file decomposedBlockData.C.
References os(), and decomposedBlockData::writeBlockEntry().
|
static |
Helper: write block of (binary) character data.
Definition at line 308 of file decomposedBlockData.C.
References IOobject::bannerEnabled(), io(), os(), StringStreamAllocator< StreamType >::str(), decomposedBlockData::writeBlockEntry(), and IOobject::writeHeader().
|
static |
Read selected block (non-seeking) + header information.
Definition at line 350 of file decomposedBlockData.C.
References Foam::ensightOutput::debug, Foam::endl(), Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, IOstreamOption::format(), IOstream::labelByteSize(), ISstream::name(), Foam::nl, Foam::Pout, decomposedBlockData::readBlockEntry(), IOobject::readHeader(), IOstream::relativeName(), autoPtr< T >::reset(), IOstream::scalarByteSize(), and IOstreamOption::version().
Referenced by uncollatedFileOperation::readStream(), and masterUncollatedFileOperation::readStream().
|
static |
Read master header information (into headerIO) and return data in stream. Note: isPtr is only valid on master.
Definition at line 531 of file decomposedBlockData.C.
References Pstream::broadcast(), Pstream::broadcasts(), IOstreamOption::versionNumber::canonical(), UPstream::commsTypeNames, Foam::ensightOutput::debug, Foam::endl(), Foam::exit(), IOstream::fatalCheck(), Foam::FatalIOError, FatalIOErrorInFunction, PstreamBuffers::finishedScatters(), FUNCTION_NAME, IOstream::good(), IOobject::headerClassName(), UPstream::master(), UPstream::masterNo(), UPstream::msgType(), ISstream::name(), IOobject::name(), Foam::nl, UPstream::nonBlocking, IOobject::note(), os(), Foam::Pout, decomposedBlockData::readBlockEntry(), IOobject::readHeader(), IOstream::relativeName(), IOobject::rename(), autoPtr< T >::reset(), UPstream::scheduled, UPstream::subProcs(), and UPstream::worldComm.
|
static |
Helper: gather single label. Note: using native Pstream.
datas sized with num procs but undefined contents on slaves
Definition at line 696 of file decomposedBlockData.C.
References UList< T >::data_bytes(), forAll, UPstream::gather(), UPstream::master(), UPstream::nProcs(), List< T >::resize(), and List< T >::setSize().
Referenced by OFstreamCollator::write().
|
static |
Helper: gather data from (subset of) slaves.
Returns:
Definition at line 735 of file decomposedBlockData.C.
References DynamicList< T, SizeMin >::clear(), IntRange< IntType >::contains(), UList< T >::data(), IntRange< IntType >::end_value(), UPstream::gather(), UPstream::master(), UPstream::myProcNo(), UPstream::nProcs(), List< T >::resize(), and DynamicList< T, SizeMin >::resize().
|
static |
Write *this. Ostream only valid on master.
Returns offsets of processor blocks in blockOffset
Enable to get synchronised error checking. Is the one that keeps
slaves as slow as the master (which does all the writing)
Definition at line 823 of file decomposedBlockData.C.
References Pstream::broadcast(), UList< T >::cdata(), UPstream::commsTypeNames, UList< T >::data(), Foam::ensightOutput::debug, Foam::endl(), IOstream::good(), UPstream::master(), UPstream::masterNo(), Foam::max(), UPstream::msgType(), OSstream::name(), UPstream::nProcs(), os(), Foam::Pout, UIPstream::read(), List< T >::resize(), DynamicList< T, SizeMin >::resize_nocopy(), UPstream::scheduled, UList< T >::size(), UList< T >::size_bytes(), UOPstream::write(), and decomposedBlockData::writeBlockEntry().
|
protected |
Type to use for gather.
Definition at line 126 of file decomposedBlockData.H.
|
protected |
Communicator for all parallel comms.
Definition at line 131 of file decomposedBlockData.H.
|
protected |
The block content.
Definition at line 136 of file decomposedBlockData.H.
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.