SpECTRE  v2024.12.16
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
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.