Shamrock 2025.10.0
Astrophysical Code
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public Attributes | Static Public Attributes | List of all members
shammath::paving_function_general_3d_shear_x< Tvec > Struct Template Reference

A structure for 3D paving functions with shearing along the x-axis and general boundary conditions. More...

#include <shammath/include/shammath/paving_function.hpp>

Public Types

using Tscal = shambase::VecComponent< Tvec >
 

Public Member Functions

Tvec f (Tvec x, int i, int j, int k) const
 Applies the paving function with shearing and boundary conditions.
 
Tvec f_inv (Tvec x, int i, int j, int k) const
 Applies the inverse of the paving function with shearing and boundary conditions.
 
AABB< Tvec > f_aabb (const AABB< Tvec > &aabb, int i, int j, int k) const
 
AABB< Tvec > f_aabb_inv (const AABB< Tvec > &aabb, int i, int j, int k) const
 
std::vector< std::array< int, 3 > > get_paving_index_intersecting (AABB< Tvec > aabb) const
 

Public Attributes

Tvec box_size
 The size of the box in each dimension.
 
Tvec box_center
 The center of the box in each dimension.
 
bool is_x_periodic
 
bool is_y_periodic
 
bool is_z_periodic
 
Tscal shear_x
 Shearing factor applied along the x-axis.
 

Static Public Attributes

static constexpr bool can_deform_aabb = false
 

Detailed Description

template<typename Tvec>
struct shammath::paving_function_general_3d_shear_x< Tvec >

A structure for 3D paving functions with shearing along the x-axis and general boundary conditions.

This structure supports both periodic and reflective boundary conditions in each dimension, with additional shearing applied along the x-axis.

Template Parameters
TvecA vector type.

Definition at line 249 of file paving_function.hpp.

Member Typedef Documentation

◆ Tscal

template<typename Tvec >
using shammath::paving_function_general_3d_shear_x< Tvec >::Tscal = shambase::VecComponent<Tvec>

Definition at line 254 of file paving_function.hpp.

Member Function Documentation

◆ f()

template<typename Tvec >
Tvec shammath::paving_function_general_3d_shear_x< Tvec >::f ( Tvec  x,
int  i,
int  j,
int  k 
) const
inline

Applies the paving function with shearing and boundary conditions.

Parameters
xThe input vector.
iThe periodic index along the x-axis.
jThe periodic index along the y-axis.
kThe periodic index along the z-axis.
Returns
The transformed vector.

Definition at line 277 of file paving_function.hpp.

◆ f_aabb()

template<typename Tvec >
AABB< Tvec > shammath::paving_function_general_3d_shear_x< Tvec >::f_aabb ( const AABB< Tvec > &  aabb,
int  i,
int  j,
int  k 
) const
inline

Definition at line 303 of file paving_function.hpp.

◆ f_aabb_inv()

template<typename Tvec >
AABB< Tvec > shammath::paving_function_general_3d_shear_x< Tvec >::f_aabb_inv ( const AABB< Tvec > &  aabb,
int  i,
int  j,
int  k 
) const
inline

Definition at line 307 of file paving_function.hpp.

◆ f_inv()

template<typename Tvec >
Tvec shammath::paving_function_general_3d_shear_x< Tvec >::f_inv ( Tvec  x,
int  i,
int  j,
int  k 
) const
inline

Applies the inverse of the paving function with shearing and boundary conditions.

Parameters
xThe input vector.
iThe periodic index along the x-axis.
jThe periodic index along the y-axis.
kThe periodic index along the z-axis.
Returns
The inverse transformed vector.

Definition at line 294 of file paving_function.hpp.

◆ get_paving_index_intersecting()

template<typename Tvec >
std::vector< std::array< int, 3 > > shammath::paving_function_general_3d_shear_x< Tvec >::get_paving_index_intersecting ( AABB< Tvec >  aabb) const
inline

Definition at line 311 of file paving_function.hpp.

Member Data Documentation

◆ box_center

template<typename Tvec >
Tvec shammath::paving_function_general_3d_shear_x< Tvec >::box_center

The center of the box in each dimension.

Definition at line 257 of file paving_function.hpp.

◆ box_size

template<typename Tvec >
Tvec shammath::paving_function_general_3d_shear_x< Tvec >::box_size

The size of the box in each dimension.

Definition at line 256 of file paving_function.hpp.

◆ can_deform_aabb

template<typename Tvec >
constexpr bool shammath::paving_function_general_3d_shear_x< Tvec >::can_deform_aabb = false
inlinestaticconstexpr

Definition at line 252 of file paving_function.hpp.

◆ is_x_periodic

template<typename Tvec >
bool shammath::paving_function_general_3d_shear_x< Tvec >::is_x_periodic

Boundary condition for x dimension (true for periodic, false for reflective).

Definition at line 259 of file paving_function.hpp.

◆ is_y_periodic

template<typename Tvec >
bool shammath::paving_function_general_3d_shear_x< Tvec >::is_y_periodic

Boundary condition for y dimension (true for periodic, false for reflective).

Definition at line 261 of file paving_function.hpp.

◆ is_z_periodic

template<typename Tvec >
bool shammath::paving_function_general_3d_shear_x< Tvec >::is_z_periodic

Boundary condition for z dimension (true for periodic, false for reflective).

Definition at line 263 of file paving_function.hpp.

◆ shear_x

template<typename Tvec >
Tscal shammath::paving_function_general_3d_shear_x< Tvec >::shear_x

Shearing factor applied along the x-axis.

Definition at line 266 of file paving_function.hpp.


The documentation for this struct was generated from the following file: