|
FiberBundleHDF5
FiberHDF5 Documentation, Revision 2026
High-Performance Fiber Bundle Data Model for Scientific Visualization
|
#include <F5types.h>
Data Fields | |
| char * | name |
| hid_t | type_id |
| int | rank |
| int | dimension |
| int | components |
| int * | indexing |
| int * | parity |
| int * | covariance |
| int * | reverse_indexing |
| char * | metric |
| char * | transformation_rule |
Given a tensor of rank three with indices i,j,k, then its corresponding linear index is given by Li = i+rank*j+rank*rank*k Not all of the tensor components might reside actually in memory, but due to symmetries only some of them do. The indexing array is used to map the linear index to the actual memory index:
Rijk = data[ indexing[ Li ] ]
The parity array specifies the sign change when accessing components in addition to the indexing. It may be zero for components which are never non-zero. Usually it will just be +1 or -1 . The final tensor value is given by
Rijk = data[ indexing[ Li ] ] * parity[ Li ]
The size of the indexing and parity arrays is given by the components member.
The covariance array gives the upper or lower indexing scheme. For a rank 3 tensor, it has three entries that may be positive or negative.
The reverse_indexing array provides the inverse mapping of the indexing array.
The metric member specifies relative to which metric tensor field this indicable field is actually a tensor field.
| int F5Ttensor_t::components |
Actual components which require storage
Definition at line 94 of file F5types.h.
Referenced by newF5Ttensor().
| int* F5Ttensor_t::covariance |
Upper/Lower indexing information per index, size(covariance)=rank
Definition at line 105 of file F5types.h.
Referenced by deleteF5Ttensor(), F5Tcreate_symmetric_rank2_covariant_tensor(), and newF5Ttensor().
| int F5Ttensor_t::dimension |
Dimensionality of the underlying manifold
Definition at line 92 of file F5types.h.
Referenced by F5Tcreate_symmetric_rank2_covariant_tensor(), and newF5Ttensor().
| int* F5Ttensor_t::indexing |
Index mapping array per component from linear component index to memory component, size(indexing)=dimension^rank. If all entries are zero, then this information has not yet been defined. If the pointer is zero, then no symmetries are defined, i.e. all components are relevant.
Definition at line 101 of file F5types.h.
Referenced by deleteF5Ttensor(), F5Tcreate_symmetric_rank2_covariant_tensor(), and newF5Ttensor().
| char* F5Ttensor_t::metric |
Name of a metric tensor field
Definition at line 109 of file F5types.h.
Referenced by deleteF5Ttensor().
| char* F5Ttensor_t::name |
Descriptive name.
Definition at line 86 of file F5types.h.
Referenced by deleteF5Ttensor(), and newF5Ttensor().
| int* F5Ttensor_t::parity |
Sign change information during indexing per component, size(parity)=dimension^rank
Definition at line 103 of file F5types.h.
Referenced by deleteF5Ttensor(), F5Tcreate_symmetric_rank2_covariant_tensor(), and newF5Ttensor().
| int F5Ttensor_t::rank |
Rank of the tensor
Definition at line 90 of file F5types.h.
Referenced by F5Tcreate_symmetric_rank2_covariant_tensor(), and newF5Ttensor().
| int* F5Ttensor_t::reverse_indexing |
Reverse indexing information, size(reverse_indexing) = components
Definition at line 107 of file F5types.h.
Referenced by deleteF5Ttensor(), and newF5Ttensor().
| char* F5Ttensor_t::transformation_rule |
Textual description of non-tensorial transformation rules
Definition at line 111 of file F5types.h.
Referenced by deleteF5Ttensor().
| hid_t F5Ttensor_t::type_id |
HDF5 Type ID
Definition at line 88 of file F5types.h.
Referenced by deleteF5Ttensor(), and newF5Ttensor().