LinearPeriodicCoordinates1D< NT > Class Template Reference#
|
DiFfRG
Discretization Framework for functional Renormalization Group flows
|
Linear coordinates on a periodic axis of period (stop - start). More...
#include <coordinates.hh>
Public Types | |
| using | ctype = NT |
Public Member Functions | |
| LinearPeriodicCoordinates1D (size_t grid_extent, double start, double stop) | |
| template<typename NT2 > | |
| LinearPeriodicCoordinates1D (const LinearPeriodicCoordinates1D< NT2 > &other) | |
| device::array< size_t, 1 > KOKKOS_FORCEINLINE_FUNCTION | from_linear_index (size_t i) const |
| template<typename IT > | |
| NT KOKKOS_FORCEINLINE_FUNCTION | forward (const IT &x) const |
| Transform from the grid to the physical space. | |
| template<typename IT > | |
| device::array< NT, 1 > KOKKOS_FORCEINLINE_FUNCTION | forward (const device::array< IT, 1 > &x) const |
| NT KOKKOS_FORCEINLINE_FUNCTION | backward (const NT &y) const |
| Transform from the physical space to the grid, folded into [0, grid_extent) | |
| size_t KOKKOS_FORCEINLINE_FUNCTION | size () const |
| device::array< size_t, 1 > KOKKOS_FORCEINLINE_FUNCTION | sizes () const |
| std::string | to_string () const |
Public Attributes | |
| const NT | start |
| const NT | stop |
Static Public Attributes | |
| static constexpr size_t | dim = 1 |
| static constexpr bool | periodic = true |
Private Attributes | |
| const size_t | grid_extent |
| const NT | extent |
| NT | a |
Friends | |
| template<typename NT2 > | |
| bool | operator== (const LinearPeriodicCoordinates1D< NT > &lhs, const LinearPeriodicCoordinates1D< NT2 > &rhs) |
Detailed Description
requires std::is_floating_point_v<NT>
class DiFfRG::LinearPeriodicCoordinates1D< NT >
Linear coordinates on a periodic axis of period (stop - start).
In contrast to LinearCoordinates1D, the endpoint is excluded: the grid points are start, start + a, ..., stop - a with a = (stop - start) / grid_extent, because stop and start describe the same physical point. For an angle this means one full plane of grid points less than the naive [start, stop] grid, and no duplicated, unconstrained degrees of freedom.
backward() folds the returned fractional index into [0, grid_extent); interpolators aware of is_periodic_coordinate_v additionally wrap the upper stencil index around to 0.
Member Typedef Documentation
◆ ctype
| using DiFfRG::LinearPeriodicCoordinates1D< NT >::ctype = NT |
Constructor & Destructor Documentation
◆ LinearPeriodicCoordinates1D() [1/2]
|
inline |
◆ LinearPeriodicCoordinates1D() [2/2]
|
inline |
Member Function Documentation
◆ backward()
|
inline |
Transform from the physical space to the grid, folded into [0, grid_extent)
- Parameters
-
y physical coordinate
- Returns
- double grid coordinate
◆ forward() [1/2]
|
inline |
◆ forward() [2/2]
|
inline |
Transform from the grid to the physical space.
- Parameters
-
x grid coordinate
- Returns
- NumberType physical coordinate
◆ from_linear_index()
|
inline |
◆ size()
|
inline |
◆ sizes()
|
inline |
◆ to_string()
|
inline |
Friends And Related Symbol Documentation
◆ operator==
|
friend |
Member Data Documentation
◆ a
|
private |
◆ dim
|
staticconstexpr |
◆ extent
|
private |
◆ grid_extent
|
private |
◆ periodic
|
staticconstexpr |
◆ start
| const NT DiFfRG::LinearPeriodicCoordinates1D< NT >::start |
◆ stop
| const NT DiFfRG::LinearPeriodicCoordinates1D< NT >::stop |
The documentation for this class was generated from the following file:
- /home/runner/work/DiFfRG_current/DiFfRG_current/DiFfRG/include/DiFfRG/discretization/coordinates/coordinates.hh
Generated by