Symmetric tensor storage, output-order, and scaling utilities. More...
Classes | |
| struct | Feel::SymmetricTensorFormat |
| Field-level symmetric tensor format. More... | |
Namespaces | |
| namespace | Feel |
| -*- mode: c++; coding: utf-8; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; show-trailing-whitespace: t -*- | |
Enumerations | |
| enum class | Feel::SymmetricTensorOrder { Feel::Storage , Feel::DiagonalFirst , Feel::VtkTensor6 , Feel::EnsightTensor6 , Feel::XdmfTensor6 } |
| Output order for packed symmetric tensor components. More... | |
| enum class | Feel::SymmetricTensorScaling { Feel::Tensor , Feel::EngineeringShear , Feel::Mandel } |
| Scaling convention applied to off-diagonal symmetric tensor entries. More... | |
Functions | |
| template<SymmetricTensorFormatLike FormatT> | |
| constexpr uint16_type | Feel::symmetricTensorComponentCount (uint16_type n, FormatT const &format) |
| Number of output components for a dimension/format pair. More... | |
| constexpr uint16_type | Feel::symmetricTensorComponentCount (uint16_type n, SymmetricTensorOrder order) |
| Number of output components for a dimension/order pair. More... | |
| template<SymmetricTensorFormatLike FormatT> | |
| constexpr char const * | Feel::symmetricTensorComponentLabel (uint16_type outputSlot, uint16_type n, FormatT const &format) |
| Component label for an output slot in a format object. More... | |
| constexpr char const * | Feel::symmetricTensorComponentLabel (uint16_type outputSlot, uint16_type n, SymmetricTensorOrder order) |
| Component label for an output slot. More... | |
| template<typename T = double> | |
| constexpr T | Feel::symmetricTensorComponentScale (uint16_type i, uint16_type j, uint16_type n, SymmetricTensorScaling scaling) |
| Scaling factor for a tensor component. More... | |
| constexpr uint16_type | Feel::symmetricTensorInvalidSlot () |
| Sentinel value for unused entries in fixed-size mapping arrays. More... | |
| constexpr bool | Feel::symmetricTensorIsShearComponent (uint16_type i, uint16_type j, uint16_type n) |
| Check whether a tensor component is off-diagonal. More... | |
| constexpr bool | Feel::symmetricTensorIsShearStorageSlot (uint16_type storageSlot, uint16_type n) |
| Check whether a compact storage slot represents an off-diagonal component. More... | |
| constexpr bool | Feel::symmetricTensorIsTensor6Order (SymmetricTensorOrder order) |
| Check whether an order describes a six-component exporter tuple. More... | |
| constexpr char const * | Feel::symmetricTensorOrderName (SymmetricTensorOrder order) |
| Stable metadata name for a symmetric tensor output order. More... | |
| template<SymmetricTensorFormatLike FormatT> | |
| constexpr uint16_type | Feel::symmetricTensorOutputSlot (uint16_type i, uint16_type j, uint16_type n, FormatT const &format) |
| Map a symmetric tensor component to an output slot for a format object. More... | |
| constexpr uint16_type | Feel::symmetricTensorOutputSlot (uint16_type i, uint16_type j, uint16_type n, SymmetricTensorOrder order) |
| Map a symmetric tensor component to an output slot. More... | |
| template<SymmetricTensorFormatLike FormatT> | |
| constexpr uint16_type | Feel::symmetricTensorOutputSlotFromStorage (uint16_type storageSlot, uint16_type n, FormatT const &format) |
| Map a compact storage slot to an output slot for a format object. More... | |
| constexpr uint16_type | Feel::symmetricTensorOutputSlotFromStorage (uint16_type storageSlot, uint16_type n, SymmetricTensorOrder order) |
| Map a compact storage slot to an output slot. More... | |
| template<typename T = double> | |
| constexpr T | Feel::symmetricTensorScale (bool isShear, SymmetricTensorScaling scaling) |
| Scaling factor for a diagonal or off-diagonal component. More... | |
| constexpr char const * | Feel::symmetricTensorScalingName (SymmetricTensorScaling scaling) |
| Stable metadata name for a symmetric tensor scaling convention. More... | |
| constexpr std::array< uint16_type, 2 > | Feel::symmetricTensorStorageComponent (uint16_type storageSlot, uint16_type n) |
| Component indices represented by a compact packed-storage slot. More... | |
| constexpr uint16_type | Feel::symmetricTensorStorageComponentCount (uint16_type n) |
| Number of compact packed-storage components for a symmetric tensor. More... | |
| constexpr uint16_type | Feel::symmetricTensorStorageIndex (uint16_type i, uint16_type j, uint16_type n) |
| Legacy compact packed-storage slot for a symmetric tensor component. More... | |
| template<typename T = double> | |
| constexpr T | Feel::symmetricTensorStorageScale (uint16_type storageSlot, uint16_type n, SymmetricTensorScaling scaling) |
| Scaling factor for a compact storage slot. More... | |
| constexpr std::array< uint16_type, 6 > | Feel::symmetricTensorStorageToOutputMap (uint16_type n, SymmetricTensorOrder order) |
| Fixed-size compact-storage-to-output-slot map. More... | |
| constexpr bool | Feel::symmetricTensorSupportedDimension (uint16_type n) |
| Check whether a tensor dimension is supported by these helpers. More... | |
Symmetric tensor storage, output-order, and scaling utilities.
This header centralizes field-level symmetric tensor conventions used by matrix fields and exporters. It deliberately depends only on low-level Feel++ traits for the legacy packed storage index and does not pull in VF expression machinery.