|
INMOST
A toolkit for distributed mathematical modeling
|
This class is used to organize unknowns in abstract way, it should be registered with and managed by class Automatizator. More...
#include <inmost_autodiff.h>

Public Member Functions | |
| AbstractEntry (ElementType etype=NONE, MarkerType mask=0, bool inverse=false) | |
| MarkerType | GetMask () const |
| Retrieve mask of the block. | |
| bool | GetMaskInverse () const |
| Retrieve if the mask is inverted. | |
| void | SetMask (MarkerType _mask, bool inverse=false) |
| Set mask for the block. | |
| ElementType | GetElementType () const |
| Retrieve element type of the block. | |
| void | SetElementType (ElementType _etype) |
| Set element type for the block. | |
| TagInteger | GetOffsetTag () const |
| Retrieve tag that stores enumeration offset on each element. | |
| void | SetOffsetTag (TagInteger tag) |
| Retrieve tag that stores enumeration offset on each element. | |
| bool | isValid (const Storage &e) const |
| Check that the block is valid on given element. | |
| virtual INMOST_DATA_REAL_TYPE | Value (const Storage &e, INMOST_DATA_ENUM_TYPE pos) const =0 |
| Return value in vector of unknowns of the block at certain position. More... | |
| virtual INMOST_DATA_REAL_TYPE & | Value (const Storage &e, INMOST_DATA_ENUM_TYPE pos)=0 |
| Return value in vector of unknowns of the block at certain position. More... | |
| virtual INMOST_DATA_ENUM_TYPE | Index (const Storage &e, INMOST_DATA_ENUM_TYPE pos) const =0 |
| Return index in vector of indices of the block at certain position. More... | |
| virtual unknown | Unknown (const Storage &e, INMOST_DATA_ENUM_TYPE pos) const =0 |
| Return unknown in vector of variables of the block at certain position. More... | |
| virtual Matrix< value_reference > | Value (const Storage &e)=0 |
| Return vector filled with references to values of unknowns of the block. | |
| virtual rMatrix | Value (const Storage &e) const =0 |
| Return vector filled with values of unknowns of the block. | |
| virtual iMatrix | Index (const Storage &e) const =0 |
| Return vector filled with indices of unknowns of the block. | |
| virtual uMatrix | Unknown (const Storage &e) const =0 |
| Return vector filled with unknowns of the block with their derivatives. | |
| template<typename T > | |
| Matrix< typename Demote< T >::type > | Access (const Storage &e) const |
| Return vector filled with either values or indices or unknowns of the block, depending on the template parameter. | |
| template<typename T > | |
| Demote< T >::type | Access (const Storage &e, INMOST_DATA_ENUM_TYPE pos) const |
| Return either value or index or unknown at specified position of the block, depending on the template parameter. More... | |
| virtual uMatrix | operator[] (const Storage &e) const =0 |
| Return vector filled with unknowns of the block with their derivatives. | |
| virtual INMOST_DATA_ENUM_TYPE | MatrixSize (const Storage &e) const =0 |
| The intended size of the matrix for this entry. | |
| virtual INMOST_DATA_ENUM_TYPE | Size () const =0 |
| Number of tags in block. | |
| virtual INMOST_DATA_ENUM_TYPE | Size (const Storage &e) const =0 |
| Total number of entries that this block expands to on given element, count variable-sized entries. More... | |
| virtual INMOST_DATA_ENUM_TYPE | GetValueComp (INMOST_DATA_ENUM_TYPE unk) const =0 |
| Retrieve component of the tag related to unknown. | |
| virtual TagRealArray | GetValueTag (INMOST_DATA_ENUM_TYPE unk) const =0 |
| Retrieve tag related to unknown value. | |
| virtual Mesh * | GetMeshLink () const =0 |
| Retrieve mesh pointer. | |
| virtual AbstractEntry * | Copy () const =0 |
| Make a copy of the object. | |
| INMOST_DATA_ENUM_TYPE | GetRegistrationIndex () const |
| Retrieve a registration index. | |
| void | SynchronizeData () |
| Update variables contained in block on ghost elements of the grid. More... | |
| virtual | ~AbstractEntry () |
| Destructor. | |
Friends | |
| class | Automatizator |
| class | Model |
This class is used to organize unknowns in abstract way, it should be registered with and managed by class Automatizator.
Definition at line 29 of file inmost_autodiff.h.
| Demote<T>::type INMOST::AbstractEntry::Access | ( | const Storage & | e, |
| INMOST_DATA_ENUM_TYPE | pos | ||
| ) | const |
Return either value or index or unknown at specified position of the block, depending on the template parameter.
| pos | Position in the block, should be no larger then MatrixSize. |
|
pure virtual |
Return index in vector of indices of the block at certain position.
The index may be ENUMUNDEF if the unknown is inactive.
| pos | Position for which to extract the index, should be no larger then MatrixSize. |
Implemented in INMOST::MultiEntry, INMOST::StatusBlockEntry, INMOST::VectorEntry, INMOST::SingleEntry, and INMOST::BlockEntry.
|
pure virtual |
Total number of entries that this block expands to on given element, count variable-sized entries.
This is an important function since it determines offset of each block when enumerated by Automatizator::EnumerateEntries. See also MatrixSize.
Implemented in INMOST::MultiEntry, INMOST::StatusBlockEntry, INMOST::VectorEntry, INMOST::SingleEntry, and INMOST::BlockEntry.
| void INMOST::AbstractEntry::SynchronizeData | ( | ) |
Update variables contained in block on ghost elements of the grid.
For synchronization of data in all blocks see Automatizator::SynchronizeData.
|
pure virtual |
Return unknown in vector of variables of the block at certain position.
| pos | Position for which to extract the unknown, should be no larger then MatrixSize. |
Implemented in INMOST::MultiEntry, INMOST::StatusBlockEntry, INMOST::VectorEntry, INMOST::SingleEntry, and INMOST::BlockEntry.
|
pure virtual |
Return value in vector of unknowns of the block at certain position.
| pos | Position for which to extract the value, should be no larger then MatrixSize. |
Implemented in INMOST::MultiEntry, INMOST::StatusBlockEntry, INMOST::VectorEntry, INMOST::SingleEntry, and INMOST::BlockEntry.
|
pure virtual |
Return value in vector of unknowns of the block at certain position.
| pos | Position for which to extract the value, should be no larger then MatrixSize. |
Implemented in INMOST::MultiEntry, INMOST::StatusBlockEntry, INMOST::VectorEntry, INMOST::SingleEntry, and INMOST::BlockEntry.