|
| class | CachedTempBuffer< Computer, Tags > |
| |
| class | ComplexDataVector |
| | Stores a collection of complex function values. More...
|
| |
| class | ComplexDiagonalModalOperator |
| | A class for an element-wise complex multiplier of modal coefficients. More...
|
| |
| class | ComplexModalVector |
| | A class for storing complex spectral coefficients on a spectral grid. More...
|
| |
| class | DataVector |
| | Stores a collection of function values. More...
|
| |
| class | DenseMatrix< T, SO > |
| | A dynamically sized matrix of arbitrary type. More...
|
| |
| class | DenseVector< T, TF > |
| | A dynamically sized vector of arbitrary type. More...
|
| |
| class | DiagonalModalOperator |
| | A class for an element-wise multiplier of modal coefficients. More...
|
| |
| class | DynamicBuffer< T > |
| | A dynamically sized vector of DataVectors. More...
|
| |
| class | FixedHashMap< MaxSize, Key, ValueType, Hash, KeyEqual > |
| | A hash table with a compile-time specified maximum size and ability to efficiently handle perfect hashes. More...
|
| |
| struct | IdPair< IdType, DataType > |
| | A data structure that contains an ID and data associated with that ID. More...
|
| |
| class | Index< Dim > |
| | An integer multi-index. More...
|
| |
| class | IndexIterator< Dim > |
| | IndexIterator iterates over a unique set of Index. More...
|
| |
| class | LeviCivitaIterator< Dim > |
| | Iterate over all nonzero index permutations for a Levi-Civita symbol. More...
|
| |
| class | Matrix |
| | A dynamically sized matrix of doubles with column-major storage. More...
|
| |
| class | ModalVector |
| | A class for storing spectral coefficients on a spectral grid. More...
|
| |
| class | SliceIterator |
| | Iterate over a (dim-1)-dimensional slice. More...
|
| |
| struct | SpinWeighted< T, Spin, is_vector > |
| | Make a spin-weighted type T with spin-weight Spin. Mathematical operators are restricted to addition, subtraction, multiplication and division, with spin-weights checked for validity. More...
|
| |
| struct | is_any_spin_weighted< T > |
| | This is a std::true_type if the provided type is a SpinWeighted of any type and spin, otherwise is a std::false_type. More...
|
| |
| struct | is_spin_weighted_of< InternalType, T > |
| | This is a std::true_type if the provided type T is a SpinWeighted of InternalType and any spin, otherwise is a std::false_type. More...
|
| |
| struct | is_spin_weighted_of_same_type< T1, T2 > |
| | This is a std::true_type if the provided type T1 is a SpinWeighted and T2 is a SpinWeighted, and both have the same internal type, but any combination of spin weights. More...
|
| |
| class | StripeIterator |
| | Iterates over the 1-dimensional stripes with info on how to iterate over the current stripe. More...
|
| |
| struct | TempBuffer< TagList, is_fundamental > |
| | A TempBuffer holds a set of Tensor<DataType>s, where DataType is either a DataVector (or similar type) or a fundamental type, in a way that minimizes allocations. More...
|
| |
| struct | Tags::Magnitude< Tag > |
| | The magnitude of a (co)vector. More...
|
| |
| struct | Tags::EuclideanMagnitude< Tag > |
| | The Euclidean magnitude of a (co)vector. More...
|
| |
| struct | Tags::NonEuclideanMagnitude< Tag, MetricTag > |
| | The magnitude of a (co)vector with respect to a specific metric. More...
|
| |
| struct | Tags::Normalized< Tag > |
| | The normalized (co)vector represented by Tag. More...
|
| |
| struct | Tags::NormalizedCompute< Tag > |
| | Normalizes the (co)vector represented by Tag. More...
|
| |
| struct | Tags::Sqrt< Tag > |
| | The square root of a scalar. More...
|
| |
| struct | Tags::SqrtCompute< Tag > |
| | The square root of a scalar. More...
|
| |
| struct | Tags::PointwiseL2Norm< Tag > |
| |
| struct | Tags::PointwiseL2NormCompute< Tag > |
| |
| struct | Tags::L2Norm< Tag > |
| |
| struct | Tags::L2NormCompute< Tag > |
| |
| struct | TensorComponent |
| | An untyped tensor component with a name for observation. More...
|
| |
| struct | ExtentsAndTensorVolumeData |
| | Holds the extents of the mesh and the tensor components on the mesh. More...
|
| |
| class | Variables< tmpl::list< Tags... > > |
| | A Variables holds a contiguous memory block with Tensors pointing into it. More...
|
| |
| class | VectorImpl< T, VectorType > |
| | Base class template for various DataVector and related types. More...
|
| |
| struct | get_vector_element_type< T, bool > |
| | Helper struct to determine the element type of a VectorImpl or container of VectorImpl. More...
|
| |
| class | DirectionMap< Dim, T > |
| | An optimized map with Direction keys. More...
|
| |
| class | Mesh< Dim > |
| | Holds the number of grid points, basis, and quadrature in each direction of the computational grid. More...
|
| |
|
|
template<size_t N> |
| size_t | collapsed_index (const Index< N > &index, const Index< N > &extents) noexcept |
| | Get the collapsed index into a 1D array of the data corresponding to this Index. Note that the first dimension of the Index varies fastest when computing the collapsed index.
|
| |
| template<size_t VolumeDim> |
| auto | volume_and_slice_indices (const Index< VolumeDim > &extents) noexcept -> std::pair< std::unique_ptr< std::pair< size_t, size_t >[]>, std::array< std::pair< gsl::span< std::pair< size_t, size_t > >, gsl::span< std::pair< size_t, size_t > > >, VolumeDim > > |
| | Get the mapping between volume and boundary slice indices. More...
|
| |
| template<std::size_t VolumeDim, typename... VolumeTags, typename... SliceTags> |
| void | add_slice_to_data (const gsl::not_null< Variables< tmpl::list< VolumeTags... > > * > volume_vars, const Variables< tmpl::list< SliceTags... > > &vars_on_slice, const Index< VolumeDim > &extents, const size_t sliced_dim, const size_t fixed_index) noexcept |
| | Adds data on a codimension 1 slice to a volume quantity. The slice has a constant logical coordinate in direction sliced_dim, slicing the volume at fixed_index in that dimension. For example, to add to the lower boundary of sliced_dim, pass 0 for fixed_index; to add to the upper boundary, pass extents[sliced_dim] - 1. More...
|
| |
| template<typename SpinWeightedType , Requires< is_any_spin_weighted_v< SpinWeightedType > and is_derived_of_vector_impl_v< typename SpinWeightedType::value_type > > = nullptr> |
| void | make_const_view (const gsl::not_null< const SpinWeightedType * > view, const SpinWeightedType &spin_weighted, const size_t offset, const size_t extent) noexcept |
| | Make the input view a const view of the const data spin_weighted, at offset offset and length extent. More...
|
| |
|
template<typename... Tags> |
| Variables< tmpl::list< Tags... > > | variables_from_tagged_tuple (const tuples::TaggedTuple< Tags... > &tuple) noexcept |
| | Construct a variables from the Tensors in a TaggedTuple.
|
| |
| template<typename VectorType , Requires< is_derived_of_vector_impl_v< VectorType > > = nullptr> |
| void | make_const_view (const gsl::not_null< const VectorType * > view, const VectorType &vector, const size_t offset, const size_t extent) noexcept |
| | Make the input view a const view of the const data vector, at offset offset and length extent. More...
|
| |
| template<typename R , typename T , typename ValueType > |
| std::remove_const_t< R > | make_with_value (const T &input, const ValueType &value) noexcept |
| | Given an object of type T, create an object of type R whose elements are initialized to value. More...
|
| |
| template<typename... TagsToSlice, size_t VolumeDim> |
| void | data_on_slice (const gsl::not_null< Variables< tmpl::list< TagsToSlice... > > * > interface_vars, const Index< VolumeDim > &element_extents, const size_t sliced_dim, const size_t fixed_index, const typename TagsToSlice::type &... tensors) noexcept |
| | Slices volume Tensors into a Variables More...
|
| |
| template<typename... TagsToSlice, size_t VolumeDim> |
| Variables< tmpl::list< TagsToSlice... > > | data_on_slice (const Index< VolumeDim > &element_extents, const size_t sliced_dim, const size_t fixed_index, const typename TagsToSlice::type &... tensors) noexcept |
| | Slices volume Tensors into a Variables More...
|
| |
| template<std::size_t VolumeDim, typename TagsList > |
| void | data_on_slice (const gsl::not_null< Variables< TagsList > * > interface_vars, const Variables< TagsList > &vars, const Index< VolumeDim > &element_extents, const size_t sliced_dim, const size_t fixed_index) noexcept |
| | Slices the data within vars to a codimension 1 slice. The slice has a constant logical coordinate in direction sliced_dim, slicing the volume at fixed_index in that dimension. For example, to get the lower boundary of sliced_dim, pass 0 for fixed_index; to get the upper boundary, pass extents[sliced_dim] - 1. More...
|
| |
| template<std::size_t VolumeDim, typename TagsList > |
| Variables< TagsList > | data_on_slice (const Variables< TagsList > &vars, const Index< VolumeDim > &element_extents, const size_t sliced_dim, const size_t fixed_index) noexcept |
| | Slices the data within vars to a codimension 1 slice. The slice has a constant logical coordinate in direction sliced_dim, slicing the volume at fixed_index in that dimension. For example, to get the lower boundary of sliced_dim, pass 0 for fixed_index; to get the upper boundary, pass extents[sliced_dim] - 1. More...
|
| |
| template<std::size_t VolumeDim, typename VectorType , typename... Structure> |
| void | data_on_slice (const gsl::not_null< Tensor< VectorType, Structure... > * > interface_tensor, const Tensor< VectorType, Structure... > &volume_tensor, const Index< VolumeDim > &element_extents, const size_t sliced_dim, const size_t fixed_index) noexcept |
| | Slices the data within volume_tensor to a codimension 1 slice. The slice has a constant logical coordinate in direction sliced_dim, slicing the volume at fixed_index in that dimension. For example, to get the lower boundary of sliced_dim, pass 0 for fixed_index; to get the upper boundary, pass extents[sliced_dim] - 1. More...
|
| |
| template<std::size_t VolumeDim, typename VectorType , typename... Structure> |
| Tensor< VectorType, Structure... > | data_on_slice (const Tensor< VectorType, Structure... > &volume_tensor, const Index< VolumeDim > &element_extents, const size_t sliced_dim, const size_t fixed_index) noexcept |
| | Slices the data within volume_tensor to a codimension 1 slice. The slice has a constant logical coordinate in direction sliced_dim, slicing the volume at fixed_index in that dimension. For example, to get the lower boundary of sliced_dim, pass 0 for fixed_index; to get the upper boundary, pass extents[sliced_dim] - 1. More...
|
| |
| template<std::size_t VolumeDim, typename VectorType , typename... Structure> |
| void | data_on_slice (const gsl::not_null< std::optional< Tensor< VectorType, Structure... > > * > interface_tensor, const std::optional< Tensor< VectorType, Structure... > > &volume_tensor, const Index< VolumeDim > &element_extents, const size_t sliced_dim, const size_t fixed_index) noexcept |
| | Slices the data within volume_tensor to a codimension 1 slice. The slice has a constant logical coordinate in direction sliced_dim, slicing the volume at fixed_index in that dimension. For example, to get the lower boundary of sliced_dim, pass 0 for fixed_index; to get the upper boundary, pass extents[sliced_dim] - 1. More...
|
| |
| template<std::size_t VolumeDim, typename VectorType , typename... Structure> |
| std::optional< Tensor< VectorType, Structure... > > | data_on_slice (const std::optional< Tensor< VectorType, Structure... > > &volume_tensor, const Index< VolumeDim > &element_extents, const size_t sliced_dim, const size_t fixed_index) noexcept |
| | Slices the data within volume_tensor to a codimension 1 slice. The slice has a constant logical coordinate in direction sliced_dim, slicing the volume at fixed_index in that dimension. For example, to get the lower boundary of sliced_dim, pass 0 for fixed_index; to get the upper boundary, pass extents[sliced_dim] - 1. More...
|
| |
| template<typename Tag , typename TagList > |
| constexpr Tag::type & | get (Variables< TagList > &v) noexcept |
| | Return Tag::type pointing into the contiguous array. More...
|
| |
| template<typename Tag , typename TagList > |
| constexpr const Tag::type & | get (const Variables< TagList > &v) noexcept |
| | Return Tag::type pointing into the contiguous array. More...
|
| |
Various useful data structures used in SpECTRE.