Loading...
Searching...
No Matches
local_basis_trafo_normal_tangential.hpp File Reference

Go to the source code of this file.

Namespaces

namespace  terra
 
namespace  terra::linalg
 Contains linear algebra utilities and functions for the Terra project.
 
namespace  terra::linalg::trafo
 

Functions

template<std::floating_point ScalarType>
dense::Mat< ScalarType, 3, 3 > terra::linalg::trafo::trafo_mat_cartesian_to_normal_tangential (const dense::Vec< ScalarType, 3 > &n_input)
 Constructs a robust orthonormal transformation matrix from Cartesian to (normal–tangential–tangential) coordinates.
 
template<std::floating_point ScalarType>
dense::Mat< ScalarType, 3, 3 > terra::linalg::trafo::trafo_mat_normal_tangential_to_cartesian_trafo (const dense::Vec< ScalarType, 3 > &n_input)
 Constructs the inverse transformation matrix from (normal–tangential–tangential) to Cartesian coordinates.
 
template<std::floating_point ScalarType, std::floating_point ScalarTypeGrid, util::FlagLike FlagType>
void terra::linalg::trafo::cartesian_to_normal_tangential_in_place (VectorQ1Vec< ScalarType, 3 > &vec_cartesian, const grid::Grid3DDataVec< ScalarTypeGrid, 3 > &coords_shell, const grid::Grid4DDataScalar< FlagType > mask_data, const FlagType &flag)
 
template<std::floating_point ScalarType, std::floating_point ScalarTypeGrid, util::FlagLike FlagType>
void terra::linalg::trafo::normal_tangential_to_cartesian_in_place (VectorQ1Vec< ScalarType, 3 > &vec_normal_tangential, const grid::Grid3DDataVec< ScalarTypeGrid, 3 > &coords_shell, const grid::Grid4DDataScalar< FlagType > mask_data, const FlagType &flag)