decomposedBlockData Class Reference

decomposedBlockData is a List<char> with IO on the master processor only. More...

Inheritance diagram for decomposedBlockData:
Collaboration diagram for decomposedBlockData:

Public Member Functions

 TypeName ("decomposedBlockData")
 
 decomposedBlockData (const label comm, const IOobject &, const UPstream::commsTypes=UPstream::commsTypes::scheduled)
 Construct given an IOobject. More...
 
 decomposedBlockData (const label comm, const IOobject &, const UList< char > &, const UPstream::commsTypes=UPstream::commsTypes::scheduled)
 Construct given an IOobject and for READ_IF_MODIFIED a List<char> More...
 
 decomposedBlockData (const label comm, const IOobject &, List< char > &&, const UPstream::commsTypes=UPstream::commsTypes::scheduled)
 Move construct by transferring the IOList contents. More...
 
virtual ~decomposedBlockData ()
 Destructor. More...
 
virtual bool read ()
 Read object. More...
 
virtual bool writeData (Ostream &) const
 Write separated content. Assumes content is the serialised data. More...
 
virtual bool writeObject (IOstream::streamFormat, IOstream::versionNumber, IOstream::compressionType, const bool write) const
 Write using given format, version and compression. More...
 
- Public Member Functions inherited from regIOobject
 TypeName ("regIOobject")
 Runtime type information. More...
 
 regIOobject (const IOobject &, const bool isTime=false)
 Construct from IOobject. Optional flag for if IOobject is the. More...
 
 regIOobject (const regIOobject &)
 Copy constructor. More...
 
 regIOobject (const regIOobject &, bool registerCopy)
 Copy constructor, transferring registry registration to copy. More...
 
 regIOobject (const word &newName, const regIOobject &, bool registerCopy)
 Copy constructor with new name, transferring registry registration. More...
 
 regIOobject (const IOobject &, const regIOobject &)
 Copy constructor with new IO parameters. More...
 
virtual ~regIOobject ()
 Destructor. More...
 
bool checkIn ()
 Add object to registry. More...
 
bool checkOut ()
 Remove object from registry. More...
 
virtual void addWatch ()
 Add file watch on object (if registered and READ_IF_MODIFIED) More...
 
bool ownedByRegistry () const
 Is this object owned by the registry? More...
 
void store ()
 Transfer ownership of this object to its registry. More...
 
void release ()
 Release ownership of this object from its registry. More...
 
label eventNo () const
 Event number at last update. More...
 
labeleventNo ()
 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 up to date (obviously) More...
 
virtual void rename (const word &newName)
 Rename. More...
 
virtual fileName filePath () const
 Return complete path + object name if the file exists. More...
 
bool headerOk ()
 Read and check header info. More...
 
IstreamreadStream (const word &, const bool read=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. Return. More...
 
const labelListwatchIndices () const
 Return file-monitoring handles. More...
 
labelListwatchIndices ()
 Return file-monitoring handles. More...
 
virtual bool modified () const
 Return true if the object's file (or files for objectRegistry) More...
 
virtual bool readIfModified ()
 Read object if modified (as set by call to modified) More...
 
virtual bool global () const
 Is object same for all processors. More...
 
virtual bool write (const bool write=true) const
 Write using setting from DB. More...
 
void operator= (const IOobject &)
 
- Public Member Functions inherited from IOobject
 TypeName ("IOobject")
 Runtime type information. More...
 
 IOobject (const word &name, const fileName &instance, const objectRegistry &registry, readOption r=NO_READ, writeOption w=NO_WRITE, bool registerObject=true)
 Construct from name, instance, registry, io options. More...
 
 IOobject (const word &name, const fileName &instance, const fileName &local, const objectRegistry &registry, readOption r=NO_READ, writeOption w=NO_WRITE, bool registerObject=true)
 Construct from name, instance, local, registry, io options. More...
 
 IOobject (const fileName &path, const objectRegistry &registry, readOption r=NO_READ, writeOption w=NO_WRITE, bool registerObject=true)
 Construct from path, registry, io options. More...
 
 IOobject (const IOobject &io, const objectRegistry &registry)
 Construct from copy resetting registry. More...
 
 IOobject (const IOobject &io, const word &name)
 Construct from copy resetting name. More...
 
 IOobject (const IOobject &io)=default
 Copy constructor. More...
 
autoPtr< IOobjectclone () const
 Clone. More...
 
autoPtr< IOobjectclone (const objectRegistry &registry) const
 Clone resetting registry. More...
 
virtual ~IOobject ()
 Destructor. More...
 
const Timetime () const
 Return time. More...
 
const objectRegistrydb () const
 Return the local objectRegistry. More...
 
const wordname () const
 Return name. More...
 
const wordheaderClassName () const
 Return name of the class name read from header. More...
 
wordheaderClassName ()
 Return name of the class name read from header. More...
 
stringnote ()
 Return non-constant access to the optional note. More...
 
const stringnote () const
 Return the optional note. More...
 
bool & registerObject ()
 Register object created from this IOobject with registry if true. More...
 
bool registerObject () const
 Register object created from this IOobject with registry if true. More...
 
readOption readOpt () const
 
readOptionreadOpt ()
 
writeOption writeOpt () const
 
writeOptionwriteOpt ()
 
word group () const
 Return group (extension part of name) More...
 
word member () const
 Return member (name without the extension) More...
 
const fileNamerootPath () const
 
const fileNamecaseName () const
 
const fileNameinstance () const
 
fileNameinstance ()
 
const fileNamelocal () const
 
fileName path () const
 Return complete path. More...
 
fileName path (const word &instance, const fileName &local="") const
 Return complete path with alternative instance and local. More...
 
fileName objectPath () const
 Return complete path + object name. More...
 
fileName localFilePath (const word &typeName) const
 Helper for filePath that searches locally. More...
 
fileName globalFilePath (const word &typeName) const
 Helper for filePath that searches up if in parallel. More...
 
bool readHeader (Istream &)
 Read header. More...
 
template<class Type >
bool typeHeaderOk (const bool checkType=true)
 Read header (uses typeFilePath to find file) and check header. More...
 
template<class Type >
void warnNoRereading () const
 Helper: warn that type does not support re-reading. More...
 
bool writeHeader (Ostream &) const
 Write header. More...
 
bool writeHeader (Ostream &, const word &objectType) const
 Write header. Allow override of type. More...
 
bool good () const
 
bool bad () const
 
InfoProxy< IOobjectinfo () const
 Return info proxy. More...
 
void operator= (const IOobject &)
 
template<class Name >
Foam::word groupName (Name name, const word &group)
 
- Public Member Functions inherited from List< char >
 List ()
 Null constructor. More...
 
 List (const label)
 Construct with given size. More...
 
 List (const label, const char &)
 Construct with given size and value for all elements. More...
 
 List (const label, const zero)
 Construct with given size initializing all elements to zero. More...
 
 List (const List< char > &)
 Copy constructor. More...
 
 List (const List< T2 > &)
 Copy constructor from list containing another type. More...
 
 List (List< char > &&)
 Move constructor. More...
 
 List (List< char > &, bool reuse)
 Construct as copy or re-use as specified. More...
 
 List (const UList< char > &, const labelUList &mapAddressing)
 Construct as subset. More...
 
 List (InputIterator first, InputIterator last)
 Construct given start and end iterators. More...
 
 List (const FixedList< char, Size > &)
 Construct as copy of FixedList<T, Size> More...
 
 List (const PtrList< char > &)
 Construct as copy of PtrList<T> More...
 
 List (const SLList< char > &)
 Construct as copy of SLList<T> More...
 
 List (const UIndirectList< char > &)
 Construct as copy of UIndirectList<T> More...
 
 List (const BiIndirectList< char > &)
 Construct as copy of BiIndirectList<T> More...
 
 List (std::initializer_list< char >)
 Construct from an initializer list. More...
 
 List (Istream &)
 Construct from Istream. More...
 
label size () const
 Return the number of elements in the UList. More...
 
autoPtr< List< char > > clone () const
 Clone. More...
 
 ~List ()
 Destructor. More...
 
void resize (const label)
 Alias for setSize(const label) More...
 
void resize (const label, const char &)
 Alias for setSize(const label, const T&) More...
 
void setSize (const label)
 Reset size of List. More...
 
void setSize (const label, const char &)
 Reset size of List and value for new elements. More...
 
void clear ()
 Clear the list, i.e. set size to zero. More...
 
void append (const char &)
 Append an element at the end of the list. More...
 
void append (const UList< char > &)
 Append a List at the end of this list. More...
 
void append (const UIndirectList< char > &)
 Append a UIndirectList at the end of this list. More...
 
void transfer (List< char > &)
 Transfer the contents of the argument List into this list. More...
 
void transfer (DynamicList< char, SizeInc, SizeMult, SizeDiv > &)
 Transfer the contents of the argument List into this list. More...
 
void transfer (SortableList< char > &)
 Transfer the contents of the argument List into this list. More...
 
char & newElmt (const label)
 Return subscript-checked element of UList. More...
 
void shallowCopy (const UList< char > &)=delete
 Disallow implicit shallowCopy. More...
 
void operator= (const UList< char > &)
 Assignment to UList operator. Takes linear time. More...
 
void operator= (const List< char > &)
 Assignment operator. Takes linear time. More...
 
void operator= (List< char > &&)
 Move assignment operator. More...
 
void operator= (const SLList< char > &)
 Assignment to SLList operator. Takes linear time. More...
 
void operator= (const UIndirectList< char > &)
 Assignment to UIndirectList operator. Takes linear time. More...
 
void operator= (const BiIndirectList< char > &)
 Assignment to BiIndirectList operator. Takes linear time. More...
 
void operator= (std::initializer_list< char >)
 Assignment to an initializer list. More...
 
void operator= (const char &)
 Assignment of all entries to the given value. More...
 
void operator= (const zero)
 Assignment of all entries to zero. More...
 
- Public Member Functions inherited from UList< T >
 UList ()
 Null constructor. More...
 
 UList (T *__restrict__ v, label size)
 Construct from components. More...
 
label fcIndex (const label i) const
 Return the forward circular index, i.e. the next index. More...
 
label rcIndex (const label i) const
 Return the reverse circular index, i.e. the previous index. More...
 
std::streamsize byteSize () const
 Return the binary size in number of characters of the UList. More...
 
const Tcdata () const
 Return a const pointer to the first data element,. More...
 
Tdata ()
 Return a pointer to the first data element,. More...
 
Tfirst ()
 Return the first element of the list. More...
 
const Tfirst () const
 Return first element of the list. More...
 
Tlast ()
 Return the last element of the list. More...
 
const Tlast () const
 Return the last element of the list. More...
 
void checkStart (const label start) const
 Check start is within valid range (0 ... size-1) More...
 
void checkSize (const label size) const
 Check size is within valid range (0 ... size) More...
 
void checkIndex (const label i) const
 Check index i is within valid range (0 ... size-1) More...
 
void shallowCopy (const UList< T > &)
 Copy the pointer held by the given UList. More...
 
void deepCopy (const UList< T > &)
 Copy elements of the given UList. More...
 
Toperator[] (const label)
 Return element of UList. More...
 
const Toperator[] (const label) const
 Return element of constant UList. More...
 
 operator const Foam::List< T > & () const
 Allow cast to a const List<T>&. More...
 
void operator= (const T &)
 Assignment of all entries to the given value. More...
 
void operator= (const zero)
 Assignment of all entries to zero. More...
 
iterator begin ()
 Return an iterator to begin traversing the UList. More...
 
iterator end ()
 Return an iterator to end traversing the UList. More...
 
const_iterator cbegin () const
 Return const_iterator to begin traversing the constant UList. More...
 
const_iterator cend () const
 Return const_iterator to end traversing the constant UList. More...
 
const_iterator begin () const
 Return const_iterator to begin traversing the constant UList. More...
 
const_iterator end () const
 Return const_iterator to end traversing the constant UList. More...
 
reverse_iterator rbegin ()
 Return reverse_iterator to begin reverse traversing the UList. More...
 
reverse_iterator rend ()
 Return reverse_iterator to end reverse traversing the UList. More...
 
const_reverse_iterator crbegin () const
 Return const_reverse_iterator to begin reverse traversing the UList. More...
 
const_reverse_iterator crend () const
 Return const_reverse_iterator to end reverse traversing the UList. More...
 
const_reverse_iterator rbegin () const
 Return const_reverse_iterator to begin reverse traversing the UList. More...
 
const_reverse_iterator rend () const
 Return const_reverse_iterator to end reverse traversing the UList. More...
 
label size () const
 Return the number of elements in the UList. More...
 
label max_size () const
 Return size of the largest possible UList. More...
 
bool empty () const
 Return true if the UList is empty (ie, size() is zero) More...
 
void swap (UList< T > &)
 Swap two ULists of the same type in constant time. More...
 
bool operator== (const UList< T > &) const
 Equality operation on ULists of the same type. More...
 
bool operator!= (const UList< T > &) const
 The opposite of the equality operation. Takes linear time. More...
 
bool operator< (const UList< T > &) const
 Compare two ULists lexicographically. Takes linear time. More...
 
bool operator> (const UList< T > &) const
 Compare two ULists lexicographically. Takes linear time. More...
 
bool operator<= (const UList< T > &) const
 Return true if !(a > b). Takes linear time. More...
 
bool operator>= (const UList< T > &) const
 Return true if !(a < b). Takes linear time. More...
 
template<>
const bool & operator[] (const label i) const
 

Static Public Member Functions

static bool readMasterHeader (IOobject &, Istream &)
 Read header. Call only on master. More...
 
static void writeHeader (Ostream &os, const IOstream::versionNumber version, const IOstream::streamFormat format, const word &type, const string &note, const fileName &location, const word &name)
 Helper: write FoamFile IOobject header. More...
 
static autoPtr< ISstreamreadBlock (const label blocki, Istream &is, IOobject &headerIO)
 Read selected block (non-seeking) + header information. More...
 
static autoPtr< ISstreamreadBlocks (const label comm, const fileName &fName, autoPtr< ISstream > &isPtr, IOobject &headerIO, const UPstream::commsTypes commsType)
 Read master header information (into headerIO) and return. 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 label startProc, const label nProcs, List< int > &recvOffsets, List< char > &recvData)
 Helper: gather data from (subset of) slaves. Returns. More...
 
static bool writeBlocks (const label comm, autoPtr< OSstream > &osPtr, List< std::streamoff > &start, const UList< char > &masterData, const labelUList &recvSizes, const PtrList< SubList< char >> &slaveData, const UPstream::commsTypes, const bool syncReturnState=true)
 Write *this. Ostream only valid on master. Returns starts of. More...
 
static label numBlocks (const fileName &)
 Detect number of blocks in a file. More...
 
- Static Public Member Functions inherited from regIOobject
template<class Type >
static Type & store (Type *)
 Transfer ownership of the given object pointer to its registry. More...
 
template<class Type >
static Type & store (autoPtr< Type > &)
 Transfer ownership of the given object pointer to its registry. More...
 
- Static Public Member Functions inherited from IOobject
static bool fileNameComponents (const fileName &path, fileName &instance, fileName &local, word &name)
 Split path into instance, local, name components. More...
 
template<class Name >
static word groupName (Name name, const word &group)
 
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...
 
template<class Stream >
static Stream & writeBanner (Stream &os, bool noHint=false)
 Write the standard OpenFOAM file/dictionary banner. More...
 
template<class Stream >
static Stream & writeDivider (Stream &os)
 Write the standard file section divider. More...
 
template<class Stream >
static Stream & writeEndDivider (Stream &os)
 Write the standard end file divider. More...
 
- Static Public Member Functions inherited from List< char >
static const List< char > & null ()
 Return a null List. More...
 
- Static Public Member Functions inherited from UList< T >
static const UList< T > & null ()
 Return a null UList. 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. More...
 
static bool readBlocks (const label comm, autoPtr< ISstream > &isPtr, List< char > &data, const UPstream::commsTypes commsType)
 Read data into *this. ISstream is only valid on master. More...
 

Protected Attributes

const UPstream::commsTypes commsType_
 Type to use for gather. More...
 
const label comm_
 Communicator for all parallel comms. More...
 

Additional Inherited Members

- Public Types inherited from IOobject
enum  objectState { GOOD, BAD }
 Enumeration defining the valid states of an IOobject. More...
 
enum  readOption { MUST_READ, MUST_READ_IF_MODIFIED, READ_IF_PRESENT, NO_READ }
 Enumeration defining the read options. More...
 
enum  writeOption { AUTO_WRITE = 0, NO_WRITE = 1 }
 Enumeration defining the write options. More...
 
enum  fileCheckTypes { timeStamp, timeStampMaster, inotify, inotifyMaster }
 Enumeration defining the file checking options. More...
 
- Public Types inherited from List< char >
typedef SubList< char > subList
 Declare type of subList. More...
 
- Public Types inherited from UList< T >
typedef T value_type
 Type of values the UList contains. More...
 
typedef Treference
 Type that can be used for storing into. More...
 
typedef const Tconst_reference
 Type that can be used for storing into. More...
 
typedef label difference_type
 The type that can represent the difference between any two. More...
 
typedef label size_type
 The type that can represent the size of a UList. More...
 
typedef Titerator
 Random access iterator for traversing UList. More...
 
typedef const Tconst_iterator
 Random access iterator for traversing UList. More...
 
typedef Treverse_iterator
 Reverse iterator for reverse traversal of UList. More...
 
typedef const Tconst_reverse_iterator
 Reverse iterator for reverse traversal of constant UList. More...
 
- Static Public Attributes inherited from regIOobject
static float fileModificationSkew
 
- Static Public Attributes inherited from IOobject
static const NamedEnum< fileCheckTypes, 4 > fileCheckTypesNames
 
static fileCheckTypes fileModificationChecking
 Type of file modification checking. More...
 
- Protected Member Functions inherited from regIOobject
bool readHeaderOk (const IOstream::streamFormat PstreamFormat, const word &typeName)
 Helper: check readOpt flags and read if necessary. More...
 
- Protected Member Functions inherited from IOobject
void setBad (const string &)
 Set the object state to bad. More...
 
- Protected Member Functions inherited from List< char >
void size (const label)
 Override size to be inconsistent with allocated storage. More...
 

Detailed Description

decomposedBlockData is a List<char> with IO on the master processor only.

Source files

Definition at line 50 of file decomposedBlockData.H.

Constructor & Destructor Documentation

◆ decomposedBlockData() [1/3]

decomposedBlockData ( const label  comm,
const IOobject io,
const UPstream::commsTypes  commsType = UPstream::commsTypes::scheduled 
)

Construct given an IOobject.

Definition at line 49 of file decomposedBlockData.C.

References Foam::endl(), IOobject::MUST_READ, IOobject::MUST_READ_IF_MODIFIED, Foam::name(), Foam::read(), IOobject::READ_IF_PRESENT, IOobject::readOpt(), and WarningInFunction.

Referenced by decomposedBlockData::decomposedBlockData().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ decomposedBlockData() [2/3]

decomposedBlockData ( const label  comm,
const IOobject io,
const UList< char > &  list,
const UPstream::commsTypes  commsType = UPstream::commsTypes::scheduled 
)

◆ decomposedBlockData() [3/3]

decomposedBlockData ( const label  comm,
const IOobject io,
List< char > &&  list,
const UPstream::commsTypes  commsType = UPstream::commsTypes::scheduled 
)

Move construct by transferring the IOList contents.

Definition at line 123 of file decomposedBlockData.C.

References Foam::endl(), IOobject::MUST_READ, IOobject::MUST_READ_IF_MODIFIED, Foam::name(), Foam::read(), IOobject::READ_IF_PRESENT, IOobject::readOpt(), and WarningInFunction.

Here is the call graph for this function:

◆ ~decomposedBlockData()

~decomposedBlockData ( )
virtual

Destructor.

Definition at line 161 of file decomposedBlockData.C.

Member Function Documentation

◆ calcNumProcs()

Foam::label calcNumProcs ( const label  comm,
const off_t  maxBufferSize,
const labelUList recvSizes,
const label  startProci 
)
staticprotected

Helper: determine number of processors whose recvSizes fits.

ito maxBufferSize

Definition at line 690 of file decomposedBlockData.C.

References UPstream::master(), n, UPstream::nProcs(), UPstream::scatter(), and decomposedBlockData::writeBlocks().

Referenced by decomposedBlockData::gatherSlaveData().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ readBlocks() [1/2]

bool readBlocks ( const label  comm,
autoPtr< ISstream > &  isPtr,
List< char > &  data,
const UPstream::commsTypes  commsType 
)
staticprotected

◆ TypeName()

TypeName ( "decomposedBlockData"  )

◆ read()

bool read ( )
virtual

Read object.

Reimplemented from regIOobject.

Definition at line 942 of file decomposedBlockData.C.

References Foam::fileHandler(), UPstream::master(), word::null, IOobject::readHeader(), and autoPtr< T >::reset().

Here is the call graph for this function:

◆ writeData()

bool writeData ( Ostream os) const
virtual

Write separated content. Assumes content is the serialised data.

and that the master data contains a header

Implements regIOobject.

Definition at line 957 of file decomposedBlockData.C.

References UList< T >::byteSize(), UList< T >::cbegin(), IOstream::format(), IOstream::formatEnum(), IOstream::good(), UPstream::master(), UPstream::msgType(), Foam::name(), Pstream::scatter(), OStringStream::str(), IOstream::versionNumber::str(), IOstream::version(), IOobject::writeEndDivider(), decomposedBlockData::writeObject(), and Ostream::writeQuoted().

Here is the call graph for this function:

◆ writeObject()

bool writeObject ( IOstream::streamFormat  fmt,
IOstream::versionNumber  ver,
IOstream::compressionType  cmp,
const bool  write 
) const
virtual

Write using given format, version and compression.

Reimplemented from regIOobject.

Definition at line 1026 of file decomposedBlockData.C.

References IOstream::BINARY, UPstream::master(), autoPtr< T >::reset(), and IOobject::writeHeader().

Referenced by decomposedBlockData::writeData().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ readMasterHeader()

bool readMasterHeader ( IOobject io,
Istream is 
)
static

Read header. Call only on master.

Definition at line 167 of file decomposedBlockData.C.

References UList< T >::begin(), Foam::endl(), IOstream::fatalCheck(), IOstream::name(), Foam::Pout, IOobject::readHeader(), List< T >::size(), and decomposedBlockData::writeHeader().

Referenced by uncollatedFileOperation::readHeader(), and masterUncollatedFileOperation::readHeader().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ writeHeader()

void writeHeader ( Ostream os,
const IOstream::versionNumber  version,
const IOstream::streamFormat  format,
const word type,
const string note,
const fileName location,
const word name 
)
static

Helper: write FoamFile IOobject header.

Definition at line 188 of file decomposedBlockData.C.

References Foam::nl, decomposedBlockData::readBlock(), IOobject::writeBanner(), and IOobject::writeDivider().

Referenced by decomposedBlockData::readMasterHeader().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ readBlock()

Foam::autoPtr< Foam::ISstream > readBlock ( const label  blocki,
Istream is,
IOobject headerIO 
)
static

Read selected block (non-seeking) + header information.

Definition at line 221 of file decomposedBlockData.C.

References IOstream::currentVersion, Foam::endl(), Foam::exit(), IOstream::fatalCheck(), Foam::FatalIOError, FatalIOErrorInFunction, IOstream::format(), IOstream::name(), Foam::Pout, decomposedBlockData::readBlocks(), and IOobject::readHeader().

Referenced by uncollatedFileOperation::readStream(), masterUncollatedFileOperation::readStream(), and decomposedBlockData::writeHeader().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ readBlocks() [2/2]

◆ gather()

void gather ( const label  comm,
const label  data,
labelList datas 
)
static

Helper: gather single label. Note: using native Pstream.

datas sized with num procs but undefined contents on slaves

Definition at line 591 of file decomposedBlockData.C.

References UList< T >::begin(), forAll, UPstream::gather(), decomposedBlockData::gatherSlaveData(), UPstream::master(), UPstream::nProcs(), and List< T >::setSize().

Referenced by decomposedBlockData::readBlocks(), and OFstreamCollator::write().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ gatherSlaveData()

void gatherSlaveData ( const label  comm,
const UList< char > &  data,
const labelUList recvSizes,
const label  startProc,
const label  nProcs,
List< int > &  recvOffsets,
List< char > &  recvData 
)
static

Helper: gather data from (subset of) slaves. Returns.

recvData : received data recvOffsets : offset in data. recvOffsets is nProcs+1

Definition at line 630 of file decomposedBlockData.C.

References UList< T >::begin(), UList< T >::byteSize(), decomposedBlockData::calcNumProcs(), UPstream::gather(), UPstream::master(), UPstream::myProcNo(), UPstream::nProcs(), and List< T >::setSize().

Referenced by decomposedBlockData::gather().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ writeBlocks()

bool writeBlocks ( const label  comm,
autoPtr< OSstream > &  osPtr,
List< std::streamoff > &  start,
const UList< char > &  masterData,
const labelUList recvSizes,
const PtrList< SubList< char >> &  slaveData,
const UPstream::commsTypes  commsType,
const bool  syncReturnState = true 
)
static

Write *this. Ostream only valid on master. Returns starts of.

processor blocks

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 730 of file decomposedBlockData.C.

References UList< T >::begin(), UList< T >::byteSize(), UPstream::commsTypeNames, Foam::endl(), IOstream::good(), UPstream::master(), UPstream::masterNo(), UPstream::msgType(), Foam::nl, UPstream::nProcs(), Foam::Pout, UIPstream::read(), Pstream::scatter(), UPstream::scheduled, List< T >::setSize(), List< T >::size(), UList< T >::size(), OSstream::stdStream(), autoPtr< T >::valid(), and UOPstream::write().

Referenced by decomposedBlockData::calcNumProcs().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ numBlocks()

Foam::label numBlocks ( const fileName fName)
static

Detect number of blocks in a file.

Definition at line 1060 of file decomposedBlockData.C.

References IOstream::fatalCheck(), IOstream::format(), IOstream::good(), token::isLabel(), token::isWord(), dictionary::lookup(), Istream::putBack(), IOstream::version(), and token::wordToken().

Referenced by fileOperation::nProcs().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ commsType_

const UPstream::commsTypes commsType_
protected

Type to use for gather.

Definition at line 60 of file decomposedBlockData.H.

◆ comm_

const label comm_
protected

Communicator for all parallel comms.

Definition at line 63 of file decomposedBlockData.H.


The documentation for this class was generated from the following files: