SpECTRE  v2024.04.12
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 

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.