SpECTRE
v2025.03.17
|
Determines and stores a LHS tensor's symmetry and index list from a RHS tensor expression and desired LHS index order. More...
Determines and stores a LHS tensor's symmetry and index list from a RHS tensor expression and desired LHS index order.
Given the generic index order of a RHS TensorExpression and the generic index order of the desired LHS Tensor, this creates a mapping between the two that is then used to determine the (potentially reordered) ordering of the elements of the desired LHS Tensor`s Symmetry, typelist of TensorIndexTypes, and Tensor_detail::Structure. This struct is used to determine the LHS Tensor's properties when they are not supplied by the user: when a user uses the evaluate
overload that returns the LHS as opposed to the overload that takes an empty LHS Tensor as an argument.
Note: If a generic spatial index is used for a spacetime index in the RHS tensor, its corresponding index in the LHS tensor type will be a spatial index with the same valence, frame, and number of spatial dimensions. If a concrete time index is used for a spacetime index in the RHS tensor, the index will not appear in the LHS tensor (i.e. there will NOT be a corresponding LHS index where only the time index of that index has been computed and its spatial indices are empty). Therefore, the LhsTensorIndexList
may not contain time indices (ti::t
nor ti::T
).
RhsTensorIndexList | the typelist of TensorIndex of the RHS TensorExpression |
LhsTensorIndexList | the typelist of TensorIndexs of the desired LHS tensor |
RhsSymmetry | the Symmetry of the RHS indices |
RhsTensorIndexTypeList | the RHS TensorExpression's typelist of TensorIndexTypes |