SpECTRE  v2026.04.01
Loading...
Searching...
No Matches
transform Namespace Reference

Holds functions related to transforming between frames. More...

Namespaces

namespace  Tags
 Tags to represent the result of frame-transforming Variables.

Functions

template<typename DataType, size_t VolumeDim, typename SrcFrame, typename DestFrame>
void to_different_frame (const gsl::not_null< tnsr::ii< DataType, VolumeDim, DestFrame > * > dest, const tnsr::ii< DataType, VolumeDim, SrcFrame > &src, const Jacobian< DataType, VolumeDim, DestFrame, SrcFrame > &jacobian)
template<typename DataType, size_t VolumeDim, typename SrcFrame, typename DestFrame>
auto to_different_frame (const tnsr::ii< DataType, VolumeDim, SrcFrame > &src, const Jacobian< DataType, VolumeDim, DestFrame, SrcFrame > &jacobian) -> tnsr::ii< DataType, VolumeDim, DestFrame >
template<typename DataType, size_t VolumeDim, typename SrcFrame, typename DestFrame>
void to_different_frame (const gsl::not_null< Scalar< DataType > * > dest, const Scalar< DataType > &src, const Jacobian< DataType, VolumeDim, DestFrame, SrcFrame > &jacobian, const InverseJacobian< DataType, VolumeDim, DestFrame, SrcFrame > &inv_jacobian)
 Transforms a tensor to a different frame.
template<typename DataType, size_t VolumeDim, typename SrcFrame, typename DestFrame>
auto to_different_frame (Scalar< DataType > src, const Jacobian< DataType, VolumeDim, DestFrame, SrcFrame > &jacobian, const InverseJacobian< DataType, VolumeDim, DestFrame, SrcFrame > &inv_jacobian) -> Scalar< DataType >
 Transforms a tensor to a different frame.
template<typename DataType, size_t VolumeDim, typename SrcFrame, typename DestFrame>
void to_different_frame (const gsl::not_null< tnsr::I< DataType, VolumeDim, DestFrame > * > dest, const tnsr::I< DataType, VolumeDim, SrcFrame > &src, const Jacobian< DataType, VolumeDim, DestFrame, SrcFrame > &jacobian, const InverseJacobian< DataType, VolumeDim, DestFrame, SrcFrame > &inv_jacobian)
 Transforms a tensor to a different frame.
template<typename DataType, size_t VolumeDim, typename SrcFrame, typename DestFrame>
auto to_different_frame (const tnsr::I< DataType, VolumeDim, SrcFrame > &src, const Jacobian< DataType, VolumeDim, DestFrame, SrcFrame > &jacobian, const InverseJacobian< DataType, VolumeDim, DestFrame, SrcFrame > &inv_jacobian) -> tnsr::I< DataType, VolumeDim, DestFrame >
 Transforms a tensor to a different frame.
template<typename DataType, size_t VolumeDim, typename SrcFrame, typename DestFrame>
void to_different_frame (const gsl::not_null< tnsr::i< DataType, VolumeDim, DestFrame > * > dest, const tnsr::i< DataType, VolumeDim, SrcFrame > &src, const Jacobian< DataType, VolumeDim, DestFrame, SrcFrame > &jacobian, const InverseJacobian< DataType, VolumeDim, DestFrame, SrcFrame > &inv_jacobian)
 Transforms a tensor to a different frame.
template<typename DataType, size_t VolumeDim, typename SrcFrame, typename DestFrame>
auto to_different_frame (const tnsr::i< DataType, VolumeDim, SrcFrame > &src, const Jacobian< DataType, VolumeDim, DestFrame, SrcFrame > &jacobian, const InverseJacobian< DataType, VolumeDim, DestFrame, SrcFrame > &inv_jacobian) -> tnsr::i< DataType, VolumeDim, DestFrame >
 Transforms a tensor to a different frame.
template<typename DataType, size_t VolumeDim, typename SrcFrame, typename DestFrame>
void to_different_frame (const gsl::not_null< tnsr::iJ< DataType, VolumeDim, DestFrame > * > dest, const tnsr::iJ< DataType, VolumeDim, SrcFrame > &src, const Jacobian< DataType, VolumeDim, DestFrame, SrcFrame > &jacobian, const InverseJacobian< DataType, VolumeDim, DestFrame, SrcFrame > &inv_jacobian)
 Transforms a tensor to a different frame.
template<typename DataType, size_t VolumeDim, typename SrcFrame, typename DestFrame>
auto to_different_frame (const tnsr::iJ< DataType, VolumeDim, SrcFrame > &src, const Jacobian< DataType, VolumeDim, DestFrame, SrcFrame > &jacobian, const InverseJacobian< DataType, VolumeDim, DestFrame, SrcFrame > &inv_jacobian) -> tnsr::iJ< DataType, VolumeDim, DestFrame >
 Transforms a tensor to a different frame.
template<typename DataType, size_t VolumeDim, typename SrcFrame, typename DestFrame>
void to_different_frame (const gsl::not_null< tnsr::ii< DataType, VolumeDim, DestFrame > * > dest, const tnsr::ii< DataType, VolumeDim, SrcFrame > &src, const Jacobian< DataType, VolumeDim, DestFrame, SrcFrame > &jacobian, const InverseJacobian< DataType, VolumeDim, DestFrame, SrcFrame > &inv_jacobian)
 Transforms a tensor to a different frame.
template<typename DataType, size_t VolumeDim, typename SrcFrame, typename DestFrame>
auto to_different_frame (const tnsr::ii< DataType, VolumeDim, SrcFrame > &src, const Jacobian< DataType, VolumeDim, DestFrame, SrcFrame > &jacobian, const InverseJacobian< DataType, VolumeDim, DestFrame, SrcFrame > &inv_jacobian) -> tnsr::ii< DataType, VolumeDim, DestFrame >
 Transforms a tensor to a different frame.
template<typename DataType, size_t VolumeDim, typename SrcFrame, typename DestFrame>
void to_different_frame (const gsl::not_null< tnsr::II< DataType, VolumeDim, DestFrame > * > dest, const tnsr::II< DataType, VolumeDim, SrcFrame > &src, const Jacobian< DataType, VolumeDim, DestFrame, SrcFrame > &jacobian, const InverseJacobian< DataType, VolumeDim, DestFrame, SrcFrame > &inv_jacobian)
 Transforms a tensor to a different frame.
template<typename DataType, size_t VolumeDim, typename SrcFrame, typename DestFrame>
auto to_different_frame (const tnsr::II< DataType, VolumeDim, SrcFrame > &src, const Jacobian< DataType, VolumeDim, DestFrame, SrcFrame > &jacobian, const InverseJacobian< DataType, VolumeDim, DestFrame, SrcFrame > &inv_jacobian) -> tnsr::II< DataType, VolumeDim, DestFrame >
 Transforms a tensor to a different frame.
template<typename DataType, size_t VolumeDim, typename SrcFrame, typename DestFrame>
void to_different_frame (const gsl::not_null< tnsr::ijj< DataType, VolumeDim, DestFrame > * > dest, const tnsr::ijj< DataType, VolumeDim, SrcFrame > &src, const Jacobian< DataType, VolumeDim, DestFrame, SrcFrame > &jacobian, const InverseJacobian< DataType, VolumeDim, DestFrame, SrcFrame > &inv_jacobian)
 Transforms a tensor to a different frame.
template<typename DataType, size_t VolumeDim, typename SrcFrame, typename DestFrame>
auto to_different_frame (const tnsr::ijj< DataType, VolumeDim, SrcFrame > &src, const Jacobian< DataType, VolumeDim, DestFrame, SrcFrame > &jacobian, const InverseJacobian< DataType, VolumeDim, DestFrame, SrcFrame > &inv_jacobian) -> tnsr::ijj< DataType, VolumeDim, DestFrame >
 Transforms a tensor to a different frame.
template<typename ResultTensor, typename InputTensor, typename DataType, size_t Dim, typename SourceFrame, typename TargetFrame>
void first_index_to_different_frame (gsl::not_null< ResultTensor * > result, const InputTensor &input, const InverseJacobian< DataType, Dim, SourceFrame, TargetFrame > &inv_jacobian)
template<typename InputTensor, typename DataType, size_t Dim, typename SourceFrame, typename TargetFrame, typename ResultTensor = TensorMetafunctions::prepend_spatial_index< TensorMetafunctions::remove_first_index<InputTensor>, Dim, UpLo::Up, SourceFrame>>
ResultTensor first_index_to_different_frame (const InputTensor &input, const InverseJacobian< DataType, Dim, SourceFrame, TargetFrame > &inv_jacobian)
template<typename... ResultTags, typename... InputTags, size_t Dim, typename SourceFrame, typename TargetFrame>
void first_index_to_different_frame (const gsl::not_null< Variables< tmpl::list< ResultTags... > > * > result, const Variables< tmpl::list< InputTags... > > &input, const InverseJacobian< DataVector, Dim, SourceFrame, TargetFrame > &inv_jacobian)
 Transforms the first index of all tensors in the Variables to a different frame.
template<typename... InputTags, size_t Dim, typename SourceFrame, typename TargetFrame, typename ResultVars = Variables<tmpl::list< Tags::TransformedFirstIndex<InputTags, SourceFrame>...>>>
ResultVars first_index_to_different_frame (const Variables< tmpl::list< InputTags... > > &input, const InverseJacobian< DataVector, Dim, SourceFrame, TargetFrame > &inv_jacobian)
 Transforms the first index of all tensors in the Variables to a different frame.

Detailed Description

Holds functions related to transforming between frames.

Function Documentation

◆ first_index_to_different_frame() [1/2]

template<typename... ResultTags, typename... InputTags, size_t Dim, typename SourceFrame, typename TargetFrame>
void transform::first_index_to_different_frame ( const gsl::not_null< Variables< tmpl::list< ResultTags... > > * > result,
const Variables< tmpl::list< InputTags... > > & input,
const InverseJacobian< DataVector, Dim, SourceFrame, TargetFrame > & inv_jacobian )

Transforms the first index of all tensors in the Variables to a different frame.

See single-Tensor overload for details.

◆ first_index_to_different_frame() [2/2]

template<typename... InputTags, size_t Dim, typename SourceFrame, typename TargetFrame, typename ResultVars = Variables<tmpl::list< Tags::TransformedFirstIndex<InputTags, SourceFrame>...>>>
ResultVars transform::first_index_to_different_frame ( const Variables< tmpl::list< InputTags... > > & input,
const InverseJacobian< DataVector, Dim, SourceFrame, TargetFrame > & inv_jacobian )

Transforms the first index of all tensors in the Variables to a different frame.

See single-Tensor overload for details.