dune-fem
2.4.1-rc
|
#include </local/tomalk/somewhere/tmp/dune-fem/dune/fem/space/common/dofmanager.hh>
Public Member Functions | |
ResizeMemoryObjectType & | resizeMemoryObject () |
return object that calls resize of this memory object More... | |
ReserveMemoryObjectType & | reserveMemoryObject () |
return object that calls reserve of this memory object More... | |
const std::string & | name () const |
returns name of this vector More... | |
int | size () const |
return size of underlying array More... | |
void | resize () |
resize the memory with the new size More... | |
void | reserve (const int needed) |
reserve memory for what is comming More... | |
void | dofCompress () |
copy the dof from the rear section of the vector to the holes More... | |
size_t | usedMemorySize () const |
return used memory size More... | |
void | enableDofCompression () |
enable dof compression for this MemObject More... | |
DofArrayType & | getArray () |
return reference to array for DiscreteFunction More... | |
Protected Types | |
typedef ManagedDofStorageImplementation< GridImp, MapperType, DofArrayType > | ThisType |
typedef DofManager< GridImp > | DofManagerType |
typedef ResizeMemoryObjects< ThisType > | ResizeMemoryObjectType |
typedef ReserveMemoryObjects< ThisType > | ReserveMemoryObjectType |
Protected Member Functions | |
ManagedDofStorageImplementation (const ManagedDofStorageImplementation &) | |
ManagedDofStorageImplementation (const GridImp &grid, const MapperType &mapper, const std::string &name, DofArrayType &array) | |
Constructor of ManagedDofStorageImplementation, only to call from derived classes. More... | |
~ManagedDofStorageImplementation () | |
destructor deleting MemObject from resize and reserve List More... | |
MapperType & | mapper () const |
void | resizeAndMoveToRear () |
void | moveToFront (const int oldSize, const int block) |
move block to front again More... | |
Protected Attributes | |
DofManagerType & | dm_ |
MapperType & | mapper_ |
DofArrayType & | array_ |
std::string | name_ |
ResizeMemoryObjectType | resizeMemObj_ |
ReserveMemoryObjectType | reserveMemObj_ |
bool | dataCompressionEnabled_ |
A ManagedDofStorage holds the memory for one DiscreteFunction and the corresponding DofArrayMemory. ManagedDofStorageImplementation implements the basic features such as resize and dof compression. If a DiscreteFunction is signed in by a function space, then such a MemObject is created by the DofManager. The MemObject also knows the DofMapper from the function space which the discrete function belongs to. Here we dont know the exact type of the dof mapper therefore the methods newSize and calcInsertPoints of the mappers have to be virtual. This isnt a problem because this methods should only be called during memory reorganizing which is only once per timestep.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
inlineprotected |
Constructor of ManagedDofStorageImplementation, only to call from derived classes.
References Dune::Fem::DofManager< Grid >::addDofStorage(), Dune::Fem::DofManager< Grid >::memoryFactor(), and Dune::Fem::SpecialArrayFeatures< ArrayType >::setMemoryFactor().
|
inlineprotected |
destructor deleting MemObject from resize and reserve List
References Dune::Fem::DofManager< Grid >::removeDofStorage().
|
inlinevirtual |
copy the dof from the rear section of the vector to the holes
Implements Dune::Fem::ManagedDofStorageInterface.
References Dune::Fem::SpecialArrayFeatures< ArrayType >::assign().
|
inlinevirtual |
enable dof compression for this MemObject
Reimplemented from Dune::Fem::DofStorageInterface.
|
inline |
return reference to array for DiscreteFunction
|
inlineprotected |
|
inlineprotected |
move block to front again
References Dune::Fem::SpecialArrayFeatures< ArrayType >::memMoveForward().
|
inlinevirtual |
returns name of this vector
Implements Dune::Fem::DofStorageInterface.
|
inlinevirtual |
reserve memory for what is comming
Implements Dune::Fem::ManagedDofStorageInterface.
|
inline |
return object that calls reserve of this memory object
|
inlinevirtual |
resize the memory with the new size
Implements Dune::Fem::ManagedDofStorageInterface.
References Dune::Fem::SpecialArrayFeatures< ArrayType >::memMoveBackward().
|
inlineprotected |
|
inline |
return object that calls resize of this memory object
|
inlinevirtual |
return size of underlying array
Implements Dune::Fem::DofStorageInterface.
|
inlinevirtual |
return used memory size
Implements Dune::Fem::ManagedDofStorageInterface.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |