12 #ifndef MFEM_BLOCKVECTOR
13 #define MFEM_BLOCKVECTOR
15 #include "../config/config.hpp"
16 #include "../general/array.hpp"
~BlockVector()
Destructor.
void GetBlockView(int i, Vector &blockView)
Get the i-th vector in the block.
A class to handle Vectors in a block fashion.
BlockVector()
empty constructor
const int * blockOffsets
Offset for each block start. (length numBlocks+1)
void SyncToBlocks() const
Synchronize the memory location flags (i.e. the memory validity flags) of the big/monolithic block-ve...
void Update(double *data, const Array< int > &bOffsets)
Update method.
const Vector & GetBlock(int i) const
Get the i-th vector in the block (const version).
int numBlocks
Number of blocks in the blockVector.
BlockVector & operator=(const BlockVector &original)
Assignment operator. this and original must have the same block structure.
MemoryType
Memory types supported by MFEM.
void SyncFromBlocks() const
Synchronize the memory location flags (i.e. the memory validity flags) of the big/monolithic block-ve...
int NumBlocks() const
Return the number of blocks.
Vector * blocks
array of Vector objects used to extract blocks without allocating memory.
Vector & GetBlock(int i)
Get the i-th vector in the block.